Workspace ONE Intelligence でアプリ承認ワークフローを統合することで、アプリケーションのライセンス コストを制御できます。

Win32 アプリケーションには、ライセンスが高額なものが多数あります。アプリ承認を使用すれば、それらのアプリケーションをインストールできるユーザーを制限して、それらのリソースの管理コストを制御できます。

この統合によって、複数のシステムが連携してアプリ承認要求を処理できます。

  • Workspace ONE UEM - アプリケーションを管理し、Workspace ONE Intelligent Hub カタログおよびデバイスに配布します。
  • VMware Workspace ONE Intelligence:ServiceNow 環境と Workspace ONE UEM 環境の間で通信します。
  • ServiceNow - 要求および承認プロセスを管理します。

テクニカル プレビュー

Workspace ONE Intelligence には、テクニカル プレビューとしてアプリの承認機能が備わっています。テクニカル プレビュー機能は完全にはテストされておらず、一部の機能が期待どおりに機能しない場合があります。ただし、これらのプレビューは、Workspace ONE Intelligence で現在の機能を改善し、将来的な機能強化を開発するために役立ちます。テクニカル プレビュー機能を使用するには、VMware の担当者にお問い合わせください。

アプリ承認プロセス

アプリ承認は、ユーザーが Windows 10 デバイスへのアプリのインストールを要求することから始まります。

  1. ユーザーが、デバイス上の Workspace ONE Intelligent Hub アプリを通じてアプリケーションのインストールを要求します。
  2. VMware Workspace ONE Intelligence は ServiceNow に要求を送信します。要求には、ユーザー、デバイス、および要求されたアプリケーションに関する情報が含まれています。
  3. ServiceNow が、ワークフロー(ServiceNow で構成)と会社のポリシーに従って要求を処理します。
  4. ServiceNow は VMware Workspace ONE Intelligence に応答を返します。応答には、承認または拒否が含まれます。
    • 承認の場合、アプリケーションの自動インストールが実行されます。
    • 拒否の場合、Workspace ONE Intelligent Hub の要求状態に戻ります。
  5. 承認された場合、Workspace ONE UEM は、アプリをデバイスにインストールするために Workspace ONE Intelligent Hub に送信します。

アプリ承認の構成

Workspace ONE Intelligence および ServiceNow サービスを使用して、アプリケーションのインストールを要求し、承認します。ServiceNow での構成を開始し、 Workspace ONE Intelligence で ServiceNow 接続に情報を追加し、Workspace ONE UEM. でのアプリ割り当ての編集で終了します。

前提条件

アプリ承認を使用する前に、リストされた統合、システム、および構成された設定を用意します。

  • Workspace ONE UEM v1910 以降を使用します。
  • Workspace ONE UEM を Workspace ONE Intelligence に登録します。
  • ServiceNow インスタンスを ServiceNow Integration Hub プラグインとともに用意し、ServiceNow を Workspace ONE Intelligence に登録します。
  • Hub サービスを使用し、アプリ カタログとして Intelligent Hub アプリを使用します。
  • Windows 10 デバイスを使用します。
  • Workspace ONE UEM で管理されているネイティブ アプリ(内部、パブリック、および購入済み)を使用します。
  • アプリケーションの割り当てについては、Workspace ONE UEM を確認してください。アプリケーションの割り当てについては、「アプリケーションに割り当てと除外を追加する」を参照してください。

受信したアプリケーションの要求を処理するように ServiceNow を設定します

受信するアプリ要求を処理するように ServiceNow を設定します。これにより、インスタンスおよび承認ポリシーをカスタマイズできるようになります。このプロセスでは、ServiceNow の Scripted REST API 機能を使用します。

要求プロセスを開始するために、Workspace ONE Intelligence は、サンプル コードのような要求を ServiceNow に送信します。要求には、ユーザー、デバイス、およびインストールが要求されたアプリケーションに関する詳細が含まれます。

