次の方法で共有


Microsoft Entra IDでのフェデレーション ID 資格情報の概要

名前空間: microsoft.graph

従来、開発者はアプリケーションの資格情報に証明書またはクライアント シークレットを使用して、Microsoft Entra IDのサービスで認証およびアクセスします。 Microsoft Entra テナント内のサービスにアクセスするには、開発者は Azure の外部にアプリケーション資格情報を格納して管理する必要があり、次のボトルネックが発生しました。

  • 証明書とシークレットのメンテナンスの負担。
  • シークレットが漏洩するリスク。
  • 認証が失敗したため、証明書の有効期限が切れ、サービスが中断されます。

フェデレーション ID 資格情報 は、ソフトウェア ワークロードのワークロード ID フェデレーションを有効にする新しい種類の資格情報です。 ワークロード ID フェデレーションを使用すると、(サポートされているシナリオで) シークレットを管理することなく、保護されたリソースMicrosoft Entraにアクセスできます。

フェデレーション ID 資格情報のしくみ

フェデレーション ID 資格情報を構成することで、Microsoft Entra IDで外部 ID プロバイダー (IdP) とアプリの間に信頼関係を作成します。 フェデレーション ID 資格情報は、アプリケーションによって信頼される外部 IdP からのトークンを示すために使用されます。 その信頼関係が作成されると、ソフトウェア ワークロードは、外部 ID プロバイダーからの信頼されたトークンを、Microsoft ID プラットフォームからのアクセス トークンと交換できます。 その後、ソフトウェア ワークロードは、そのアクセス トークンを使用して、ワークロードにアクセスが許可されている保護されたリソースMicrosoft Entraにアクセスします。 これにより、資格情報を手動で管理するメンテナンスの負担がなくなり、シークレットが漏洩したり、証明書の有効期限が切れたりするリスクがなくなります。 詳細とサポートされるシナリオについては、「 ワークロード ID フェデレーション」を参照してください。

Microsoft Graph を使用してフェデレーション ID 資格情報を設定する

federatedIdentityCredential リソースは、Microsoft Graph を介したフェデレーション ID 資格情報の構成を表します。 次のプロパティは、フェデレーション ID 資格情報の構成要素です。

  • 対象ユーザー — 外部トークンに表示できる対象ユーザー。 このフィールドは必須であり、Microsoft Entra IDには にapi://AzureADTokenExchange設定する必要があります。 受信トークンの aud 要求で受け入れる必要があるMicrosoft ID プラットフォームが記載されています。 この値は、外部 ID プロバイダーのMicrosoft Entra IDを表し、ID プロバイダー間で固定値がありません。このトークンの対象ユーザーとして機能するには、IdP に新しいアプリケーション登録を作成する必要がある場合があります。
  • issuer — 外部 ID プロバイダーの URL。 交換される外部トークンの 発行者 要求と一致する必要があります。
  • subject — 外部 ID プロバイダー内の外部ソフトウェア ワークロードの識別子。 対象ユーザーの値と同様に、各 IdP は独自の GUID、時にはコロンで区切られた識別子、時には任意の文字列を使用する場合があるため、固定形式はありません。 ここでの値は、Microsoft Entra IDに提示されるトークン内のサブ要求と一致する必要があります。

発行者サブジェクトの組み合わせは、アプリで一意である必要があります。 外部ソフトウェア ワークロードがアクセス トークンの外部トークンの交換をMicrosoft ID プラットフォーム要求すると、フェデレーション ID 資格情報の発行者サブジェクトの値が、外部トークンで指定された 要求とsubject照合issuerされます。 その検証チェックが成功した場合、Microsoft ID プラットフォームは外部ソフトウェア ワークロードにアクセス トークンを発行します。

設計上の考慮事項

アプリケーション オブジェクトまたはユーザー割り当てマネージド ID ごとに、最大 20 個のフェデレーション ID 資格情報を追加できます。