テナントをまたいだ認証要求
マルチ テナント アプリケーションを作成するとき、異なるテナントに含まれるリソースの認証要求を処理することが必要な場合があります。 一般的なシナリオとして、1 つのテナント内の仮想マシンが、別のテナント内の仮想ネットワークに参加しなければならないことがあります。 Azure Resource Manager には、別のテナントへの要求を認証する補助トークンを格納するためのヘッダー値が用意されています。
認証のためのヘッダー値
要求では、次の認証ヘッダー値があります。
ヘッダー名 | 説明 | 値の例 |
---|---|---|
承認 | プライマリ トークン | Bearer <primary-token> |
x-ms-authorization-auxiliary | 補助トークン | Bearer <auxiliary-token1>、EncryptedBearer <auxiliary-token2>、Bearer <auxiliary-token3> |
補助ヘッダーは最大 3 つの補助トークンを保持できます。
マルチ テナント アプリのコードでは、他のテナントの認証トークンを取得し、補助ヘッダー内に格納します。 ユーザーまたはアプリケーションは、ゲストとして他のテナントに招待されたことがある必要があります。
要求の処理
アプリが Resource Manager に要求を送信すると、要求はプライマリ トークンの ID で実行されます。 プライマリ トークンは、期限が切れていない有効なものでなければなりません。 このトークンは、サブスクリプションを管理できるテナントからのものである必要があります。
要求が別のテナントからのリソースを参照するとき、Resource Manager は補助トークンをチェックして、要求を処理できるかどうかを判断します。 ヘッダー内のすべての補助トークンは、期限が切れていない有効なものでなければなりません。 いずれかのトークンが期限切れの場合、Resource Manager は 401 応答コードを返します。 応答には、無効なトークンからのクライアント ID およびテナント ID が含まれます。 補助ヘッダーには、テナントをまたぐ要求が処理される、テナントに対する有効なトークンが含まれています。
次のステップ
- 認証要求については、「認証フローとアプリケーションのシナリオ」を参照してください。
- トークンの詳細については、「Microsoft Entra アクセス トークン」を参照してください。