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 資格情報の構成を表します。 オブジェクトを構成するには、 FederatedIdentityCredential API の作成 を使用します。 次のプロパティは、フェデレーション 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に提示されるトークン内の
sub
要求と一致する必要があります。 - name - 資格情報を識別する一意の文字列。 このプロパティは代替キーであり、値を使用して 、GET および UPSERT 操作を介してフェデレーション ID 資格情報を参照できます。
発行者とサブジェクトの組み合わせは、アプリで一意である必要があります。 外部ソフトウェア ワークロードが外部トークンをアクセス トークンと交換Microsoft ID プラットフォーム要求すると、フェデレーション ID 資格情報の発行者とサブジェクトの値が、外部トークンで指定されたissuer
とsubject
要求に対してチェックされます。 その検証チェックが成功した場合、Microsoft ID プラットフォームは外部ソフトウェア ワークロードにアクセス トークンを発行します。
設計上の考慮事項
アプリケーション オブジェクトまたはユーザー割り当てマネージド ID ごとに、最大 20 個のフェデレーション ID 資格情報を追加できます。