运行"az aks get-credentials"命令时出现 Azure Kubernetes 错误



Azure Admins为我们创建了一个集群。在虚拟机上安装了"az cli" and "kubectl"。使用我的Azure Portal帐户,我可以看到它所属的Kubernetes服务和资源组。从Azure Portal中的集群级别,我可以看到我有一个角色:

"AKS集群管理操作员">

我用kubectl用我的帐户登录VM。我需要配置kubectl,以便与我们的集群一起工作。当我尝试执行:

az aks get-credentials --resource-group FRONT-AKS-NA2 --name front-aks

我得到错误:

ForbiddenError:客户端'my_name@my_comp.COM'与对象id'4ea46ad637c6'没有执行操作的授权"微软。ContainerService/managedClusters/listClusterUserCredential/行动"在范围'/订阅/89 e05d73 - 8862 - 4007 - a700 - 0 f895fc0f7ea/resourceGroups/FRONT-AKS-NA2/供应商/微软。ContainerService/managedClusters front-aks"或者作用域无效。如果最近获准访问,请刷新您的凭据

在我的例子中,刷新最近授予的凭据有帮助:

az account set --subscription "your current subscription name"

导致重新登录并修复问题。

嗯,我看到了评论,你已经得到了解决方案。我来解释一下它们的区别。希望对你有所帮助!

当使用az aks get-credentials命令而不带--admin参数时,表示CLI命令使用默认值:集群用户。当您使用集群用户时,如果您将AKS与AAD集成,它就可以工作。但是你说你只有AKS Cluster Admin Operator这个角色,所以合适的参数是--admin。你可以在这里获得更多细节。

对我来说,这有点危险。如果AKS集群只是用于测试,则没有问题。但如果是用于生产,我建议您与AAD集成,然后向用户授予适当的权限。因为admin用户意味着你拥有所有的权限,你知道,这是不安全的。

最新更新