Share via


チュートリアル: Microsoft Entra エンタイトルメント管理統合を使用した ServiceNow チケットの自動作成

シナリオ: このシナリオでは、割り当てを受け取ってアプリへのアクセスが必要なユーザーの手動プロビジョニングのために、カスタム拡張機能と Logic Apps を使用して ServiceNow チケットを自動的に生成する方法について説明します。

このチュートリアルでは、次の作業を行う方法について説明します。

  • ロジック アプリ ワークフローを既存のカタログに追加する。
  • 既存のアクセス パッケージ内のポリシーにカスタム拡張機能を追加する。
  • エンタイトルメント管理ワークフローを再開するために Microsoft Entra にアプリケーションを登録する
  • Automation 認証用に ServiceNow を構成する。
  • アクセス パッケージへのアクセスをエンド ユーザーとして要求する。
  • 要求されたアクセス パッケージへのアクセスをエンド ユーザーとして受け取る。

前提条件

エンタイトルメント管理のためにロジック アプリ ワークフローを既存のカタログに追加する

前提条件のロール: グローバル管理者、ID ガバナンス管理者、またはカタログ所有者およびリソース グループ所有者。

ロジック アプリ ワークフローを既存のカタログに追加するには、ここでロジック アプリ作成用の ARM テンプレートを使用します。

Deploy to Azure.

Screenshot of Logic App ARM template.

Azure サブスクリプションやリソース グループの詳細に加えて、ロジック アプリを関連付けるロジック アプリ名とカタログ ID を指定し、購入を選択します。 新しいカタログを作成する方法の詳細については、「エンタイトルメント管理でリソースのカタログを作成して管理する」の手順に従ってください。

  1. Microsoft Entra 管理センター Identity Governance - Microsoft Entra 管理センターに移動します

  2. 左側のメニューで、 [カタログ] を選択します。

  3. カスタム拡張機能を追加するカタログを選択し、左側のメニューで [Custom Extensions] (カスタム拡張機能) を選択します。

  4. ヘッダーのナビゲーション バーで、 [カスタム拡張機能の追加] を選択します。

  5. [基本] タブで、カスタム拡張機能の名前とワークフローの説明を入力します。 これらのフィールドは、カタログの [カスタム拡張機能] タブに表示されます。 Screenshot of creating a custom extension for entitlement management.

  6. [拡張機能の種類][要求ワークフロー] を選択し、作成が要求されたアクセス パッケージのポリシー ステージに対応させます。 Screenshot of entitlement management custom extension behavior actions tab.

  7. [拡張機能の種類][起動して待機] を選択すると、拡張機能にリンクされたロジック アプリがタスクを完了し、管理者が再開アクションを送信してプロセスを続行するまで、関連付けられているアクセス パッケージ アクションを一時停止します。 このプロセスの詳細については、「エンタイトルメント管理プロセスを一時停止するカスタム拡張機能の構成」を参照してください。

  8. 前の手順でロジック アプリが既に作成されているため、[詳細] タブの [新しいロジック アプリの作成] フィールドで [いいえ] を選択します。 ただし、Azure サブスクリプションとリソース グループの詳細のほか、ロジック アプリ名を指定する必要があります。 Screenshot of the entitlement management custom extension details tab.

  9. [確認と作成] では、カスタム拡張機能の概要をレビューし、ロジック アプリのコールアウトの詳細が正しいことを確認してください。 [作成] を選択します。

  10. リンクされたロジック アプリに対するこのカスタム拡張機能が、[カタログ] の下の [カスタム拡張機能] タブに表示されるようになります。 これは、アクセス パッケージ ポリシーで呼び出すことができます。

ヒント

エンタイトルメント管理プロセスを一時停止するカスタム拡張機能機能の詳細については、「エンタイトルメント管理プロセスを一時停止するカスタム拡張機能の構成」を参照してください。

既存のアクセス パッケージ内のポリシーにカスタム拡張機能を追加する

カタログでカスタム拡張機能を設定した後、管理者はポリシーを使用してアクセス パッケージを作成し、要求が承認されたときにカスタム拡張機能をトリガーできます。 これにより、特定のアクセス要件を定義し、組織のニーズに合わせてアクセス レビュー プロセスを調整できます。

前提条件のロール: グローバル管理者、ID ガバナンス管理者、カタログ所有者、またはアクセス パッケージ マネージャー

  1. Identity Governance ポータルで、[アクセス パッケージ] を選択します。

  2. 既に作成されているアクセス パッケージの一覧から、カスタム拡張機能 (ロジック アプリ) を追加するアクセス パッケージを選択します。

  3. [ポリシー] タブに移動し、ポリシーを選択して [編集] を選択します。

  4. ポリシー設定で、[Custom Extensions] (カスタム拡張機能) タブに移動します。

  5. [ステージ] の下のメニューで、このカスタム拡張機能 (ロジック アプリ) のトリガーとして使用するアクセス パッケージ イベントを選択します。 このシナリオで、アクセス パッケージが承認されたときにカスタム拡張機能のロジック アプリ ワークフローをトリガーするには、[要求が承認されました] を選択します。

