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

AKS 的 标识和访问管理注意事项

本文提供有关使用Azure Kubernetes 服务(AKS)时标识和访问管理的设计注意事项和建议。 标识和访问管理有多个方面,包括群集标识、工作负荷标识和操作员访问。

设计注意事项

  • 确定要使用的群集标识(托管标识 或服务 主体)。
  • 决定如何基于客户端证书或通过 Microsoft Entra ID 对群集访问进行身份验证。
  • 确定多租户群集,以及如何在 Kubernetes 中设置基于角色的访问控制 (RBAC)。
    • 选择隔离方法。 方法包括命名空间、网络策略(仅 Azure CNI 允许)、计算(节点池)和群集。
    • 确定每个应用程序团队的 Kubernetes RBAC 角色和计算分配,以便隔离。
    • 确定应用程序团队是否可以在其群集或其他群集中读取其他工作负荷。
  • 确定 AKS 登陆区域的自定义 Azure RBAC 角色的权限。
    • 确定站点可靠性工程(SRE)角色所需的权限,使该角色能够管理和排查整个群集问题。
    • 确定 SecOps 需要哪些权限。
    • 确定登陆区域所有者需要哪些权限。
    • 确定应用程序团队需要部署到群集中的权限。
  • 确定是否需要工作负荷标识(Microsoft Entra 工作负荷 ID)。 可能需要它们用于 Azure 密钥库 集成和 Azure Cosmos DB 等服务。

设计建议

  • 群集标识。
    • 为 AKS 群集使用自己的托管标识
    • 为 AKS 登陆区域定义自定义 Azure RBAC 角色,以简化对群集托管标识所需权限的管理。
  • 群集访问。
    • 将 Kubernetes RBAC 与 Microsoft Entra ID 配合使用,以 限制特权 并最大程度地减少管理员权限。 这样做有助于保护配置和机密访问。
    • 使用 AKS 管理的 Microsoft Entra 集成 ,以便可以使用 Microsoft Entra ID 进行身份验证和操作员和开发人员访问权限。
  • 在 Kubernetes 中定义所需的 RBAC 角色和角色绑定。
    • 使用 Kubernetes 角色和角色绑定 到 Microsoft Entra 组进行站点可靠性工程(SRE)、SecOps 和开发人员访问。
    • 请考虑使用 适用于 Kubernetes 的 Azure RBAC,以便跨 Azure 资源、AKS 和 Kubernetes 资源进行统一管理和访问控制。 启用用于 Kubernetes 的 Azure RBAC 后,无需单独管理 Kubernetes 的用户标识和凭据。 Microsoft Entra 主体将由 Azure RBAC 独占验证,但 Kubernetes RBAC 将专门验证常规 Kubernetes 用户和服务帐户。
  • 根据需要授予 SRE 实时访问权限。
  • 使用 适用于 Kubernetes 的 Microsoft Entra 工作负荷 ID。 实现此联合时,开发人员可以使用本机 Kubernetes 服务帐户和联合身份验证来访问由 Microsoft Entra ID 管理的资源,例如 Azure 和 Microsoft Graph。