Microsoft Entra ID中的联合标识凭据概述

命名空间:microsoft.graph

传统上,开发人员使用证书或客户端密码作为应用程序的凭据,以便通过 Microsoft Entra ID 中的服务进行身份验证和访问服务。 若要访问其Microsoft Entra租户中的服务,开发人员必须Azure外部存储和管理应用程序凭据,从而引入以下瓶颈:

  • 证书和机密的维护负担。
  • 泄露机密的风险。
  • 由于身份验证失败,证书即将过期,服务中断。

联合标识凭据 是一种为软件工作负载启用工作负载联合身份验证的新型凭据。 工作负载联合身份验证允许访问Microsoft Entra受保护的资源,而无需管理 (支持的方案的机密) 。

联合标识凭据的工作原理是什么?

通过配置联合标识凭据,可以在外部标识提供者 (IdP) 与 Microsoft Entra ID 中的应用之间建立信任关系。 联合标识凭据用于指示应用程序可以信任来自外部 IdP 的令牌。 创建该信任关系后,软件工作负载可以将外部标识提供者的受信任令牌交换为Microsoft 标识平台的访问令牌。 然后,软件工作负载使用该访问令牌访问工作负荷有权访问的Microsoft Entra受保护资源。 此过程消除了手动管理凭据的维护负担,并消除了机密泄露或证书过期的风险。 有关详细信息和支持的方案,请参阅 工作负载联合身份验证

注意

联合标识凭据 issuersubjectaudience 值与外部 IdP 发送到Microsoft Entra ID的令牌中的相应值之间的匹配区分大小写。 为了授权方案,这些值必须完全匹配。 有关详细信息,请参阅 联合标识凭据现在使用区分大小写的匹配

通过 Microsoft Graph 设置联合标识凭据

federatedIdentityCredential 资源表示通过 Microsoft Graph 配置联合标识凭据。 使用 创建 federatedIdentityCredential API 配置 对象。 以下属性是联合标识凭据的构建基块:

  • audiences - 可在外部令牌中显示的访问群体。 此字段是必需的,对于Microsoft Entra ID,应设置为 api://AzureADTokenExchange 。 它说明了Microsoft 标识平台在传入令牌的aud声明中应接受的内容。 此值表示外部标识提供者中的Microsoft Entra ID,并且跨标识提供者没有固定值 - 可能需要在 IdP 中创建新的应用程序注册才能充当此令牌的受众。
  • issuer - 外部标识提供者的 URL。 必须与要交换的外部令牌的 颁发者 声明匹配。
  • subject - 外部标识提供者中外部软件工作负载的标识符。 与访问群体值一样,它没有固定格式,因为每个 IdP 都使用自己的 (有时是 GUID,有时是冒号分隔的标识符,有时是任意字符串)。 此处的值必须与提供给 Microsoft Entra ID 的令牌中的声明匹配sub
  • name - 用于标识凭据的唯一字符串。 此属性是备用键,值可用于通过 GETUPSERT 作引用联合标识凭据。

颁发者和使用者的组合在应用上必须是唯一的。 当外部软件工作负荷请求Microsoft 标识平台交换访问令牌的外部令牌时,会根据issuer外部令牌中提供的 和 subject 声明检查联合标识凭据的颁发者和使用者值。 如果验证检查通过,Microsoft 标识平台向外部软件工作负载颁发访问令牌。

设计注意事项

每个应用程序对象或用户分配的托管标识最多可以添加 20 个联合标识凭据。