{
  "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. ServiceNow にログインして Scripted REST APIs を検索します。
  2. Scripted REST API を追加します。
  3. [名前] テキスト ボックスに、Workspace ONE App Approval のようなわかりやすい名前を入力します。
  4. appapproval のような APIAPI ID を入力し、API の名前空間を記録します。これは、このプロセスの後で Workspace ONE Intelligence に入力するためです。API ID を入力します。
  5. [リソース] セクションに移動し、リソースを追加します。
  6. [リソース名] に「要求」と入力します。
  7. HTTP メソッドには POST を使用します。
  8. 相対パスが /request であることを確認します。リソース パスが /api/<namespace>/appapproval/request として表示されます。パスがこの形式でない場合、要求が失敗します。解決するには、Scripted REST API とリソースに正しい名前があることを確認します。
  9. 環境に合わせてスクリプトを構成します。ServiceNow 要求の一部として値を保存します。値を保存すると、要求チケットが承認または拒否された後に送信 API 要求がコンパイルされます。サンプル コードを目的の展開用にカスタマイズできます。要求内でカート アイテムを作成することも、ユーザー名をシステムの SYSID にリンクすることもできます。
(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);

要求チケット ServiceNow にカスタム フィールドを追加します

ServiceNow のテーブルを使用して、要求チケットにカスタム フィールドを追加します。カスタム フィールドは、Workspace ONE Intelligence に送信する承認および拒否 API 要求をコンパイルするのに役立ちます。

  1. ServiceNow ナビゲーション バーで Tables を検索し、[システム定義] > [テーブル] の順に選択します。
  2. テーブル名 sc_request を検索し、開いて列の詳細を表示します。テーブル ラベルで検索する場合、テーブルのラベルは要求です。
    1. システムが Workspace ONE Intelligence に返す必要な値を追加することで列を追加し、API 要求でそれぞれの値を追加します。
    2. ApprovalNotify.URL = UEM コールバック URL
    3. DeviceId = UEM デバイス ID
    4. RequestId = UEM 要求 ID
  3. オプションの値を追加します。既定の列名を変更した場合は、更新された列名を使用するようにスクリプトを更新します。
    • UserId = UEM ユーザー ID
    • user_name = 要求しているユーザー
    • Notes = UEM メモ

| タイプ | 列ラベル | 列名 | 最大長 | |---------|------------------|--------------------|------------| | String | UEM コールバック URL | u_uem_callback_url | 2048 | | 整数 | UEM デバイス ID | u_uem_device_id | 該当なし | | String | UEM 要求 ID | u_uem_request_id | 40 | | 整数 | UEM ユーザー ID | u_uem_user_id | 該当なし | | String | 要求しているユーザー | u_requesting_user | 40 | | String | UEM Notes | u_uem_notes | 4000 |

  1. [更新] を選択し、テーブルを保存します。
  2. 必要に応じて、[システム UI][フォーム セクション] を使用して、ユーザー インターフェイスの列および値を非表示にすることもできます。列および値を非表示にすると、それらは API 要求でのみ使用されるように設定されます。

ServiceNow でアクションを構成します

  1. ServiceNow で、[フロー デザイナー] > [新規] > [アクション] の順に移動して、ワークフローのアクションを構成します。ServiceNow ワークフローにより、承認または拒否応答が Workspace ONE Intelligence. に送信されます。
  2. [アクションのプロパティ] で、名前とメタデータを入力します。 アクションのプロパティ
  3. アクションの [入力] を定義します。
    • ID を要求
    • デバイス ID
    • 更新者
    • メモ
    • 更新日
    • コールバック URL
    • 承認 入力
  4. [アクションのアウトライン] セクションのプラス記号 (+) を選択して、スクリプト ステップを追加します。次に、[ユーティリティ] > [スクリプト ステップ] の順に移動します。スクリプト ステップは、API 呼び出しを準備するために承認状態文字列を大文字に変換します。
    • 入力変数を approval_status として定義し、承認値にドラッグします。
    • 承認状態を大文字に変換するサンプル コードを追加します。
    • 出力変数を ApprovalStatus として定義します。
(function execute(inputs, outputs) {
var  approval_lc = inputs.approval_status;
 
outputs.ApprovalStatus = approval_lc.toUpperCase();
})(inputs, outputs);

Script_Step

  1. アクションに REST ステップを追加します。
    • [ベース URL] 値として、コールバック URL 変数を使用します。
    • [HTTP メソッド] には [POST] を使用します。
    • ヘッダーを追加します。Content-Type =application/json
    • Text として [要求タイプ] を定義します。
    • サンプル コードのような [要求本文] ペイロードを入力します。サンプル コード内の値は使用するデータ変数に置き換えてください。
    • アクションを保存します。
{
"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"
    }
}

REST ステップ

ServiceNow でワークフローを作成します

  1. ServiceNow で、組織の承認ポリシーに応じて、承認アクションを含むワークフローを作成します。
  2. [フロー デザイナー] で、[新規] を選択します。
  3. [フロー][アプリケーション][別のユーザーとして実行] のプロパティを含むメタデータを入力します。フロー プロパティ
  4. トリガを作成するために、[更新済み] を使用してチケットの状態の変更を見つけます。更新済み
  5. [テーブル] として [要求 [sc_request]] を選択します。
  6. [Approval - is one of - Approved, Rejected] and [UEM Callback URL - is not empty] として [条件] を定義します。
  7. [トリガの実行][1 回] を選択します。トリガの実行
  8. AppApproval アクションを追加します。処理を追加
  9. 要求テーブルから、必要なアクションの入力と一致する適切な値を追加します。値の追加
  10. ワークフローを保存し、アクティブ化します。

スクリプト化された REST API 名前空間を Intelligence に追加します

  1. Workspace ONE Intelligence で、[統合] > [自動化コネクタ] > [ServiceNow] の順に移動します。
  2. 接続を編集して、API の名前空間を含めます。この値は、ServiceNow に Scripted REST API を追加しているときに記録したものです。接続の編集

承認を要求します

  1. 承認を要求するために、Workspace ONE UEM でアプリ割り当てを編集します。承認を要求するようにアプリ割り当てを編集すると、ユーザーは、Workspace ONE Intelligent Hub でアプリを Windows 10 デバイスにインストールすることを要求できます。
  2. Workspace ONE UEM console で、適切なアプリケーションに移動し、割り当てを編集します。
  3. [インストールするには承認が必要] を有効にします。承認を要求する
check-circle-line exclamation-circle-line close-line
Scroll to top icon