Azure RBAC和AKS未按预期工作 [英] Azure RBAC and AKS not working as expected

查看:0
本文介绍了Azure RBAC和AKS未按预期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个AKS群集,其中启用了AKS管理的Azure Active Directory和基于角色的访问控制(RBAC)。 如果我尝试使用Admin Azure AD组中包含的帐户之一连接到群集,则一切都会正常工作。 当我尝试使用不是Admin Azure AD组成员的用户执行此操作时遇到一些困难。我所做的如下:

  • 已创建新用户
  • 已将Azure Kubernetes服务群集用户角色和Azure Kubernetes服务RBAC读取器角色分配给此用户。
  • 执行以下命令:AZ aks Get-Credentials--resource-group rg1--name aksttest

当我随后执行以下命令:kubectl get pods-n test时,我收到以下错误:来自服务器的错误(禁止):PODS被禁止:用户";aksthree@tenantname.onmicrosoft.com";无法在命名空间中列出api组中的资源。

在集群中,我没有执行任何角色绑定。根据docu from Microsoft,集群中没有应该完成的额外任务(例如。角色定义和角色绑定)。

我的期望是,当用户分配了上述两个角色时,他应该能够在集群中拥有读取权限。我做错了什么吗?

请让我知道你的想法, 提前谢谢你, 迈克

推荐答案

使用AKS-managed Azure Active Directory时,会启用AD用户身份验证,但授权发生在Kubernetes RBAC中 只需separately配置Azure IAMKubernetes RBAC即可。例如,它添加了aks-cluster-admin-binding-aadClusterRoleBinding,该绑定提供对Admin Azure AD组中包括的帐户的访问。

Azure Kubernetes Service RBAC Reader角色适用于Azure RBAC for Kubernetes Authorizationfeature位于AKS管理的Azure Active Directory之上,其中身份验证和授权都使用AD和Azure RBAC进行。它在API服务器上使用Webhook Token Authentication技术来验证令牌。

您可以在已具有AAD集成的现有群集上为Kubernetes授权启用Azure RBAC:

az aks update -g <myResourceGroup> -n <myAKSCluster> --enable-azure-rbac

这篇关于Azure RBAC和AKS未按预期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