Verwenden Sie Workspace ONE Intelligence und Ihren ServiceNow-Dienst, um die Installation von Anwendungen anzufordern und zu genehmigen. Starten Sie die Konfiguration in ServiceNow, und fügen Sie dann Informationen zu Ihrer ServiceNow-Verbindung in Workspace ONE Intelligence hinzu. Bearbeiten Sie zuletzt die App-Zuweisung in Workspace ONE UEM.

Voraussetzungen

Lassen Sie die aufgeführten Integrationen, Systeme und Einstellungen vor der Verwendung von App-Genehmigungen konfigurieren.

Prozedur

  1. Richten Sie ServiceNow ein, um eingehende App-Anforderungen zu verarbeiten, sodass Sie Ihre Instanz- und Genehmigungsrichtlinien anpassen können. Dieser Vorgang verwendet die skriptbasierte REST API-Funktion von ServiceNow.
    Um den Anforderungsprozess zu starten, sendet Workspace ONE Intelligence eine Anforderung wie den Beispielcode an ServiceNow. Anforderungen enthalten Details zu Benutzern, Geräten und Anwendungen, die für die Installation angefordert werden.
    {
      "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. Melden Sie sich bei ServiceNow an, und suchen Sie nach skriptbasierten REST APIs.
    2. Fügen Sie eine skriptbasierte REST API hinzu.
    3. Geben Sie im Textfeld Name einen beschreibenden Namen ein, wie z. B. Workspace ONE-Anwendungsgenehmigung.
    4. Geben Sie die API-ID als appapproval ein, und notieren Sie sich den API-Namespace, da Sie ihn später in Workspace ONE Intelligence in diesem Prozess eingeben.

    5. Wechseln Sie zum Abschnitt Ressourcen, und fügen Sie eine Ressource hinzu.
    6. Geben Sie den Namen der Ressource als Anforderung ein.
    7. Verwenden Sie POST für die HTTP-Methode.
    8. Stellen Sie sicher, dass der relative Pfad /request ist.
      Der Ressourcenpfad wird als /api/<namespace>/appapproval/request angezeigt.
      Wichtig: Wenn der Pfad nicht in diesem Format vorliegt, schlägt die Anforderung fehl. Um das Problem zu beheben, überprüfen Sie, ob die skriptbasierte REST API und die Ressource den richtigen Namen haben.
    9. Konfigurieren Sie das Skript so, dass es Ihrer Umgebung entspricht.

      Speichern Sie die Werte als Teil der ServiceNow-Anforderung. Durch das Speichern der Werte wird die ausgehende API-Anforderung kompiliert, nachdem das Anforderungsticket genehmigt oder abgelehnt wurde.

      Sie können den Beispielcode für Ihre Bereitstellung anpassen. Sie können ein Cart-Element innerhalb einer Anforderung erstellen oder den Benutzernamen mit der SYSID Ihres Systems verknüpfen.

      (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. Fügen Sie dem Anforderungsticket mit Tabellen in ServiceNow benutzerdefinierte Felder hinzu. Benutzerdefinierte Felder helfen bei der Kompilierung der ausgehenden Genehmigungs- und Ablehnungs-API-Anforderungen an Workspace ONE Intelligence.
    1. Suchen Sie in der ServiceNow-Navigationsleiste nach Tabellen, und wählen Sie Systemdefinition > Tabellen aus.
    2. Suchen Sie nach dem Namen der Tabelle sc_request, und öffnen Sie sie, um Spaltendetails anzuzeigen.
      Wenn Sie nach der Tabellenbezeichnung suchen, lautet die Bezeichnung der Tabelle request.
    3. Fügen Sie Spalten hinzu.
      • Fügen Sie die erforderlichen Werte hinzu, die das System an Workspace ONE Intelligence zurückgibt, und fügen Sie den entsprechenden Wert in der API-Anforderung hinzu.
        • ApprovalNotify.URL = UEM-Callback-URL
        • DeviceId = UEM-Geräte-ID
        • RequestId = UEM-Anforderungs-ID
      • Fügen Sie optionale Werte hinzu.
        • UserId = UEM-Benutzer-ID
        • user_name = Anfordernder Benutzer
        • Notes = UEM-Hinweise
      Typ Spaltenbezeichnung Spaltenname Maximale Länge
      Zeichenkette UEM-Callback-URL u_uem_callback_url 2048
      Ganzzahl UEM-Geräte-ID u_uem_device_id n.z.
      Zeichenkette UEM-Anforderungs-ID u_uem_request_id 40
      Ganzzahl UEM-Benutzer-ID u_uem_user_id n.z.
      Zeichenkette Anfordernder Benutzer u_requesting_user 40
      Zeichenkette UEM-Hinweise u_uem_notes 4000
      Hinweis: Wenn Sie den standardmäßigen Spaltennamen ändern, aktualisieren Sie das Skript, um den aktualisierten Spaltennamen zu verwenden.
    4. Wählen Sie Aktualisieren aus, und speichern Sie die Tabelle.
    5. Optional können Sie Formularabschnitte in der System-Benutzeroberfläche verwenden, um Spalten und Werte aus der Benutzeroberfläche auszublenden. Mit dem Ausblenden von Spalten und Werten wird festgelegt, dass diese nur in API-Anforderungen verwendet werden.
  3. Wechseln Sie in ServiceNow zu Flow Designer > Neu > Aktion, um eine Aktion für einen Workflow zu konfigurieren.
    ServiceNow-Workflows senden eine Genehmigungs- oder Ablehnungsantwort an Workspace ONE Intelligence.
    1. Geben Sie einen Namen und Metadaten in Aktionseigenschaften ein.

    2. Definieren Sie Eingaben für die Aktion.
      • Request ID
      • Device ID
      • Updated By
      • Notes
      • Updated At
      • Callback URL
      • Approval

    3. Fügen Sie einen Skript-Schritt hinzu, indem Sie das Pluszeichen (+) im Abschnitt Aktionsgliederung auswählen. Navigieren Sie dann zu Dienstprogramme > Skript-Schritt. Der Skript-Schritt konvertiert die Zeichenfolge des Genehmigungsstatus in Großbuchstaben, um den API-Aufruf vorzubereiten.
      1. Definieren Sie die Eingabevariable als approval_status, und ziehen Sie sie in den Genehmigungswert.
      2. Fügen Sie diesen Beispielcode hinzu, der den Genehmigungsstatus in Großbuchstaben konvertiert.
        (function execute(inputs, outputs) {
        var  approval_lc = inputs.approval_status;
         
        outputs.ApprovalStatus = approval_lc.toUpperCase();
        })(inputs, outputs);
      3. Definieren Sie die Ausgabevariable als ApprovalStatus.

    4. Fügen Sie der Aktion einen REST-Schritt hinzu.
      1. Verwenden Sie die Variable Callback URL als Base URL-Wert.
      2. Verwenden Sie POST als -HTTP-Methode.
      3. Fügen Sie den Header Inhaltstyp = application/json hinzu.
      4. Definieren Sie den Request Type als Text.
      5. Geben Sie die Anforderungstext-Nutzlast wie den Beispielcode ein. Ersetzen Sie die Werte im Beispielcode durch Ihre Datenvariablen.
        {
        "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. Speichern Sie die Aktion.
  4. Erstellen Sie in ServiceNow einen Workflow mit der Genehmigungsaktion, abhängig von den Genehmigungsrichtlinien Ihrer Organisation.
    1. Wählen Sie im Flow Designer Neu aus.
    2. Füllen Sie Metadaten mit Eigenschaften für Flow, Anwendung und Ausführen als auf.

    3. Um einen Auslöser zu erstellen, verwenden Sie Aktualisiert zum Suchen nach Änderungen am Ticket-Status.

    4. Wählen Sie Request[sc_request] als Tabelle aus.
    5. Definieren Sie eine Bedingung als [Genehmigung – ist eines von – Genehmigt, Abgelehnt] und [UEM-Callback-URL – ist nicht leer]
    6. Wählen Sie Einmal für Auslöser ausführen aus.

    7. Fügen Sie die Aktion AppApproval hinzu.

    8. Fügen Sie die entsprechenden Werte aus der Anforderungstabelle hinzu, die mit den erforderlichen Aktionseingaben übereinstimmen.

    9. Speichern und aktivieren Sie den Workflow.
  5. Fügen Sie in Workspace ONE Intelligence den skriptbasierten REST API-Namespace hinzu.
    1. Wechseln Sie in Workspace ONE Intelligence zu Einstellungen > Integrationen > ServiceNow.
    2. Bearbeiten Sie die Verbindung, um den API-Namespace einzubeziehen.
      Sie haben diesen Wert aufgezeichnet, während Sie die skriptbasierte REST API zu ServiceNow hinzugefügt haben.

  6. Damit die Genehmigung erforderlich ist, bearbeiten Sie die App-Zuweisung in Workspace ONE UEM.
    Durch das Bearbeiten einer App-Zuweisung für die Genehmigungsanforderung können Benutzer Anwendungen mit dem Workspace ONE Intelligent Hub auf Windows 10-Geräten installieren.
    1. Navigieren Sie in der Workspace ONE UEM Console zu der entsprechenden App, und bearbeiten Sie die Zuweisung.
    2. Aktivieren Sie Genehmigung zur Installation erforderlich.