Workspace ONE Intelligence でアプリ承認ワークフローを統合することで、アプリケーションのライセンス コストを制御できます。
Win32 アプリケーションには、ライセンスが高額なものが多数あります。アプリ承認を使用すれば、それらのアプリケーションをインストールできるユーザーを制限して、それらのリソースの管理コストを制御できます。
この統合によって、複数のシステムが連携してアプリ承認要求を処理できます。
Workspace ONE Intelligence には、テクニカル プレビューとしてアプリの承認機能が備わっています。テクニカル プレビュー機能は完全にはテストされておらず、一部の機能が期待どおりに機能しない場合があります。ただし、これらのプレビューは、Workspace ONE Intelligence で現在の機能を改善し、将来的な機能強化を開発するために役立ちます。テクニカル プレビュー機能を使用するには、VMware の担当者にお問い合わせください。
アプリ承認は、ユーザーが Windows 10 デバイスへのアプリのインストールを要求することから始まります。
Workspace ONE Intelligence および ServiceNow サービスを使用して、アプリケーションのインストールを要求し、承認します。ServiceNow での構成を開始し、 Workspace ONE Intelligence で ServiceNow 接続に情報を追加し、Workspace ONE UEM. でのアプリ割り当ての編集で終了します。
アプリ承認を使用する前に、リストされた統合、システム、および構成された設定を用意します。
受信するアプリ要求を処理するように 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>"
}
}
}
Scripted REST APIs
を検索します。Workspace ONE App Approval
のようなわかりやすい名前を入力します。appapproval
のような APIAPI ID を入力し、API の名前空間を記録します。これは、このプロセスの後で Workspace ONE Intelligence に入力するためです。/request
であることを確認します。リソース パスが /api/<namespace>/appapproval/request
として表示されます。パスがこの形式でない場合、要求が失敗します。解決するには、Scripted REST API とリソースに正しい名前があることを確認します。(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 のテーブルを使用して、要求チケットにカスタム フィールドを追加します。カスタム フィールドは、Workspace ONE Intelligence に送信する承認および拒否 API 要求をコンパイルするのに役立ちます。
Tables
を検索し、[システム定義] > [テーブル] の順に選択します。sc_request
を検索し、開いて列の詳細を表示します。テーブル ラベルで検索する場合、テーブルのラベルは要求です。
ApprovalNotify.URL
= UEM コールバック URLDeviceId
= UEM デバイス IDRequestId
= UEM 要求 IDUserId
= UEM ユーザー IDuser_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 |
approval_status
として定義し、承認値にドラッグします。ApprovalStatus
として定義します。(function execute(inputs, outputs) {
var approval_lc = inputs.approval_status;
outputs.ApprovalStatus = approval_lc.toUpperCase();
})(inputs, outputs);
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"
}
}
[Approval - is one of - Approved, Rejected] and [UEM Callback URL - is not empty]
として [条件] を定義します。