我如何在 Azure Kubernetes 服务中执行基于角色的访问控制?

How can i do the Role Based Access Control in Azure Kubernetes Service?

我通过 VSTS 在 azure kubernetes 服务中部署了我的应用程序 pods。我通过创建用户在本地集群上使用 RBAC 对 kubernetes 有了想法。现在我想做的是创建一些角色并为我的开发人员和测试人员以及 azure kubernetes 服务分配不同的 kubernetes 资源权限。我对此进行了研究并经历了不同的 links,但我对此没有任何正确的想法。根据我的理解,我们可以只为有权访问 Azure Active Directory 的用户角色分配权限。如果我错了谁能纠正我。

我找到了一种方法,比如 OpenID Connect Tokens。为此,我参考了以下 link。但我不知道身份提供者到底是什么以及如何从上面提到的身份提供者和客户端 ID 和客户端令牌生成不同的令牌 link?

任何人都可以帮助我在 Azure Kubernetes 服务中执行 RBAC 或任何替代方法而不是我上面提到的方法吗?

您可以使用 Azure AD RBAC 和/或内部 k8s RBAC(与本地集群上的完全相同)。

对于 Azure AD RBAC,您将使用与内部 k8s 用户相同的方法,但您需要将角色绑定到 Azure AD 实体:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
 name: binding_name
roleRef:
 apiGroup: rbac.authorization.k8s.io
 kind: ClusterRole
 name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name: "azure_ad_group_guid"

对于内部 k8s RBAC,请阅读 official doc

对于 Azure AD RBAC,请阅读 official doc