Note

アクセス許可が以前付与されていた期限切れの割り当てについて ServiceNow チケットを作成するには、"割り当てが削除されました" の新しいステージを追加し、LogicApp を選択します。

  1. [カスタム拡張機能] の下のメニューで、このアクセス パッケージに追加するために上記のステップで作成したカスタム拡張機能 (ロジック アプリ) を選択します。 選択したアクションは、[タイミング] フィールドで選択したイベントが発生したときに実行されます。

  2. 既存のアクセス パッケージのポリシーに追加するには、[更新] を選択します。 Screenshot of custom extension details for an access package.

Note

新しいアクセス パッケージを作成する場合は、[新しいアクセス パッケージ] を選択します。 アクセス パッケージを作成する方法の詳細については、「エンタイトルメント管理で新しいアクセス パッケージを作成する」をご覧ください。 既存のアクセス パッケージを編集する方法の詳細については、「Microsoft Entra エンタイトルメント管理でアクセス パッケージの要求設定を変更する」を参照してください。

Microsoft Entra 管理センターでシークレットにアプリケーションを登録する

ヒント

この記事の手順は、開始するポータルに応じて若干異なる場合があります。

Azure では、Azure Key Vault を使用して、パスワードなどのアプリケーション シークレットを格納できます。 Microsoft Entra 管理センター内のシークレットにアプリケーションを登録するには、次の手順に従います。

  1. Microsoft Entra 管理センターIdentity Governance 管理者以上としてサインインします。

  2. [ID]>[アプリケーション]>[アプリの登録] を参照します。

  3. [管理] で、[アプリの登録] > [新規登録] を選択します。

  4. アプリケーションの表示名を入力します。

  5. サポートされているアカウントの種類に、[この組織のディレクトリ内のアカウントのみ] を選択します。

  6. [登録] を選択します。

アプリケーションを登録したら、次の手順に従ってクライアント シークレットを追加する必要があります。

  1. [ID]>[アプリケーション]>[アプリの登録] を参照します。

  2. アプリケーションを選択します。

  3. >[証明書とシークレット]>[クライアント シークレット][新しいクライアント シークレット] を選択します。

  4. クライアント シークレットの説明を追加します。

  5. シークレットの有効期限を選択するか、カスタムの有効期間を指定します。

  6. [追加] を選択します。

Note

アプリケーションの登録の詳細については、「クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください。

作成したアプリケーションが MS Graph 再開 API を呼び出すことを承認するには、次の手順を実行します。

  1. Microsoft Entra 管理センター Identity Governance - Microsoft Entra 管理センターに移動します

  2. 左側のメニューで、 [カタログ] を選択します。

  3. カスタム拡張機能を追加したカタログを選択します。

  4. [ロールと管理者] メニューを選択し、[+ アクセス パッケージ割り当てマネージャーの追加] を選択します。

  5. [メンバーの選択] ダイアログ ボックスで、作成されたアプリケーションを名前またはアプリケーション ID で検索します。 アプリケーションを選択し、[選択] ボタンを選択 します。

ヒント

委任とロールの詳細については、Microsoft の公式ドキュメントの「エンタイトルメント管理の委任とロール」を参照してください。

Automation 認証用に ServiceNow を構成する

この時点で、ServiceNow チケットのクローズ後にエンタイトルメント管理ワークフローを再開するように ServiceNow を構成します。

  1. 次の手順に従って、ServiceNow Application Registry に Microsoft Entra アプリケーションを登録します。
    1. ServiceNow にサインインし、[Application Registry] に移動します。
    2. [New] を選択し、[Connect to a third party OAuth Provider] を選択します。
    3. アプリケーションの名前を指定し、[Default Grant type] で [Client Credentials] を選択します。
    4. Microsoft Entra 管理センターに Microsoft Entra アプリケーションを登録したときに生成されたクライアント名、ID、クライアント シークレット、認可 URL、トークン URL を入力します。
    5. アプリケーションを送信します。 Screenshot of the application registry within ServiceNow.
  2. 次の手順に従って、System Web Service の REST API メッセージを作成します。
    1. [System Web Services] の [REST API Messages] セクションに移動します。
    2. [New] ボタンを選択して、新しい REST API メッセージを作成します。
    3. すべての必須フィールドに入力します。これにはエンドポイント URL の指定を含みます: https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/${AccessPackageAssignmentRequestId}/resume
    4. [Authentication] で [OAuth2.0] を選択し、アプリ登録プロセス中に作成された OAuth プロファイルを選択します。
    5. [Submit] ボタンを選択して、変更を保存します。
    6. [System Web Services] の [REST API Messages] セクションに戻ります。
    7. [Http Request] を選択し、[New] を選択します。 名前を入力し、Http メソッドとして [POST] を選択します。
    8. Http 要求で、次の API スキーマを使用して Http クエリ パラメーターのコンテンツを追加します。
      {
      "data": {
          "@odata.type": "#microsoft.graph.accessPackageAssignmentRequestCallbackData",
          "customExtensionStageInstanceDetail": "Resuming-Assignment for user",
          "customExtensionStageInstanceId": "${StageInstanceId}",
          "stage": "${Stage}"
                },
                "source": "ServiceNow",
                  "type": "microsoft.graph.accessPackageCustomExtensionStage.${Stage}"
                  }
      
    9. [Submit] を選択して変更を保存します。 Screenshot of resume call selection within ServiceNow.Screenshot of the http request within ServiceNow.
  3. 要求テーブル スキーマの変更: 要求テーブル スキーマを変更するには、次の図に示す 3 つのテーブルに変更を加えます。Screenshot of the request table schema within ServiceNow. 3 つの列ラベルを文字列型で追加します。
    • AccessPackageAssignmentRequestId
    • AccessPackageAssignmentStage
    • StageInstanceId
  4. Flow Designer を使用してワークフローを自動化するには、次の操作を行います。
    1. ServiceNow にサインインし、[Flow Designer] に移動します。
    2. [New] ボタンを選択し、新しいアクションを作成します。
    3. 前の手順で作成した System Web Service の REST API メッセージを呼び出すアクションを追加します。 Screenshot of flow designer script to resume entitlement management process within ServiceNow. アクションのスクリプト: (前のステップで作成された列ラベルでスクリプトを更新します):
      (function execute(inputs, outputs) {
          gs.info("AccessPackageAssignmentRequestId: " + inputs['accesspkgassignmentrequestid']);
          gs.info("StageInstanceId: " + inputs['customextensionstageinstanceid'] );
          gs.info("Stage: " + inputs['assignmentstage']);
          var r = new sn_ws.RESTMessageV2('Resume ELM WorkFlow', 'RESUME');
          r.setStringParameterNoEscape('AccessPackageAssignmentRequestId', inputs['accesspkgassignmentrequestid']);
          r.setStringParameterNoEscape('StageInstanceId', inputs['customextensionstageinstanceid'] );
          r.setStringParameterNoEscape('Stage', inputs['assignmentstage']);
          var response = r.execute();
          var responseBody = response.getBody();
          var httpStatus = response.getStatusCode();
          var requestBody =  r.getRequestBody();
          gs.info("requestBody: " + requestBody);
          gs.info("responseBody: " + responseBody);
          gs.info("httpStatus: " + httpStatus);
          })(inputs, outputs); 
      
    4. アクションを保存します。
    5. [New] ボタンを選択して、新しいフローを作成します。
    6. フロー名を入力し、[Run as – System User] を選択し、[submit] を選択します。
  5. ServiceNow 内にトリガーを作成するには、次の手順に従います。
    1. [Add Trigger] を選択し、[updated] トリガーを選択し、更新ごとにトリガーを実行します。
    2. 次の図に示すように、条件を更新することによってフィルター条件を追加します。Screenshot of ServiceNow call entitlement management resume API
    3. [完了] を選択します。
    4. アクションの追加を選択しますScreenshot of flow diagram trigger.
    5. アクションを選択し、前の手順で作成したアクションを選択します。 Screenshot of flow designer actions selection.
    6. 新しく作成した列を要求レコードから適切なアクション パラメーターにドラッグ アンド ドロップします。
    7. [Done]、[Save]、[Activate] の順に選択します。 Screenshot of save and activate within flow designer.

アクセス パッケージへのアクセスをエンド ユーザーとして要求する

エンド ユーザーがアクセス パッケージへのアクセスを要求すると、要求は適切な承認者に送信されます。 承認者が承認を許可すると、エンタイトルメント管理によってロジック アプリが呼び出されます。 その後、ロジック アプリでは ServiceNow を呼び出して新しい要求/チケットが作成され、エンタイトルメント管理は ServiceNow からのコールバックを待機します。

Screenshot of requesting an access package.

要求されたアクセス パッケージへのアクセスをエンド ユーザーとして受け取る

IT サポート チームは、上記で作成されたチケットに取り組み、必要なプロビジョニングを行って ServiceNow チケットを閉じます。 チケットが閉じられると、ServiceNow ではエンタイトルメント管理ワークフローを再開するための呼び出しがトリガーされます。 要求が完了すると、要求元は要求が処理されたことを示す通知をエンタイトルメント管理から受け取ります。 この合理化されたワークフローにより、アクセス要求が効率的に処理され、ユーザーに迅速に通知されるようになります。

Screenshot of My Access request history.

Note

チケットが 14 日以内に閉じられない場合、エンド ユーザーの MyAccess ポータルに "割り当てに失敗しました" と表示されます。

次のステップ

次の記事に進み、作成方法を確認します。