我正在尝试创建一个Azure角色分配,该角色将User Access Administrator角色分配给服务主体,但仅分配给Azure Data Factory资源。
我看到了大量关于按订阅,资源组甚至资源设置作用域的文档,但无法弄清楚如何为特定类型的所有资源设置作用域。
我尝试了此PowerShell命令,该命令可以成功运行,但没有达到预期的效果。服务主体仍然无法在ADF资源上执行该角色的操作。
New-AzRoleAssignment -ObjectId ddddddd-dddd-dddd-dddd-dddddddddddd -RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 -Scope "/providers/Microsoft.DataFactory"
我也尝试在范围内尝试使用通配符,但这似乎不受支持:/subscriptions/dddddddd-dddd-dddd-dddd-dddddddddddd/resourceGroups/*/providers/Microsoft.DataFactory/dataFactories/*
这是我已经阅读的文档:
答案 0 :(得分:1)
角色分配用于为用户分配预定义或自定义角色“角色定义”。
角色定义是定义角色范围的角色。角色的范围必须是订阅,资源组和资源。您无法定义资源的类型。它更像一个或多个位置。
RBAC的结构范围: https://docs.microsoft.com/en-us/azure/role-based-access-control/overview#scope
如何创建自定义角色: https://docs.microsoft.com/en-us/azure/role-based-access-control/custom-roles
对于您的情况,如果要授予用户处理所有DataFactory上的IAM的权限,则需要手动定义每个datafactory范围。然后使用Microsoft.Authorization提供程序中的操作:https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations#microsoftauthorization
在定义分配范围时,可以使用-Scope <String>
参数或以下参数的组合来定义它。
-ResourceGroupName <String>
-ResourceName <String>
-ResourceType <String>
资源类型“ -ResourceType”。例如Microsoft.Network/virtualNetworks。应该仅与ResourceGroupName,ResourceName和(可选)ParentResource参数一起使用,以标识资源的相对URI的形式构造层次结构范围。
有关更多详细信息,请参见:https://docs.microsoft.com/en-us/powershell/module/az.resources/new-azroleassignment?view=azps-3.3.0
答案 1 :(得分:0)
现有答案几乎是正确的,但是您可以做一些事情使它起作用:
如果不能将所有数据工厂放在同一资源组\资源组集中。脚本看起来像这样(“伪”代码,未经测试,但可以为您提供想法):
0 0.217322
1 0.045818
2 0.038517
3 0.007593
4 0.000658
5 0.000115
并按计划运行