Omnissa Intelligence、Omnissa Workspace ONE UEM、および ServiceNow でアプリ承認ワークフローを統合することで、アプリケーションのライセンス コストを制御できます。
Win32 アプリケーションには、ライセンスが高額なものが多数あります。アプリ承認を使用すれば、それらのアプリケーションをインストールできるユーザーを制限して、それらのリソースの管理コストを制御できます。
この統合によって、複数のシステムが連携してアプリ承認要求を処理できます。
- Omnissa Workspace ONE UEM:アプリケーションを管理し、デバイス上の Omnissa Workspace ONE Intelligent Hub カタログに配布します。
- Omnissa Intelligence:ServiceNow 環境と Workspace ONE UEM 環境の間で通信します。
- ServiceNow:要求および承認プロセスを管理します。
アプリ承認の仕組み
アプリ承認は、ユーザーが Windows デバイスへのアプリのインストールを要求することで開始されます。
- ユーザーが、デバイス上の Workspace ONE Intelligent Hub アプリを通じてアプリケーションのインストールを要求します。
- Intelligence は ServiceNow に要求を送信します。要求には、ユーザー、デバイス、および要求されたアプリケーションに関する情報が含まれています。
- ServiceNow が、フロー(ServiceNow で構成)と会社のポリシーに従って要求を処理します。
- ServiceNow は Intelligence に応答を返します。応答には、承認または拒否が含まれます。
- 承認の場合、アプリケーションの自動インストールが実行されます。
- 拒否の場合、Workspace ONE Intelligent Hub の要求状態に戻ります。
- 承認された場合、Workspace ONE UEM は、アプリをデバイスにインストールするために Workspace ONE Intelligent Hub に送信します。
要件
アプリ承認を使用する前に、リストされた統合、システム、および構成された設定を用意します。
- Intelligence に必要な Workspace ONE UEM バージョンを使用します。
- Workspace ONE UEM を Intelligence に登録します。
- ServiceNow インスタンスを ServiceNow Integration Hub プラグインとともに用意し、ServiceNow を Intelligence に登録します。
- Hub サービスを使用し、アプリ カタログとして Intelligent Hub アプリを使用します。
- Windows デバイスを使用します。
- Workspace ONE UEM で管理されているネイティブ アプリ(内部、パブリック、および購入済み)を使用します。
- アプリケーションの割り当てについては、Workspace ONE UEM を確認してください。
Intelligence が要求で送信する内容の例
要求プロセスを開始するために、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 を設定します
受信するアプリ要求を処理するように ServiceNow を設定します。これにより、インスタンスおよび承認ポリシーをカスタマイズできるようになります。このプロセスでは、ServiceNow の Scripted REST API 機能を使用します。
ServiceNow の Scripted REST API の詳細については、「Scripted REST API の作成」をご覧ください。
- ServiceNow にログインし、すべて検索テキスト ボックスを使用して、システム Web サービス領域で Scripted REST API 機能を検索します。
- 次の構成を完了します。
- 名前:
Workspace ONE App Approvalなどのわかりやすい名前を入力します。 - API ID:
appapprovalを入力します。 - API 名前空間:この手順の手順 5 で Intelligence に入力するため、この値を記録します。
- 名前:
- [リソース] タブで、次の構成を完了します。
- リソースを追加します。

