Azure AKS 用户凭据登录到 K8 仪表板和 RBAC 内置角色
Azure AKS User Credentials Login to K8 Dashboard and RBAC Built-in Roles
根据 documentation,Azure Kubernetes 服务集群用户角色允许访问 Microsoft。ContainerService/managedClusters/listClusterUserCredential/action API 仅调用。
我的用户是对 AKS 群集具有 Azure Kubernetes Service Cluster User Role
权限的 AD 组的一部分,并且所有群集角色和群集角色绑定都已通过 kubectl
应用。
我可以通过以下步骤仔细检查并验证对仪表板的访问权限和权限是否有效:
1. az login
2. az aks get-credentials --resource-group rg --name aks
3. kubectl proxy
4. Open web connection
5. Get prompt on terminal to login via device code flow
6. Return to web connection on dashboard
7. I can correctly verify that my permissions apply,
i.e. deleting a job does not work and this falls in line with my
kubectl clusterrole bindings to the Azure AD group.
然而,当我尝试使用 az aks browse
命令像这样自动打开浏览器时,即没有 kubectl proxy
:
1. az login
2. az aks get-credentials --resource-group rg --name aks
3. az aks browse --resource-grouprg --name aks
我不断收到以下错误:
The client 'xxx' with object id 'yyyy' does not have authorization to perform action
'Microsoft.ContainerService/managedClusters/read' over scope
'/subscriptions/qqq/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/aks'
or the scope is invalid. If access was recently granted, please refresh your credentials.
一个 dirty
解决方案是在该 AD 组的 AKS 集群上应用 Reader
角色 - 然后这个问题就消失了,但为什么 az aks browse
需要 Microsoft.ContainerService/managedClusters/read
权限为什么 Azure Kubernetes Service Cluster User Role
中没有包含它?
这里发生了什么?
目前,命令
az aks browse --resource-grouprg --name aks
不适用于较新版本的 AKS,您可以在此处找到完整的详细信息。
https://github.com/MicrosoftDocs/azure-docs/issues/23789
此外,您当前的问题也可能是您的用户 XXX 没有 Subscription/ResourceGroup 级别的正确 IAM 访问级别。
根据 documentation,Azure Kubernetes 服务集群用户角色允许访问 Microsoft。ContainerService/managedClusters/listClusterUserCredential/action API 仅调用。
我的用户是对 AKS 群集具有 Azure Kubernetes Service Cluster User Role
权限的 AD 组的一部分,并且所有群集角色和群集角色绑定都已通过 kubectl
应用。
我可以通过以下步骤仔细检查并验证对仪表板的访问权限和权限是否有效:
1. az login
2. az aks get-credentials --resource-group rg --name aks
3. kubectl proxy
4. Open web connection
5. Get prompt on terminal to login via device code flow
6. Return to web connection on dashboard
7. I can correctly verify that my permissions apply,
i.e. deleting a job does not work and this falls in line with my
kubectl clusterrole bindings to the Azure AD group.
然而,当我尝试使用 az aks browse
命令像这样自动打开浏览器时,即没有 kubectl proxy
:
1. az login
2. az aks get-credentials --resource-group rg --name aks
3. az aks browse --resource-grouprg --name aks
我不断收到以下错误:
The client 'xxx' with object id 'yyyy' does not have authorization to perform action
'Microsoft.ContainerService/managedClusters/read' over scope
'/subscriptions/qqq/resourceGroups/rg/providers/Microsoft.ContainerService/managedClusters/aks'
or the scope is invalid. If access was recently granted, please refresh your credentials.
一个 dirty
解决方案是在该 AD 组的 AKS 集群上应用 Reader
角色 - 然后这个问题就消失了,但为什么 az aks browse
需要 Microsoft.ContainerService/managedClusters/read
权限为什么 Azure Kubernetes Service Cluster User Role
中没有包含它?
这里发生了什么?
目前,命令
az aks browse --resource-grouprg --name aks
不适用于较新版本的 AKS,您可以在此处找到完整的详细信息。
https://github.com/MicrosoftDocs/azure-docs/issues/23789
此外,您当前的问题也可能是您的用户 XXX 没有 Subscription/ResourceGroup 级别的正确 IAM 访问级别。