你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

az role assignment

管理角色分配。

命令

名称 说明 类型 Status
az role assignment create

为用户、组或服务主体创建新的角色分配。

核心 乔治亚州
az role assignment delete

删除角色分配。

核心 乔治亚州
az role assignment list

列出角色分配。

核心 乔治亚州
az role assignment list-changelogs

列出角色分配的更改日志。

核心 乔治亚州
az role assignment update

更新用户、组或服务主体的现有角色分配。

核心 乔治亚州

az role assignment create

为用户、组或服务主体创建新的角色分配。

az role assignment create --role
                          --scope
                          [--assignee]
                          [--assignee-object-id]
                          [--assignee-principal-type {ForeignGroup, Group, ServicePrincipal, User}]
                          [--condition]
                          [--condition-version]
                          [--description]
                          [--name]

示例

创建角色分配,以向指定的被授权者授予 Azure 虚拟机上的“读取者”角色。

az role assignment create --assignee sp_name --role Reader --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyVm

为具有说明和条件的被分配者创建角色分配。

az role assignment create --role Owner --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/MyStorageAccount --assignee "John.Doe@Contoso.com" --description "Role assignment foo to check on bar" --condition "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:Name] stringEquals 'foo'" --condition-version "2.0"

使用自己的分配名称创建角色分配。

az role assignment create --assignee-object-id 00000000-0000-0000-0000-000000000000 --assignee-principal-type ServicePrincipal --role Reader --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup --name 00000000-0000-0000-0000-000000000000

必需参数

--role

角色名称或 ID。

--scope

角色分配或定义应用于的范围,例如 /subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333、/subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333/resourceGroups/myGroup, 或 /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM。

可选参数

--assignee

表示用户、组或服务主体。 支持的格式:对象 ID、用户登录名称或服务主体名称。

--assignee-object-id

被分派人的对象 ID(也称为主体 ID)。 使用此参数而不是“--assignee”可绕过 Microsoft Graph 查询,以防登录帐户没有权限或计算机没有查询 Microsoft Graph 的网络访问权限。

--assignee-principal-type

与 --assignee-object-id 一起使用,以避免Microsoft Graph 中传播延迟导致的错误。

接受的值: ForeignGroup, Group, ServicePrincipal, User
--condition
预览

可授予用户权限的条件。

--condition-version
预览

条件语法的版本。 如果未指定 --condition-version,则默认值为 2.0。

--description
预览

角色分配的说明。

--name -n

角色分配的 GUID。 对于每个角色分配,它必须唯一且不同。 如果省略,则会生成新的 GUID。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

仅显示错误,禁止显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

az role assignment delete

删除角色分配。

此命令将删除满足提供查询条件的所有角色分配。 在运行此命令之前,强烈建议先使用相同参数运行 az role assignment list,以查看将删除哪些角色分配。

az role assignment delete [--assignee]
                          [--assignee-object-id]
                          [--ids]
                          [--include-inherited]
                          [--resource-group]
                          [--role]
                          [--scope]
                          [--yes]

示例

删除订阅范围内具有“读取者”角色的所有角色分配。

az role assignment delete --role Reader --scope /subscriptions/00000000-0000-0000-0000-000000000000

删除订阅范围内被分配者的所有角色分配。

az role assignment delete --assignee 00000000-0000-0000-0000-000000000000 --scope /subscriptions/00000000-0000-0000-0000-000000000000

删除订阅范围内的受理人(及其对象 ID)的所有角色分配。

az role assignment delete --assignee-object-id 00000000-0000-0000-0000-000000000000 --scope /subscriptions/00000000-0000-0000-0000-000000000000

可选参数

--assignee

表示用户、组或服务主体。 支持的格式:对象 ID、用户登录名称或服务主体名称。

--assignee-object-id

被分派人的对象 ID(也称为主体 ID)。 使用此参数而不是“--assignee”可绕过 Microsoft Graph 查询,以防登录帐户没有权限或计算机没有查询 Microsoft Graph 的网络访问权限。

--ids

空格分隔的角色分配 ID。

--include-inherited

包括应用于父范围的分配。

默认值: False
--resource-group -g

仅当在资源组级别添加角色或分配时,才使用它。

--role

角色名称或 ID。

--scope

角色分配或定义应用于的范围,例如 /subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333、/subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333/resourceGroups/myGroup, 或 /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM。

--yes -y

目前 no-op。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

仅显示错误,禁止显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

az role assignment list

列出角色分配。

默认情况下,只会列出局限于订阅的分配。 若要查看按资源或组来确定范围的分配,请使用 --all

