繁体   English   中英

无需订阅所有者即可将 Azure Kubernetes 服务 (AKS) 附加到 Azure 容器注册表 (ACR)

[英]Attach Azure Kubernetes Service (AKS) to Azure Container Registry (ACR) without being Subscription Owner

我正在通过 ARM 模板和 Azure DevOps 管道部署 AKS,并希望自动连接到 ACR

为此,我需要执行az aks update --name $(clusterName) --resource-group $(rgName) --attach-acr $(containerRegistryName)

..但是这需要订阅级别的所有者,我不希望服务原则拥有它

有没有可用的解决方法?

您唯一的解决方法是创建一个仅允许为该特定资源分配权限的自定义角色。 看起来像这样:

$role = Get-AzureRmRoleDefinition "Virtual Machine Contributor"
$role.Id = $null
$role.Name = "xxx"
$role.Description = "yyy"
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Authorization/roleAssignments/write")
$role.AssignableScopes.Clear()

$scope = "your azure container registry resourceId"
$role.AssignableScopes.Add($scope)
$def = New-AzureRmRoleDefinition -Role $role

由于 az cli 的实现方式,您可能还需要添加读取权限,但本质上写入应该就足够了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM