次の方法で共有


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

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

このチュートリアルでは、次のことについて説明します。

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

前提条件

これらの手順を完了するときは、最小特権ロールを使用することをお勧めします。

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

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

Azure にデプロイします

ロジック アプリ ARM テンプレートのスクリーンショット。

リソース グループの詳細と、ロジック アプリを関連付けるカタログ ID を指定し、購入を選択します。 新しいカタログを作成する方法の詳細については、「 エンタイトルメント管理でリソースのカタログを作成および管理する」を参照してください。

カタログが作成されたら、次の手順を実行してロジック アプリ ワークフローを追加します。

  1. 少なくとも ID ガバナンス管理者として Microsoft Entra 管理センターにサインインします。

    ヒント

    このタスクを完了できる他の最小特権ロールには、カタログ所有者とリソース グループ所有者があります。

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

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

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

  5. [ 基本 ] タブで、カスタム拡張機能の名前とワークフローの説明を入力します。 これらのフィールドは、カタログの [カスタム拡張機能 ] タブに表示されます。 エンタイトルメント管理用のカスタム拡張機能を作成するスクリーンショット。

  6. [要求ワークフロー] として拡張機能の種類を選択し、作成中に要求されたアクセス パッケージのポリシー ステージに対応します。 エンタイトルメント管理のカスタム拡張機能の動作アクション タブのスクリーンショット。

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

  8. 前の手順でロジック アプリが既に作成されているため、[ 詳細 ] タブの [新しいロジック アプリの作成] フィールドで [いいえ] を選択します。 ただし、ロジック アプリ名と共に、Azure サブスクリプションとリソース グループの詳細を指定する必要があります。 エンタイトルメント管理のカスタム拡張機能の詳細タブのスクリーンショット。

  9. [ 確認と作成] で、カスタム拡張機能の概要を確認し、ロジック アプリの呼び出しの詳細が正しいことを確認します。 次に、[ 作成] を選択します。

  10. 作成されると、ロジック アプリは、カスタム拡張機能ページのカスタム拡張機能の横にある ロジック アプリ でアクセスできるようになります。 これは、アクセス パッケージ ポリシーで呼び出すことができます。 カスタム拡張機能リストのスクリーンショット。

ヒント

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

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

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

  1. 少なくとも ID ガバナンス管理者として、Identity Governance ポータルで、[アクセス パッケージ] を選択します。

    ヒント

    このタスクを完了できる他の最小限の特権ロールには、カタログ所有者とアクセス パッケージ マネージャーがあります。

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

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

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

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

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

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

  7. [ 更新] を選択して、既存のアクセス パッケージのポリシーに追加します。 アクセス パッケージのカスタム拡張機能の詳細のスクリーンショット。

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

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

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

  1. 少なくとも ID ガバナンス管理者として Microsoft Entra 管理センターにサインインします。

  2. Entra ID>App 登録に移動します

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

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

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

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

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

  1. Entra ID>App 登録に移動します

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

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

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

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

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

アプリケーションの登録の詳細については、「 クイック スタート: 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. [新規] を選択し、[サード パーティの OAuth プロバイダーに接続する] を選択します。
    3. アプリケーションの名前を指定し、[Default Grant type] で [Client Credentials] を選択します。
    4. Microsoft Entra 管理センターに Microsoft Entra アプリケーションを登録したときに生成されたクライアント名、ID、クライアント シークレット、認可 URL、トークン URL を入力します。
    5. アプリケーションを送信します。 ServiceNow 内のアプリケーション レジストリのスクリーンショット。
  2. 次の手順に従って、System Web Service の REST API メッセージを作成します。
    1. [System Web Services] の [REST API Messages] セクションに移動します。

    2. [New] ボタンを選択して、新しい REST API メッセージを作成します。

    3. すべての必須フィールドに入力します。これにはエンドポイント URL の指定を含みます: https://learn.microsoft.com/en-us/graph/api/accesspackageassignmentrequest-resume?view=graph-rest-1.0&tabs=http

    4. [Authentication] で [OAuth2.0] を選択し、アプリ登録プロセス中に作成された OAuth プロファイルを選択します。

    5. [送信] ボタンを選択して変更を保存します。

    6. [System Web Services] の [REST API Messages] セクションに戻ります。

    7. [Http 要求] を選択し、[新規] を選択します。 名前を入力し、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. [送信] を選択して変更を保存します。 ServiceNow 内での再開呼び出しの選択のスクリーンショット。

      ServiceNow 内の http 要求のスクリーンショット。

  3. 要求テーブル スキーマの変更: 要求テーブル スキーマを変更するには、次の図に示す 3 つのテーブルに変更を加えます。 ServiceNow 内の要求テーブル スキーマのスクリーンショット。 4 列のラベルと型を文字列として追加します。
    • アクセスパッケージ割り当てリクエストID (AccessPackageAssignmentRequestId)
    • アクセスパッケージ割り当てステージ
    • ステージインスタンスID
    • EntraユーザーオブジェクトID
  4. Flow Designer を使用してワークフローを自動化するには、次の操作を行います。
    1. ServiceNow にサインインし、[Flow Designer] に移動します。
    2. [新規] ボタンを選択し、新しいアクションを作成します。
    3. 前の手順で作成した System Web Service の REST API メッセージを呼び出すアクションを追加します。 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. [新規] ボタンを選択して、新しいフローを作成します。
    6. フロー名を入力し、[Run as – System User] を選択し、[submit] を選択します。
  5. ServiceNow 内にトリガーを作成するには、次の手順に従います。
    1. トリガーを追加 を選択し、更新 トリガーを選択して、更新ごとにトリガーを実行します。
    2. 次の図に示すように条件を更新してフィルター条件を追加します。 ServiceNow 呼び出しエンタイトルメント管理再開 API のスクリーンショット
    3. [完了] を選択します。
    4. [アクションの追加] を選択 します。フロー ダイアグラム トリガーのスクリーンショット。
    5. アクションを選択し、前の手順で作成したアクションを選択します。 フロー デザイナーのアクションの選択のスクリーンショット。
    6. 新しく作成した列を要求レコードから適切なアクション パラメーターにドラッグ アンド ドロップします。
    7. [Done]、[Save]、[Activate] の順に選択します。 フロー デザイナー内での保存とアクティブ化のスクリーンショット。

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

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

アクセス パッケージの要求のスクリーンショット。

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

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

マイ アクセス要求履歴のスクリーンショット。

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

次のステップ

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