次の方法で共有


Microsoft Entra アプリケーションを使用して Azure Web PubSub リソースへの要求を承認する

Azure Web PubSub Service では、Microsoft Entra アプリケーションで要求を承認するための Microsoft Entra ID がサポートされています。

この記事では、Microsoft Entra アプリケーションを使用してリソースに対する要求を認証するようにリソースとコードを設定する方法について説明します。

アプリケーションを Microsoft Entra ID に登録する

最初の手順は、Microsoft Entra ID にアプリケーションを登録します:

アプリケーションを登録すると、アプリケーションの概要ページでアプリケーション (クライアント) IDディレクトリ (テナント) ID の値を確認できるようになります。 これらの GUID は、次の手順で役に立ちます。

登録済みアプリケーションの概要情報のスクリーンショット。

資格情報を追加する

アプリを登録したら、証明書、クライアント シークレット (文字列)、またはフェデレーション ID 資格情報を資格情報として、機密クライアント アプリの登録に追加できます。 資格情報を使用すると、アプリケーションはそれ自体として認証でき、実行時にユーザーとの対話は必要なく、Web API にアクセスする機密クライアント アプリケーションによって使用されます。

Azure portal でロールの割り当てを追加する

このセクションでは、Web PubSub リソースのサービス プリンシパルまたはマネージド ID に Web PubSub Service Owner ロールを割り当てる方法について説明します。 詳細な手順については、Azure portal を使用した Azure ロールの割り当てに関するページを参照してください。

ロールは、管理グループ、サブスクリプション、リソース グループ、または 1 つのリソースを含む任意のスコープに割り当てることができます。 スコープの詳細については、「Azure RBAC のスコープについて」を参照してください。

  1. Azure portal で、お使いの Web PubSub リソースに移動します。

  2. サイド バーで [アクセスの制御 (IAM)] を選択します。

  3. [追加]>[ロール割り当ての追加] の順に選択します。

    アクセス制御ページと、ロールの割り当てを追加するための選択を示すスクリーンショット。

  4. [ロール] タブで、シナリオの必要に応じて、[Web PubSub サービス所有者] またはその他の Web PubSub 組み込みロールを選択します。

    役割 説明 利用事例
    Web PubSub サービス所有者 データプレーンの API へのフル アクセス (読み取り/書き込み REST API や認証 API を含む)。 ネゴシエーション要求とクライアント イベントを処理するアップストリーム サーバーを構築するために最も一般的に使用されます。
    Web PubSub サービス閲覧者 データ プレーン API への読み取り専用アクセス。 読み取り専用 REST API を呼び出す監視ツールを作成するときに使用します。
  5. [次へ] を選択します。

  6. Microsoft Entra アプリケーションの場合。

    1. Assign access 行で、[ユーザー、グループ、またはサービス プリンシパル] を選択します。
    2. Members 行で [select members] をクリックし、ポップアップ ウィンドウで ID を選択します。
  7. Azure リソースのマネージド ID の場合。

    1. Assign access 行で、[マネージド ID] を選択します。
    2. Members 行で [select members] をクリックし、ポップアップ ウィンドウでアプリケーションを選択します。
  8. [次へ] を選択します。

  9. 課題を確認し、[確認と割り当て] をクリックしてロールの割り当てを確認します。

重要

新しく追加されたロールの割り当ては、反映されるまでに最大 30 分かかる場合があります。

Azure ロールを割り当てて管理する方法の詳細については、次の記事を参照してください:

Microsoft Entra 認可を使用したコード サンプル

正式にサポートされているプログラミング言語で Microsoft Entra 認可を使用する方法を示すサンプルを確認してください。