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

时间:2019-03-02 16:37:59

标签: azure kubernetes azure-rbac

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

我发现了一种类似OpenID Connect令牌的方法。为此,我提到了以下link。但是我不知道身份提供者到底是什么,以及如何从上面链接中提到的身份提供者以及客户端ID和客户端令牌生成不同的令牌?

有人可以帮我在Azure Kubernetes Service中执行RBAC或其他替代方法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Azure AD RBAC和/或内部k8s RBAC(与本地群集上的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

相关问题