次の方法で共有


テナントをまたいだ認証要求

マルチ テナント アプリケーションを作成するとき、異なるテナントに含まれるリソースの認証要求を処理することが必要な場合があります。 一般的なシナリオとして、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 が含まれます。 補助ヘッダーには、テナントをまたぐ要求が処理される、テナントに対する有効なトークンが含まれています。

次のステップ