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

已启用 Azure Arc 的 Kubernetes 群集上的 Azure RBAC

Kubernetes ClusterRoleBinding 和 RoleBinding 对象类型可以帮助你以本机方式在 Kubernetes 中定义授权。 借助 Azure 基于角色的访问控制 (Azure RBAC),可在 Azure 中使用 Microsoft Entra ID 和角色分配来控制群集上的授权检查。 通过此操作,可将 Azure 角色分配的优势(例如,显示对 Azure 资源的所有 Azure RBAC 更改的活动日志)与已启用 Azure Arc 的 Kubernetes 群集一起使用。

体系结构

显示 Azure BRAC 体系结构的示意图。

为了将所有授权访问检查路由至 Azure 中的授权服务,在群集上部署了一个 Webhook 服务器(临界子句)。

apiserver群集的配置为使用 Webhook 令牌身份验证Webhook 授权,以便 TokenAccessReviewSubjectAccessReview 请求路由到 guard webhook 服务器。 TokenAccessReviewSubjectAccessReview 请求由发送到 apiserver 的 Kubernetes 资源的请求触发。

然后,临界子句对 Azure 中的授权服务进行 checkAccess 调用,以查看请求 Microsoft Entra 实体是否有权访问相关资源。

如果该实体具有允许此访问的角色,则会从授权服务向 Guard 发送 allowed 响应。 临界子句将 allowed 响应发送到 apiserver,并使调用实体能够访问请求的 Kubernetes 资源。

如果实体不具有允许此访问的角色,则会从授权服务向 Guard 发送 denied 响应。 临界子句向 apiserver 发送 denied 响应,在请求的资源上给调用实体一个 403 禁止的错误。

后续步骤