Vas*_*huk 3 powershell rbac azure
我正在尝试创建一个自定义 Azure RM 角色定义,其范围适用于一个订阅内的某些资源组。我不想提供对所有订阅或仅一个资源组的访问,并且我可以指定资源组列表,因为其中一些资源组尚未创建。我只想提供订阅资源组的某些子集的访问权限。
\n\n为此,我使用 PowerShell cmdlet
\n\nNew-AzureRmRoleDefinition -InputFile .\\new-role.json \nRun Code Online (Sandbox Code Playgroud)\n\nJSON 在哪里
\n\n{\n "Name": "RoleAssignmentsWriter",\n "Description": "Allow to perform role assignment",\n "Actions": [\n "Microsoft.Authorization/roleAssignments/write"\n ],\n "AssignableScopes": [\n "/subscriptions/xxxxx-xxxxx-xxxx-xxx-xxxxxxx/resourceGroups/prefix*"\n ]\n} \nRun Code Online (Sandbox Code Playgroud)\n\n其中prefix是现有资源组名称和功能资源组名称的前缀。
\n\n如果AssignableScopes: [\xe2\x80\x9c/subscriptions/xxxxx-xxxxx-xxxx-xxx-xxxxxxx\xe2\x80\x9d]\xe2\x80\x93 整个订阅或者如果AssignableScopes: ["/subscriptions/xxxxx-xxxxx-xxxx-xxx-xxxxxxx/resourceGroups/ResourceGroupName\xe2\x80\x9d]
AssignableScopes: ["/subscriptions/xxxxx-xxxxx-xxxx-xxx-xxxxxxx/resourceGroups/prefix*"]但如果我指定或什至 则不\xe2\x80\x99 不起作用AssignableScopes: ["/subscriptions/xxxxx-xxxxx-xxxx-xxx-xxxxxxx/resourceGroups/*"]。
一件重要的事情是,我想为尚不存在的资源组创建角色定义,稍后将创建它们。
\n\n问题是:是否可以AssignableScopes仅指定订阅资源组的某些子集?也许我可以在其中使用某种通配符AssignableScopes?简单的星号标记不起作用。\n或者也许我可以使用资源组标签或其他东西?
预先非常感谢您。
\n是否可以将AssignableScopes仅指定给订阅资源组的某些子集?也许我可以在AssignableScopes 中使用某种通配符?
AFAIK,你不能在里面使用通配符assignableScopes,New-AzureRmRoleDefinitionpowershell命令本质上是调用Role Definitions - Create Or UpdateREST API,assignableScopes只接受三种类型,参考这个链接。
如果您只想将AssignableScopes指定给订阅资源组的某些子集,则需要在 中一一指定它们assignableScopes,例如
"assignableScopes": [
"subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1",
"subscriptions/{subscriptionId}/resourceGroups/myresourcegroup2",
"subscriptions/{subscriptionId}/resourceGroups/myresourcegroup3",
]
Run Code Online (Sandbox Code Playgroud)
或者也许我可以使用资源组标签或其他东西?
不,可能的属性都列在 REST API 文档中,没有其他属性。
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |