无需订阅级别角色即可将 AKS 附加到 ACR 的权限?

问题描述 投票:0回答:1

我创建了一个对特定资源组和所有者具有贡献者角色的用户 属于该资源组中的 ACR 和 AKS 群集的角色。

尽管如此,当用户尝试使用此命令将 ACR 连接到集群时 az aks update -n(集群名称)-g(资源组)--attach-acr(acr 名称)

它返回此错误: 对象 ID xxxxx' 的客户端 [email protected]' 无权在范围 '/subscriptions/xxxx/resourceGroup/xxxxxxx/providers/Microsoft.ContainerService/managedClusters/ 上执行操作 'Microsoft.ContainerService/managedClusters/read' xxxxxx' 或范围无效。如果最近授予了访问权限,请刷新您的凭据。

我已经阅读了有关使用户订阅贡献者的解决方案,但我不希望用户能够看到不属于特定资源组的任何内容。

这也令人困惑,因为用户可以在门户中查看 AKS 集群、进行身份验证以及查看和部署集群中的对象。

有什么办法可以做到这一点吗?

azure-active-directory azure-functions azure-aks azure-cli azure-acr
1个回答
0
投票

此错误消息表示命令中指定的用户或服务主体没有必要的权限来对指定的 AKS 群集执行

Microsoft.ContainerService/managedClusters/read
操作。这可能是由于订阅、资源组或 AKS 集群级别缺乏权限造成的。

您可以通过验证一些事情来修复它 - 首先转到您在其下创建集群和容器的资源组。比方说 jhurtas-rg,在左侧下方您会看到

IAM
enter image description here

首先检查您已在

view my access
下分配给自己的所有访问权限。通常,
contributor access
是有效的。 enter image description here

注意,相同的访问权限应反映在您的集群和容器中。您可以在每个资源的 IAM 下以与上述相同的方式验证这些内容。 如果他们都启用了贡献者角色,那么将 acr 附加到您的集群不会有问题。如果您根本没有权限,请通过单击

add roles
- >
role assignment
-> 添加此附加角色来添加它
aks contributor
enter image description here

请记住,这也必须反映在 acr 和您的集群中。现在你尝试附加你的 acr 你会看到它有效

enter image description here

并且可以提取存储在 acr 存储库中的图像 enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.