Azure AKS:无需管理员即可完全获得具有获取凭据的新RBAC群集

时间:2019-06-07 04:05:39

标签: azure azure-aks azure-rbac

如果我从Azure门户中创建一个具有 Contributor 角色的资源组中的全新AKS RBAC群集,然后运行az aks get-credentials 而没有管理员标志< / em>,我可以使用kubectl创建和删除pod和名称空间,读取集群范围的机密信息,等等。这是的操作,首先使用--admin登录并创建任何RBAC角色和绑定。

赋予我这些权限的原因是什么?基于discussionsfound onlineget-credentials的非管理员版本会下载集群用户角色的kubeconfig设置,这应该允许我开箱即用即可登录,但不进行其他操作。

2 个答案:

答案 0 :(得分:1)

我们打开了一张支持票并得到了答案:Microsoft确认这是一个错误,并且他们正在努力解决问题:

  

具有“ Azure Kubernetes服务群集管理员角色”的用户不应get-credentials使用用户个人资料。   但是,存在一个错误,即我们在get-credentials --admin中返回的客户端证书与get-credentials相同。这几乎意味着clusterUser和clusterAdmin一样好。

答案 1 :(得分:0)

这里有些混乱。因此,如果您创建启用了RBAC的群集,则az aks get-credentials将提取管理配置(完全访问权限)。您需要登录才能创建角色\绑定\服务帐户\用户和generate kubeconfigs for other users,以便他们准确地获得您希望他们拥有的权限。

但是,如果您使用AAD integration创建一个启用了RBAC的集群,那么az aks get-credentials将根据您的AAD用户提取凭据,并且将不起作用(拉将起作用,访问k8不会),除非您可以在k8s内部配置适当的角色\绑定。