Skip to main content

2026 年 9 月 1 日

アプリ承認

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 デバイスへのアプリのインストールを要求することで開始されます。

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

  1. ServiceNow にログインし、すべて検索テキスト ボックスを使用して、システム Web サービス領域で Scripted REST API 機能を検索します。
  2. 次の構成を完了します。
    ServiceNow で作業して、Scripted REST API の一般的な情報を追加します。
    • 名前Workspace ONE App Approval などのわかりやすい名前を入力します。
    • API IDappapproval を入力します。
    • API 名前空間:この手順の手順 5 で Intelligence に入力するため、この値を記録します。
  3. [リソース] タブで、次の構成を完了します。
    • リソースを追加します。
      リソース パスが正しい形式であることを確認し、提供されているサンプル コードをスクリプト エントリに使用することを検討してください。
    • 名前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 要求をコンパイルするのに役立ちます。

  1. ServiceNow 管理者 Console の上部にあるすべて検索テキスト ボックスに Tables と入力し、スクロールして [システム定義] > [テーブル] を選択します。

  2. 名前検索テキスト ボックスに sc_request と入力して、要求の定義を検索します。

  3. 要求テーブルを選択します。

  4. システムが Intelligence に返す必要な値を追加することで列を追加し、API 要求でそれぞれの値を追加します。値の入力が完了したら、[更新] を選択してテーブルを保存します。

    タイプ列ラベル列名最大長
    StringUEM コールバック URLu_uem_callback_url2048
    整数UEM デバイス IDu_uem_device_id40
    StringUEM 要求 IDu_uem_request_id40
    整数UEM ユーザー IDu_uem_user_id40
    String要求しているユーザーu_requesting_user40
    StringUEM Notesu_uem_notes4000


    Intelligence で送信 API 要求をコンパイルするのに役立つ新しい列を要求テーブルに追加します。

必要に応じて、[システム UI] > [フォーム セクション] の ServiceNow Console 領域で作業し、ユーザー インターフェイスの列および値を非表示にできます。列および値を非表示にすると、それらは API 要求でのみ使用されるように設定されます。

3. ServiceNow で承認アクションを構成する

フロー デザイナー、Workflow Studioを使用して、該当する UEM アプリケーションのインストールのために Intelligence に送信される承認または拒否応答のアクションを追加します。

  1. ServiceNow で、すべて検索テキスト ボックスを使用して、フロー デザイナーを検索します。
  2. [新規] を選択し、[アクション] を選択します。
    これで、Console の Workflow Studio 領域が表示されます。
  3. アクションを開始するには、これらの設定を完了します。
    • アクション名には、アクションを識別するのに役立つ名前を入力します。たとえば、AppName-AppApproval と入力できます。
    • 他の設定を構成する場合を除き、他のオプションについてはデフォルト設定のままにしておくことができます。たとえば、説明を追加したり、[カタログ] > [サービス カテゴリ] を選択したりできます。
    • **[ビルド アクション]**を選択して続行します。
  4. [入力の作成] メニュー オプションを使用して、アクションの入力を構成します。リストされた入力を追加します。
    リストされた入力を承認/拒否アクションに追加します。
    • ID を要求
    • デバイス ID
    • 更新者
    • メモ
    • 更新日
    • コールバック URL
    • 承認
  5. [アクションのアウトライン] セクションのプラス記号 (+) を選択し、script を検索して、スクリプト ステップを追加します。スクリプト ステップは、API 呼び出しを準備するために承認状態文字列を大文字に変換します。
    承認変数を作成するスクリプト ステップを追加します。
    • 必要なランタイムインスタンスのままにすることができます。
    • 入力変数[変数の作成] メニュー オプションを使用して、入力変数の名前 > approval_status および > アクション > 承認を定義します。
    • スクリプト:承認状態を大文字に変換するサンプル コードを追加します。
      (function execute(inputs, outputs) {
      var approval_lc = inputs.approval_status;
      outputs.approvalstatus = approval_lc.toUpperCase();
      })(inputs, outputs);
    
    • この手順が失敗した場合:デフォルト値のままにして、アクションを停止し、エラー評価に進みます
  6. アクションに 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"
            }
          }
        
  7. 出力の作成オプションを使用して出力を追加し、ラベル > ApprovalStatus文字列として追加します。
  8. アクションを保存します。

4. ServiceNow でフローを作成する

ServiceNow で、組織の承認ポリシーに応じて、承認アクションを含むフローを作成します。

ServiceNow での作業に関する最新ドキュメントの「ワークフローの作成」にアクセスします。

  1. すべて検索テキスト ボックスを使用して、フロー デザイナーを検索します。
  2. [新規] を選択し、[フロー] を選択します。
    これで、Console の Workflow Studio 領域が表示されます。
  3. フローに名前を付け、ビルドを開始します。
  4. トリガ設定を完了します。
    要求が更新されたときに機能するトリガを追加します。
    • トリガ テキスト ボックスで [更新済み] を選択して、チケット ステータスの変更を見つけます。
    • **テーブル **の場合は、検索して 要求 [sc_request] を選択します。
    • [Approval - is one of - Approved, Rejected] および [UEM Callback URL - is not empty] として条件を定義します。
    • トリガの実行の場合は、[1 回] を選択します。
  5. アクションを追加します。
    更新された要求テーブルのカスタム列をフローのアクションに追加します。
    • アクション プロパティで、手順 3 で作成した AppName-AppApproval アクションを追加します。
    • アクション入力で、必要なアクション入力と一致する [トリガ - 更新済みレコード] > [レコード要求] > オプションを使用して適切な値を追加します。
  6. フローを保存して有効にし、フローが公開されていることを確認します。

5. Scripted REST API 名前空間を Intelligence に追加する

  1. Intelligence で、[統合] > [ワークフロー コネクタ] > [ServiceNow] の順に移動します。
  2. 接続を編集して、API の名前空間 を含めます。この値は、ServiceNow に Scripted REST API を追加しているときに記録したものです。
    手順 1 で ServiceNow で作成した REST API を使用して、ServiceNow のアプリケーション承認プロセスを Intelligence に接続します。

6. UEM で承認を要求する

承認を要求するには、Workspace ONE UEM でアプリケーション割り当てを追加または編集します。承認を要求するためのアプリケーション割り当てを追加または編集すると、ユーザーは、Workspace ONE Intelligent Hub でアプリケーションを Windows デバイスにインストールすることを要求できます。

UEM でのアプリケーションへの割り当ての追加および編集の詳細については、「アプリケーションへの割り当てと除外の追加」を参照してください。

  1. Workspace ONE UEM Console で、適切なアプリケーションに移動し、割り当てを追加または編集します。
  2. [配布] タブで、[インストールするには承認が必要] メニュー オプションを有効にします。
    アプリケーション割り当て内で、承認を要求するために ServiceNow と連携するようにシステムをトリガする設定を有効にします。

デバイス上

デバイスの 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 にレポートしました。

このページは役に立ちましたか?

このトピックについてフィードバックを送信

このトピックは役に立ちましたか?

個人情報や機密情報は入力しないでください。

リンクを生成しています…