无法使用所有者服务原则在管道中创建角色分配



我有一个部署一些ARM模板的构建管道。其中一些资源需要为 RBAC 分配角色。

管道用于连接到订阅的服务主体是所有者,但如果模板尝试创建角色分配资源,或者我尝试在管道中运行 az cli 来创建分配,则权限不足。

需要所有者以上的哪些权限才能允许此操作?

我想你误解了Global adminOwner.Global admin是 Azure AD 中的Administrator roleOwner是订阅中的RBAC role。它们是不同的东西。

使用如下所示的 azure CLI 创建角色分配时,它会将服务主体joytestsp作为Owner添加到存储帐户。登录的服务主体需要先调用 AAD 图来获取对象,然后调用 Azure 管理 rest API 以将其添加到存储帐户。

az role assignment create --assignee 'joytestsp' --role 'Owner' --scope '/subscriptions/xxxxxx/resourceGroups/xxx/providers/Microsoft.Storage/storageAccounts/joyfunction'

因此,若要解决此问题,可以导航到门户中的Azure Active Directory->Roles and administrators->单击Global administrator->Add assignments->添加用于以Global administrator身份登录的服务主体。那么它应该可以工作。


此外,如果不想将其Global administrator给服务主体,还可以在命令中指定服务主体/用户的object id,然后它也可以工作。

az role assignment create --assignee 'b4d3c922-xxxxxxx-3ab785333011' --role 'Owner' --scope '/subscriptions/xxxxxx/resourceGroups/xxx/providers/Microsoft.Storage/storageAccounts/joyfunction'

最新更新