已启用 Azure Arc 的 Kubernetes 群集上的 Azure RBAC
Kubernetes ClusterRoleBinding 和 RoleBinding 对象类型可以帮助你以本机方式在 Kubernetes 中定义授权。 借助 Azure 基于角色的访问控制 (Azure RBAC),可在 Azure 中使用 Microsoft Entra ID 和角色分配来控制群集上的授权检查。 通过此操作,可将 Azure 角色分配的优势(例如,显示对 Azure 资源的所有 Azure RBAC 更改的活动日志)与已启用 Azure Arc 的 Kubernetes 群集一起使用。
体系结构
为了将所有授权访问检查路由至 Azure 中的授权服务,在群集上部署了一个 Webhook 服务器(临界子句)。
apiserver
群集的配置为使用 Webhook 令牌身份验证和 Webhook 授权,以便 TokenAccessReview
和 SubjectAccessReview
请求路由到 guard webhook 服务器。 TokenAccessReview
和 SubjectAccessReview
请求由发送到 apiserver
的 Kubernetes 资源的请求触发。
然后,临界子句对 Azure 中的授权服务进行 checkAccess
调用,以查看请求 Microsoft Entra 实体是否有权访问相关资源。
如果该实体具有允许此访问的角色,则会从授权服务向 Guard 发送 allowed
响应。 临界子句将 allowed
响应发送到 apiserver
,并使调用实体能够访问请求的 Kubernetes 资源。
如果实体不具有允许此访问的角色,则会从授权服务向 Guard 发送 denied
响应。 临界子句向 apiserver
发送 denied
响应,在请求的资源上给调用实体一个 403 禁止的错误。
后续步骤
- 使用我们的快速入门将 Kubernetes 群集连接到 Azure Arc。
- 在启用了 Azure Arc 的 Kubernetes 上设置 Azure RBAC。