你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

已启用 Azure Arc 的 Kubernetes(预览版)中的工作负载联合身份验证

在 Kubernetes 群集上运行的软件工作负载需要一个标识来验证和访问资源或与其他服务通信。 对于在 Azure 外部运行的软件工作负载,则需要使用应用程序凭据(例如机密或证书)访问受 Microsoft Entra 保护的资源(例如 Azure Key Vault 或 Azure Blob 存储)。 这些凭据会带来安全风险,必须安全存储并定期轮换。 如果凭据过期,还会面临服务停机的风险。

通过使用工作负载联合身份验证,可将 Microsoft Entra ID 中的用户分配的托管标识应用注册配置为信任来自外部标识提供者 (IdP)(例如 Kubernetes)的令牌。 Microsoft Entra ID 中的用户分配的托管标识或应用注册成为在已启用 Arc 的 Kubernetes 群集上运行的软件工作负载的标识。 创建该信任关系后,工作负载便可以用来自已启用 Arc 的 Kubernetes 群集的受信任令牌交换来自 Microsoft 标识平台的访问令牌。 软件工作负载使用该访问令牌来访问受 Microsoft Entra 保护的资源。 通过工作负载联合身份验证,可以省去手动管理凭据的维护负担,并消除泄露机密或证书过期的风险。

重要

Azure Arc 工作负载联合身份验证功能目前处于预览状态。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

工作负载标识可如何与已启用 Azure Arc 的 Kubernetes 群集一起使用

对已启用 Azure Arc 的 Kubernetes 的工作负载标识支持使用服务帐户令牌卷投影(即服务帐户),以便工作负载 pod 可以使用 Kubernetes 标识。 将会颁发 Kubernetes 令牌,并且 OpenID Connect (OIDC) 联合支持 Kubernetes 应用程序基于带注释的服务帐户使用 Microsoft Entra ID 安全地访问 Azure 资源。

已启用 Azure Arc 的 Kubernetes 群集充当令牌颁发者。 Microsoft Entra ID 使用 OIDC 发现公共签名密钥,并在用它交换 Microsoft Entra 令牌前验证服务帐户令牌的真实性。 工作负载可以使用 Azure 标识客户端库或 Microsoft 身份验证库 (MSAL),将投影到其卷的服务帐户令牌交换为 Microsoft Entra 令牌。

关系图显示已启用 Azure Arc 的 Kubernetes 的工作负载标识功能的流程流。

下表显示 Microsoft Entra Workload ID 所需的 OIDC 颁发者终结点。

终结点 说明
{IssuerURL}/.well-known/openid-configuration 也称为 OIDC 发现文档。 包含有关颁发者配置的元数据。
{IssuerURL}/openid/v1/jwks 包含 Microsoft Entra ID 用于验证服务帐户令牌真实性的公共签名密钥。

服务帐户标签和批注

Microsoft Entra Workload ID 支持与服务帐户相关的以下映射:

  • 一对一:一个服务帐户引用一个 Microsoft Entra 对象
  • 多对一:多个服务帐户引用同一个 Microsoft Entra 对象
  • 一对多:一个服务帐户通过更改客户端 ID 注释来引用多个 Microsoft Entra 对象。 有关详细信息,请参阅如何将多个标识与 Kubernetes 服务帐户联合

要求

已启用 Azure Arc 的 Kubernetes 群集从代理版本 1.21 开始支持 Microsoft Entra 工作负载标识。

若要使用工作负载标识功能,必须具有 Azure CLI 2.64 或更高版本以及 az connectedk8s 版本 1.10.0 或更高版本。 在更新 az connectedk8s 版本之前,请务必更新 Azure CLI 版本。 如果使用 Azure Cloud Shell,则将安装最新版本的 Azure CLI。

Microsoft Entra Workload ID 与应用程序注册结合使用,特别适用于 Azure 标识客户端库Microsoft 身份验证库 (MSAL) 集合。 工作负载可以使用其中任何一个库来无缝地进行身份验证和访问 Azure 云资源。

有关与常用库集成的详细信息,请参阅将 Microsoft Entra Workload ID 与 AKS 配合使用

当前限制

请记住以下当前限制:

  • 可以为每个托管标识配置最多 20 个联合标识凭据。
  • 首次添加联合标识凭据后,需要几秒钟才能传播。
  • 不支持对某些区域中的用户分配的托管标识创建联合标识凭据。

后续步骤