az role assignment list [--all]
                        [--assignee]
                        [--assignee-object-id]
                        [--fill-principal-name {false, true}]
                        [--fill-role-definition-name {false, true}]
                        [--include-groups]
                        [--include-inherited]
                        [--resource-group]
                        [--role]
                        [--scope]

示例

列出订阅范围内的角色分配。

az role assignment list --scope /subscriptions/00000000-0000-0000-0000-000000000000

列出订阅范围内的角色分配,而不填写 roleDefinitionName 属性。

az role assignment list --scope /subscriptions/00000000-0000-0000-0000-000000000000 --fill-role-definition-name false

列出订阅范围内具有“读取者”角色的角色分配。

az role assignment list --role Reader --scope /subscriptions/00000000-0000-0000-0000-000000000000

列出订阅范围内的受理人的角色分配。

az role assignment list --assignee 00000000-0000-0000-0000-000000000000 --scope /subscriptions/00000000-0000-0000-0000-000000000000

在订阅范围内列出受理人的角色分配(及其对象 ID),而不填写 principalName 属性。 此命令不查询 Microsoft Graph。

az role assignment list --assignee-object-id 00000000-0000-0000-0000-000000000000 --scope /subscriptions/00000000-0000-0000-0000-000000000000 --fill-principal-name false

可选参数

--all

显示当前订阅下的所有分配。

默认值: False
--assignee

表示用户、组或服务主体。 支持的格式:对象 ID、用户登录名称或服务主体名称。

--assignee-object-id

被分派人的对象 ID(也称为主体 ID)。 使用此参数而不是“--assignee”可绕过 Microsoft Graph 查询,以防登录帐户没有权限或计算机没有查询 Microsoft Graph 的网络访问权限。

--fill-principal-name

查询 Microsoft Graph 以获取被分派人的 userPrincipalName(对于用户)、servicePrincipalNames(对于服务主体)或 displayName(对于组),然后使用它填充 principalName 属性。 如果登录帐户没有权限或计算机没有查询 Microsoft Graph 的网络访问权限,请将此标志设置为 false 以避免警告或错误。

接受的值: false, true
默认值: True
--fill-role-definition-name

除了 roleDefinitionId 之外,还要填写 roleDefinitionName 属性。 此作成本高昂。 如果您遇到性能问题,请将此标志设置为 false。

接受的值: false, true
默认值: True
--include-groups

包括对用户所属组的额外分配(传递)。

默认值: False
--include-inherited

包括应用于父范围的分配。

默认值: False
--resource-group -g

仅当在资源组级别添加角色或分配时,才使用它。

--role

角色名称或 ID。

--scope

角色分配或定义应用于的范围,例如 /subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333、/subscriptions/0b1f6471-1bf0-4dda-aec3-1111222223333/resourceGroups/myGroup, 或 /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

仅显示错误,禁止显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

az role assignment list-changelogs

列出角色分配的更改日志。

az role assignment list-changelogs [--end-time]
                                   [--start-time]

可选参数

--end-time

查询的结束时间,格式为 %Y-%m-%dT%H:%M:%SZ,例如 2000-12-31T12:59:59Z。 默认为当前时间。

--start-time

查询的开始时间,格式为 %Y-%m-%dT%H:%M:%SZ,例如 2000-12-31T12:59:59Z。 默认为当前时间之前的 1 小时。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

仅显示错误,禁止显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

az role assignment update

更新用户、组或服务主体的现有角色分配。

az role assignment update --role-assignment

示例

从 JSON 文件更新角色分配。

az role assignment update --role-assignment assignment.json

从 JSON 字符串更新角色分配。 (巴什)

az role assignment update --role-assignment '{
    "canDelegate": null,
    "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:Name] stringEquals '"'"'foo'"'"'",
    "conditionVersion": "2.0",
    "description": "Role assignment foo to check on bar",
    "id": "/subscriptions/00000001-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Authorization/roleAssignments/3eabdd43-375b-4dbd-8dc4-04acd15ce56b",
    "name": "3eabdd43-375b-4dbd-8dc4-04acd15ce56b",
    "principalId": "00000002-0000-0000-0000-000000000000",
    "principalType": "User",
    "resourceGroup": "rg1",
    "roleDefinitionId": "/subscriptions/00000001-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
    "scope": "/subscriptions/00000001-0000-0000-0000-000000000000/resourceGroups/rg1",
    "type": "Microsoft.Authorization/roleAssignments"
}'

必需参数

--role-assignment

将现有角色分配描述为 JSON,或包含 JSON 说明的文件的路径。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

仅显示错误,禁止显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

增加日志记录详细程度。 使用 --debug 获取完整的调试日志。