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にAzureロールを割り当てる方法を示しています。 詳細な手順については、Azure portal を使用した Azure ロールの割り当てに関するページを参照してください。
注
ロールは、管理グループ、サブスクリプション、リソース グループ、または 1 つのリソースを含む任意のスコープに割り当てることができます。 スコープの詳細については、「Azure RBAC のスコープについて」を参照してください。
Azure portal で、お使いの Web PubSub リソースに移動します。
サイド バーで [アクセスの制御 (IAM)] を選択します。
[追加]>[ロール割り当ての追加] の順に選択します。
「Role」タブで、アプリケーションに必要な権限を含むWeb PubSubの組み込みロールまたはカスタムロールを選択します。
役割 説明 利用事例 Web PubSub サービス所有者 データプレーンの API へのフル アクセス (読み取り/書き込み REST API や認証 API を含む)。 ネゴシエーション要求とクライアント イベントを処理するアップストリーム サーバーを構築するために最も一般的に使用されます。 Web PubSub サービス閲覧者 データプレーンAPIへの読み取り専用アクセス。 読み取り専用のREST APIを呼び出す監視ツールを書く際に使ってください。 ヒント
必要なWeb PubSubデータプレーン権限のみを持ったカスタムロールを使用することで、最小権限の原則に従いましょう。 クライアントアクセストークンを生成し接続するためには、アイデンティティには
Microsoft.SignalRService/WebPubSub/clientConnection/generateToken/actionとMicrosoft.SignalRService/WebPubSub/clientConnection/writeの両方が必要です。 より狭い組み込みロールには両方の権限が含まれることはありません。[次へ] を選択します。
Microsoft Entra アプリケーションの場合。
-
Assign access行で、[ユーザー、グループ、またはサービス プリンシパル] を選択します。 -
Members行で [select members] をクリックし、ポップアップ ウィンドウで ID を選択します。
-
Azure リソースのマネージド ID の場合。
-
Assign access行で、[マネージド ID] を選択します。 -
Members行で [select members] をクリックし、ポップアップ ウィンドウでアプリケーションを選択します。
-
[次へ] を選択します。
課題を確認し、[確認と割り当て] をクリックしてロールの割り当てを確認します。
重要
新しく追加されたロールの割り当ては、反映されるまでに最大 30 分かかる場合があります。
Azure ロールを割り当てて管理する方法の詳細については、次の記事を参照してください:
- Azure portal を使用して Azure ロールを割り当てる
- REST API を使用して Azure ロールを割り当てる
- Azure PowerShell を使用して Azure ロールを割り当てる
- Azure CLI を使用して Azure ロールを割り当てる
- Azure Resource Manager テンプレートを使用して Azure ロールを割り当てる
Microsoft Entra 認可を使用したコード サンプル
.NET、Java、JavaScript、または Python で Microsoft Entra 認証を使用するWebPubSubServiceClientを作成するには、「Use Azure Identity with WebPubSubServiceClient」を参照してください。