Azure AKS:无需管理员即可使用 get-credentials 完全访问新的 RBAC 集群
Azure AKS: Full access to new RBAC cluster with get-credentials without admin
如果我从 Azure 门户创建全新的 AKS RBAC 集群,在我具有 Contributor 角色的资源组中,然后 运行 az aks get-credentials
没有管理员标志,我可以使用 kubectl 创建和删除 pods 和命名空间,读取集群范围的秘密等等。这是 无需 首先使用 --admin
登录并创建任何 RBAC 角色和绑定。
是什么赋予了我这些权限?基于 discussions I found online,get-credentials
的非管理员版本下载了 集群用户 角色的 kubeconfig 设置,这应该允许我登录但没有其他太多,out盒子的。
这里有点混乱。因此,如果您创建一个启用 RBAC 的集群,az aks get-credentials
将拉取管理配置(因此具有完全访问权限)。您需要登录创建 roles\bindings\service accounts\users 和 generate kubeconfigs for other users 以便他们将获得您希望他们拥有的权限。
但是,如果您使用 AAD integration 创建启用了 RBAC 的集群,那么 az aks get-credentials
将根据您的 AAD 用户提取凭据,这将不起作用(提取会起作用,访问 k8s 将不起作用) 除非你在 k8s.
里面配置合适的 roles\bindings
我们打开了支持票并得到了答复:Microsoft 确认这是一个错误,他们正在处理:
Having "Azure Kubernetes Service Cluster Admin Role" should not allow you to get-credentials
with user profile.
However, there is a bug where the client certificate we return in get-credentials --admin
is same as get-credentials
. It pretty much means clusterUser is as good as clusterAdmin.
如果我从 Azure 门户创建全新的 AKS RBAC 集群,在我具有 Contributor 角色的资源组中,然后 运行 az aks get-credentials
没有管理员标志,我可以使用 kubectl 创建和删除 pods 和命名空间,读取集群范围的秘密等等。这是 无需 首先使用 --admin
登录并创建任何 RBAC 角色和绑定。
是什么赋予了我这些权限?基于 discussions I found online,get-credentials
的非管理员版本下载了 集群用户 角色的 kubeconfig 设置,这应该允许我登录但没有其他太多,out盒子的。
这里有点混乱。因此,如果您创建一个启用 RBAC 的集群,az aks get-credentials
将拉取管理配置(因此具有完全访问权限)。您需要登录创建 roles\bindings\service accounts\users 和 generate kubeconfigs for other users 以便他们将获得您希望他们拥有的权限。
但是,如果您使用 AAD integration 创建启用了 RBAC 的集群,那么 az aks get-credentials
将根据您的 AAD 用户提取凭据,这将不起作用(提取会起作用,访问 k8s 将不起作用) 除非你在 k8s.
我们打开了支持票并得到了答复:Microsoft 确认这是一个错误,他们正在处理:
Having "Azure Kubernetes Service Cluster Admin Role" should not allow you to
get-credentials
with user profile. However, there is a bug where the client certificate we return inget-credentials --admin
is same asget-credentials
. It pretty much means clusterUser is as good as clusterAdmin.