Utilisez Workspace ONE Intelligence et votre service ServiceNow pour demander et approuver l'installation d'applications. Commencez par la configuration dans ServiceNow, puis ajoutez des informations à votre connexion ServiceNow dans Workspace ONE Intelligence et terminez par la modification de l'attribution d'application dans Workspace ONE UEM.

Conditions préalables

Configurez les intégrations, les systèmes et les paramètres répertoriés avant d'utiliser les approbations d'application.

Procédure

  1. Configurez ServiceNow pour gérer les demandes d'application entrantes afin de pouvoir personnaliser vos stratégies d'instance et d'approbation. Ce processus utilise la capacité de REST API scriptée de ServiceNow.
    Pour démarrer le processus de demande, Workspace ONE Intelligence envoie une demande à ServiceNow, comme dans cet exemple de code. Les demandes comprennent des détails sur les utilisateurs, les terminaux et les applications demandés pour l'installation.
    {
      "RequestId": "bffb4469-56fb-4141-9ab0-0897f65143ba",
      "RequestFor": {
        "UserId": "15",
        "UserAttributes": {
          "user_name": "username",
          "last_name": "user",
          "first_name": "name",
          "email": "username@example.com"
        }
      },
      "Domain": "${domain}",
      "DeviceId": 123,
      "DeviceProperties": {
        "name": "Device Name",
        "device_udid": "F11C43E8307092418D7D5B0D9B48F235",
        "platform": "Windows 10"
      },
      "Notes": "Notes",
      "CatalogItem": {
        "Id": "267",
        "Name": "App Name",
        "Categories": null,
        "Properties": {
          "package_id": "{12345A78-40C1-2702-0000-000004000000}",
          "version": "9.20.0",
          "platform": "WinRT"
        }
      },
      "DueDate": 1568989813956,
      "Links": {
        "ApprovalNotify": {
          "Url": "<CallbackURL>"
        }
      }
    }
    1. Connectez-vous à ServiceNow et recherchez REST API scriptées.
    2. Ajoutez une REST API scriptée.
    3. Entrez un nom descriptif, par exemple Approbation d'application Workspace ONE, dans la zone de texte Nom.
    4. Entrez appapproval comme ID d'API et notez votre espace de noms de l'API, car vous devrez l'entrer dans Workspace ONE Intelligence plus tard dans ce processus.

    5. Accédez à la section Ressources et ajoutez une Ressource.
    6. Entrez Request comme Nom de la ressource.
    7. Utilisez POST pour la Méthode HTTP.
    8. Vérifiez que le Chemin d'accès relatif est /request.
      Le chemin de la ressource s'affiche sous la forme /api/<namespace>/appapproval/request.
      Important : Si le chemin n'a pas ce format, la demande échoue. Pour corriger le problème, vérifiez que la REST API scriptée et la ressource ont les noms corrects.
    9. Configurez le script pour qu'il corresponde à votre environnement.

      Stockez les valeurs dans la demande ServiceNow. Le stockage des valeurs compile la demande API sortante après l'approbation ou le rejet du ticket de demande.

      Vous pouvez personnaliser l'exemple de code selon votre déploiement. Vous pouvez créer un élément de panier au sein d'une demande ou lier le nom d'utilisateur au SYSID de votre système.

      (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
          var RequestID = request.body.data.RequestId;
          var CallbackURL = request.body.data.Links.ApprovalNotify.Url;
          var DeviceID = request.body.data.DeviceId;
          var Notes = request.body.data.Notes;
          var AppName = request.body.data.CatalogItem.Name;
          var UserID = request.body.data.RequestFor.UserId;
          var UserName = request.body.data.RequestFor.UserAttributes.user_name;
          var FirstName = request.body.data.RequestFor.UserAttributes.first_name;
          var LastName = request.body.data.RequestFor.UserAttributes.last_name;
          gs.info("Request Recieved");
          var create = new GlideRecord('sc_request');
          create.initialize();
          create.setValue('short_description',"Request for Installation of " + AppName);
          create.setValue('description',FirstName + " " + LastName + " Requests Installation of " + AppName);
          create.setValue('u_uem_callback_url',CallbackURL);
          create.setValue('u_uem_notes',Notes);
          create.setValue('u_uem_device_id',DeviceID);
          create.setValue('u_uem_request_id',RequestID);
          create.setValue('u_uem_user_id',UserID);
          create.setValue('u_requesting_user',UserName);
           
          create.insert();
           
          response.setStatus(200);
      })(request, response);
  2. Ajoutez des champs personnalisés au ticket de demande grâce aux tables de ServiceNow. Les champs personnalisés permettent de compiler les demandes d'approbation et de rejet sortantes de l'API pour Workspace ONE Intelligence.
    1. Recherchez Tables dans la barre de navigation de ServiceNow et sélectionnez Définition du système > Tables.
    2. Recherchez le Nom de la table sc_request et ouvrez l'élément pour afficher les détails des colonnes.
      Si vous recherchez au moyen de l'étiquette de la table, l'étiquette de la table est demande.
    3. Ajoutez des colonnes.
      • Ajoutez les valeurs requises que le système renvoie à Workspace ONE Intelligence et ajoutez leur valeur respective dans la demande API.
        • ApprovalNotify.URL = URL de rappel UEM
        • DeviceId = ID du terminal UEM
        • RequestId = ID de la demande UEM
      • Ajoutez des valeurs facultatives.
        • UserId = ID de l'utilisateur UEM
        • user_name = utilisateur source de la demande
        • Notes = notes UEM
      Type Étiquette de colonne Nom de colonne Longueur maximale
      Chaîne URL de rappel UEM u_uem_callback_url 2048
      Nombre entier ID du terminal UEM u_uem_device_id NA
      Chaîne ID de la demande UEM u_uem_request_id 40
      Nombre entier ID de l'utilisateur UEM u_uem_user_id NA
      Chaîne Utilisateur source de la demande u_requesting_user 40
      Chaîne Notes UEM u_uem_notes 4000
      Note : Si vous modifiez le Nom de colonne par défaut, mettez à jour votre script pour utiliser le nom de colonne mis à jour.
    4. Sélectionnez Mettre à jour et enregistrez la table.
    5. Vous pouvez également utiliser Sections du formulaire dans l'Interface utilisateur du système pour masquer les colonnes et les valeurs de l'interface utilisateur. Masquer les colonnes et les valeurs restreint leur utilisation aux demandes d'API uniquement.
  3. Dans ServiceNow, accédez à Flow Designer > Nouveau > Action pour configurer une action pour un workflow.
    Les workflows ServiceNow envoient une réponse d'approbation ou de rejet à Workspace ONE Intelligence.
    1. Entrez un nom et des métadonnées dans Propriétés de l'action.

    2. Définissez les Entrées pour l'action.
      • Request ID
      • Device ID
      • Updated By
      • Notes
      • Updated At
      • Callback URL
      • Approval

    3. Ajoutez une Étape de script en sélectionnant le signe plus (+) dans la section Plan des actions. Ensuite, allez dans Utilitaires > Étape de script. L'étape de script convertit la chaîne d'état d'approbation en majuscules pour préparer l'appel d'API.
      1. Définissez la variable d'entrée sur approval_status et faites-la glisser sur la valeur d'approbation.
      2. Ajoutez cet exemple de code qui convertit l'état d'approbation en majuscules.
        (function execute(inputs, outputs) {
        var  approval_lc = inputs.approval_status;
         
        outputs.ApprovalStatus = approval_lc.toUpperCase();
        })(inputs, outputs);
      3. Définissez la variable de sortie sur ApprovalStatus.

    4. Ajoutez une étape REST à l'action.
      1. Utilisez la variable Callback URL comme valeur pour Base URL.
      2. Utilisez POST comme Méthode HTTP.
      3. Ajoutez l'en-tête Content-Type =application/json.
      4. Définissez le Request Type sur Texte.
      5. Entrez l'exemple de code dans le champ de données Corps de la demande. Remplacez les valeurs dans l'exemple de code par vos variables de données.
        {
        "data":{
            "request_id": "action-Request ID", 
            "device_id": "action-Device ID", 
            "approval_status": "step-Script step-ApprovalStatus", 
            "updated_by": "action-Updated By", 
            "notes" : "action-Notes", 
            "updated_at" : "action-Updated At"
            }
        }

    5. Enregistrez l'action.
  4. Dans ServiceNow, créez un workflow avec l'action d'approbation, en fonction des stratégies d'approbation de votre organisation.
    1. Dans Flow Designer, sélectionnez Nouveau.
    2. Remplissez les métadonnées incluant des propriétés pour Flux, Application et Exécuter en tant que.

    3. Pour créer un déclencheur, utilisez Mis à jour afin de rechercher les modifications apportées aux états des tickets.

    4. Sélectionnez la Demande[sc_request] comme Table.
    5. Définissez une Condition comme [Approbation : est une des valeurs parmi Approuvé, Rejeté] et [URL de rappel UEM : n'est pas vide]
    6. Sélectionnez Une fois pour Exécuter le déclencheur.

    7. Ajoutez l'action AppApproval.

    8. À partir de la table des demandes, ajoutez les valeurs appropriées qui correspondent aux entrées d'action requises.

    9. Enregistrez et activez le workflow.
  5. Dans Workspace ONE Intelligence, ajoutez l'espace de noms de la REST API scriptée.
    1. Dans Workspace ONE Intelligence, accédez à Paramètres > Intégrations > ServiceNow.
    2. Modifiez la connexion pour inclure l'Espace de noms de l'API.
      Vous aviez noté cette valeur lors de l'ajout de la REST API scriptée à ServiceNow.

  6. Pour exiger une approbation, modifiez l'attribution d'application dans Workspace ONE UEM.
    La modification d'une attribution d'application pour exiger une approbation permet aux utilisateurs de demander l'installation d'applications avec le Workspace ONE Intelligent Hub sur des terminaux Windows 10.
    1. Dans Workspace ONE UEM Console, accédez à l'application appropriée et modifiez l'attribution.
    2. Activez Approbation requise pour l'installation.