你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
已启用 Azure Arc 的 Kubernetes 的标识和访问管理
已启用 Azure Arc 的 Kubernetes 支持与不同标识和访问管理系统集成的本地和其他云环境。 除了现有 Kubernetes 群集基于角色的访问控制 (RBAC) 之外,已启用 Azure Arc 的 Kubernetes 还支持 Azure RBAC,以统一跨 Kubernetes 群集的访问管理,并最大限度地减少运营开销。
组织应使用的组合 RBAC 模型取决于组织的使用需求。 一些示例如:
- 将 Kubernetes 群集加入 Azure Arc
- 管理已启用 Arc 的 Kubernetes 群集
- 安装 Azure Arc 群集扩展
- 在已启用 Arc 的 Kubernetes 群集上运行应用程序
- 使用 Azure RBAC 访问 Azure 资源
了解组织的需求和已启用 Azure Arc 的 Kubernetes 的功能后,可以在生成已启用 Arc 的 Kubernetes 群集时为特定基础结构、安全性和治理要求选择最佳 RBAC 模型。
本文介绍已启用 Azure Arc 的 Kubernetes 标识和访问管理 (IAM) 体系结构、设计注意事项、建议以及适用于各种场景的基于角色的访问控制。
体系结构
要为组织设计正确的体系结构,需要了解已启用 Arc 的 Kubernetes 连接模式。 Azure RBAC 仅在完全连接模式下受支持,半连接模式下不受支持。
支持 Azure Arc 的 Kubernetes 上的 Azure RBAC
下图显示了各种已启用 Azure Arc 的 Kubernetes 组件,以及它们在 Azure RBAC 用于管理 Kubernetes 群集时如何交互。
从任何位置安全地访问已启用 Azure Arc 的 Kubernetes 群集
下图显示了从任何位置访问已启用 Azure Arc 的 Kubernetes 群集,以及组件如何相互交互以使用 Azure RBAC 管理群集。
设计注意事项
查看 Azure 登陆区域的标识和访问管理设计区域,以评估已启用 Azure Arc 的 Kubernetes 对整体标识和访问模型的影响。
对于 Kubernetes 群集加入:
- 决定Microsoft Entra 用户(用于手动载入单个群集)与服务主体(用于脚本化和无外设载入多个群集),以便单独或大规模地将 Kubernetes 群集加入 Azure Arc。 有关更多实现详细信息,请参阅自动化规则关键设计区域。
- 加入实体的标识需要在群集上具有 cluster-admin ClusterRoleBinding。 决定是使用来自本地或其他云标识提供商的用户,还是使用具有群集管理员角色的 Kubernetes 服务帐户。
对于 Kubernetes 群集管理:
- 启用 Azure Arc 的 Kubernetes 将 Microsoft Entra 身份验证和 Azure RBAC 引入本地或其他云 Kubernetes 环境时,必须根据组织的安全性和治理要求在现有 Kubernetes 访问管理和 Azure RBAC 之间做出决定。
- 确定是否可通过已启用 Azure Arc 的 Kubernetes 群集连接灵活地管理 Kubernetes 群集,而无需向本地或其他云网络开放入站防火墙端口。
- 在本地和其他云环境中运行多个 Kubernetes 群集并且需要跨所有 Kubernetes 群集简化群集管理时,请确定 Azure RBAC 是否是正确的选择。
设计建议
对于 Kubernetes 群集加入:
- 使用 Microsoft Entra 安全组 授予已启用 Azure Arc 的 Kubernetes 群集 RBAC 角色,以便载入和管理已启用 Azure Arc 的 Kubernetes 群集。
对于 Kubernetes 群集管理:
如果本地标识与 Microsoft Entra ID 同步,请在使用 Azure RBAC 进行群集管理时使用相同的标识。
通过创建安全组并将其映射到已启用 Azure Arc 的 Kubernetes 支持的 Azure RBAC 角色来简化访问管理。 根据资源组织和治理要求,在资源组或订阅级别为这些安全组分配权限。 有关详细信息,请参阅资源组织关键设计区域。
注意
已启用 Azure Arc 的 Kubernetes 不支持拥有超过 200 个安全组成员身份的用户,而是会给出身份验证错误。
避免将用户直接分配给 Azure RBAC 角色,因为很难治理访问管理。
通过分配安全组所有者来分散和委派访问管理责任和审核分配。
在 Microsoft Entra ID 中启用定期 访问评审 ,以删除不再需要访问 Kubernetes 群集的用户。
在使用 Azure RBAC 进行群集管理时创建条件访问策略,以强制执行各种条件以满足安全和治理策略。
基于角色的访问控制
已启用 Azure Arc 的 Kubernetes 使用 Azure RBAC 管理 Kubernetes 群集,并支持以下角色将 Kubernetes 群集加入 Azure Arc。
角色 | 说明 |
---|---|
已启用 Azure Arc 的 Kubernetes 群集用户角色 | 允许从任何位置获取基于群集连接的 kubeconfig 文件来管理群集。 |
Azure Arc Kubernetes 管理员 | 允许管理群集/命名空间下的所有资源,但不能更新或删除资源配额和命名空间。 |
Azure Arc Kubernetes 群集管理员 | 允许管理群集中的所有资源。 |
Azure Arc Kubernetes 查看者 | 允许查看群集/命名空间中除密码之外的所有资源。 |
Azure Arc Kubernetes 写入者 | 允许更新群集/命名空间中的所有内容,但(群集)角色和(群集)角色绑定除外。 |
Kubernetes 群集 - Azure Arc 载入 | 通过角色定义可以授权任何用户/服务创建连接的群集资源 |
后续步骤
有关混合和多云云旅程的详细信息,请参阅以下文章:
- 查看已启用 Azure Arc 的 Kubernetes 的先决条件。
- 查看启用 Azure Arc 的 Kubernetes 的经过验证的 Kubernetes 发行版。
- 查看管理混合和多云环境。
- 查看在将 Azure RBAC 用于已启用 Azure Arc 的 Kubernetes 群集时应用的通用条件访问策略。
- 资源组织可帮助使用 Azure RBAC 规划和应用治理和安全性。
- 了解如何将 Microsoft Entra ID 与已启用 Azure Arc 的 Kubernetes 群集集成。
- 了解如何使用群集连接从任何位置安全访问群集。
- 查看 Azure 登陆区域 - Azure 标识和访问管理设计区域。
- 查看云采用框架 - 访问控制方法。
- 使用 Azure Arc 快速入门体验已启用 Azure Arc 的 Kubernetes 自动化方案。
- 通过 Azure Arc 学习路径了解有关 Azure Arc 的详细信息。
- 查看常见问题解答 - 已启用 Azure Arc,以获取最常见问题的解答。