- 名前:
Requestを入力します。 - HTTP メソッド:[POST] を選択します。
- 相対パス:このエントリが
/requestであることを確認します。 - リソース パス:このフィールドが
/api/<namespace>/appapproval/requestを読み取っていることを確認します。- パスがこの形式でない場合、要求が失敗します。
- 解決するには、Scripted REST API とリソースに正しい名前があることを確認します。
- スクリプト:環境に一致するスクリプトを入力します。
- 提供されたサンプル コードを展開用にカスタマイズできます。
- 要求内でカート アイテムを作成することも、ユーザー名をシステムの SYSID にリンクすることもできます。
- ServiceNow 要求の一部として値を保存します。
- 値を保存すると、要求チケットが承認または拒否された後に送信 API 要求がコンパイルされます。
- リソースを追加します。
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);
2. ServiceNow の要求チケットにカスタム フィールドを追加する
ServiceNow のテーブルを使用して、アプリケーション要求チケットにカスタム フィールドを追加します。カスタム フィールドは、Intelligence に送信する承認および拒否 API 要求をコンパイルするのに役立ちます。
-
ServiceNow 管理者 Console の上部にあるすべて検索テキスト ボックスに
Tablesと入力し、スクロールして [システム定義] > [テーブル] を選択します。 -
名前検索テキスト ボックスに
sc_requestと入力して、要求の定義を検索します。 -
要求テーブルを選択します。
-
システムが Intelligence に返す必要な値を追加することで列を追加し、API 要求でそれぞれの値を追加します。値の入力が完了したら、[更新] を選択してテーブルを保存します。
タイプ 列ラベル 列名 最大長 String UEM コールバック URL u_uem_callback_url 2048 整数 UEM デバイス ID u_uem_device_id 40 String UEM 要求 ID u_uem_request_id 40 整数 UEM ユーザー ID u_uem_user_id 40 String 要求しているユーザー u_requesting_user 40 String UEM Notes u_uem_notes 4000 
必要に応じて、[システム UI] > [フォーム セクション] の ServiceNow Console 領域で作業し、ユーザー インターフェイスの列および値を非表示にできます。列および値を非表示にすると、それらは API 要求でのみ使用されるように設定されます。
3. ServiceNow で承認アクションを構成する
フロー デザイナー、Workflow Studioを使用して、該当する UEM アプリケーションのインストールのために Intelligence に送信される承認または拒否応答のアクションを追加します。
- ServiceNow で、すべて検索テキスト ボックスを使用して、フロー デザイナーを検索します。
- [新規] を選択し、[アクション] を選択します。
これで、Console の Workflow Studio 領域が表示されます。 - アクションを開始するには、これらの設定を完了します。
- アクション名には、アクションを識別するのに役立つ名前を入力します。たとえば、AppName-AppApproval と入力できます。
- 他の設定を構成する場合を除き、他のオプションについてはデフォルト設定のままにしておくことができます。たとえば、説明を追加したり、[カタログ] > [サービス カテゴリ] を選択したりできます。
- **[ビルド アクション]**を選択して続行します。
- [入力の作成] メニュー オプションを使用して、アクションの入力を構成します。リストされた入力を追加します。
- ID を要求
- デバイス ID
- 更新者
- メモ
- 更新日
- コールバック URL
- 承認
- [アクションのアウトライン] セクションのプラス記号 (+) を選択し、
scriptを検索して、スクリプト ステップを追加します。スクリプト ステップは、API 呼び出しを準備するために承認状態文字列を大文字に変換します。
- 必要なランタイム:インスタンスのままにすることができます。
- 入力変数:[変数の作成] メニュー オプションを使用して、入力変数の名前 >
approval_statusおよび値 > アクション > 承認を定義します。 - スクリプト:承認状態を大文字に変換するサンプル コードを追加します。
(function execute(inputs, outputs) { var approval_lc = inputs.approval_status; outputs.approvalstatus = approval_lc.toUpperCase(); })(inputs, outputs);- この手順が失敗した場合:デフォルト値のままにして、アクションを停止し、エラー評価に進みます。
- アクションに REST ステップを追加します。
- 接続詳細を入力します。
- 接続:[接続エイリアスを使用] を選択します。
- 接続エイリアス:ドロップダウン リストから該当するエイリアスを選択します。
- ベース URL:ロック ボタンを使用してベース URL のロックを解除し、オーバーライドします。次に、データ ピッカーを使用して、[入力] > [コールバック URL] を選択します。
- リストされた要求の詳細を入力します。他の設定はデフォルトのままにします。
- ビルド要求:[REST メッセージから] を選択します。
- HTTP メソッド:[POST] を選択します。
- ヘッダー:名前 =
Content-Type、値 =application/json
- 要求コンテンツ セクションに入力します。
- 要求タイプ:[テキスト] を選択します。
- 要求本文 [テキスト]:リストされたスクリプトを追加します。
{ "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" } }
- 接続詳細を入力します。
- 出力の作成オプションを使用して出力を追加し、ラベル >
ApprovalStatusを文字列として追加します。 - アクションを保存します。
4. ServiceNow でフローを作成する
ServiceNow で、組織の承認ポリシーに応じて、承認アクションを含むフローを作成します。
ServiceNow での作業に関する最新ドキュメントの「ワークフローの作成」にアクセスします。
- すべて検索テキスト ボックスを使用して、フロー デザイナーを検索します。
- [新規] を選択し、[フロー] を選択します。
これで、Console の Workflow Studio 領域が表示されます。 - フローに名前を付け、ビルドを開始します。
- トリガ設定を完了します。
- トリガ テキスト ボックスで [更新済み] を選択して、チケット ステータスの変更を見つけます。
- **テーブル **の場合は、検索して 要求 [sc_request] を選択します。
[Approval - is one of - Approved, Rejected]および[UEM Callback URL - is not empty]として条件を定義します。- トリガの実行の場合は、[1 回] を選択します。
- アクションを追加します。
- アクション プロパティで、手順 3 で作成した AppName-AppApproval アクションを追加します。
- アクション入力で、必要なアクション入力と一致する [トリガ - 更新済みレコード] > [レコード要求] > オプションを使用して適切な値を追加します。
- フローを保存して有効にし、フローが公開されていることを確認します。
5. Scripted REST API 名前空間を Intelligence に追加する
- Intelligence で、[統合] > [ワークフロー コネクタ] > [ServiceNow] の順に移動します。
- 接続を編集して、API の名前空間 を含めます。この値は、ServiceNow に Scripted REST API を追加しているときに記録したものです。

6. UEM で承認を要求する
承認を要求するには、Workspace ONE UEM でアプリケーション割り当てを追加または編集します。承認を要求するためのアプリケーション割り当てを追加または編集すると、ユーザーは、Workspace ONE Intelligent Hub でアプリケーションを Windows デバイスにインストールすることを要求できます。
UEM でのアプリケーションへの割り当ての追加および編集の詳細については、「アプリケーションへの割り当てと除外の追加」を参照してください。
- Workspace ONE UEM Console で、適切なアプリケーションに移動し、割り当てを追加または編集します。
- [配布] タブで、[インストールするには承認が必要] メニュー オプションを有効にします。

デバイス上
デバイスの Workspace ONE Intelligent Hub アプリケーション カタログで、ユーザーはアプリケーションを選択し、カタログからアプリケーションへのアクセスを要求できます。ユーザーはアプリの要求プロセスを開始するための理由を入力できます。要求が ServiceNow を介して適切なユーザーによって承認されると、アプリケーションがインストールされます。
UEM アプリケーション承認状態
Workspace ONE UEM Console およびデバイスの Workspace ONE Intelligent Hub の状態は、アプリケーション承認の要求および承認プロセスにおける特定のステップを表しています。
管理者は、承認が必要なアプリケーションを選択するか、アプリケーションを要求するデバイスを選択することで、Workspace ONE UEM Console、[リソース] > [アプリ] 領域、または デバイス領域でアプリケーション承認の状態を表示できます。
| 状態 | 説明 |
|---|---|
| 承認待ち | ユーザーがアプリケーションのインストールを要求しました。管理者にインストールの承認を求めるチケットを ServiceNow が Intelligence を介して作成しました。チケットは ServiceNow システムで承認を待っています。 |
| インストール コマンド発信済み | 管理者がインストールを承認しました。Workspace ONE UEM が Intelligence を介してインストール コマンドをデータベースに送信しました。デバイスがコマンドを使用しました。 |
| インストール済み | アプリケーションが正常にインストールされたことをデバイスが Workspace ONE UEM にレポートしました。 |
| 拒否されました | インストールを求める ServiceNow チケットを管理者が却下しました。ユーザーは、アプリケーションのインストールを再度要求する必要があります。 |
| 期限切れ | 管理者が 14 日以内に ServiceNow チケットを承認または却下しませんでした。ユーザーは、アプリケーションのインストールを再度要求する必要があります。 |
| エラー | プロセスのいずれかの段階でアプリ承認システムにエラーが発生しました。エラーのためにプロセスが停止しました。ユーザーは、アプリケーションのインストールを再度要求する必要があります。 |
Workspace ONE Intelligent Hub アプリ承認状態
ユーザーは Workspace ONE Intelligent Hub からアプリケーションにアクセスします。ユーザーは、[要求] を選択してインストールを開始します。要求が開始されると、インストール要求がプロセスのどの段階にあるかを示す状態が Workspace ONE Intelligent Hub に表示されます。
| 状態 | 説明 |
|---|---|
| 要求 | 管理者が、アプリケーションをアップロードし、アプリ割り当てでインストールするために [承認が必要] を有効にしました。 |
| 保留中 | Intelligence は Workspace ONE UEM から要求を受信し、ServiceNow に要求を送信しました。ServiceNow によって、インストールの承認を求めるチケットが作成されました。システムは管理者の承認を待っています。 |
| インストール中 | インストールを求める ServiceNow チケットを管理者が承認し、Workspace ONE UEM データベースでインストール コマンドが開始されました。 |
| インストール済み | アプリケーションが正常にインストールされたことをデバイスが Workspace ONE UEM にレポートしました。 |
このページは役に立ちましたか?