你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Set-AzRoleDefinition
在 Azure RBAC 中修改自定义角色。 以 JSON 文件或 PSRoleDefinition 的形式提供修改后的角色定义。 首先,使用 Get-AzRoleDefinition 命令检索要修改的自定义角色。 然后,修改要更改的属性。 最后,使用此命令保存角色定义。
语法
Set-AzRoleDefinition
-InputFile <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Set-AzRoleDefinition
-Role <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
说明
Set-AzRoleDefinition cmdlet 更新 Azure 基于角色访问控制中的现有自定义角色。 将更新的角色定义作为命令的输入作为 JSON 文件或 PSRoleDefinition 对象提供。 更新后的自定义角色的角色定义必须包含该角色的 ID 和所有其他必需属性,即使它们未更新:DisplayName、Description、Actions、AssignableScopes。 NotActions、DataActions、NotDataActions 是可选的。
示例
示例 1:使用 PSRoleDefinitionObject 进行更新
$roleDef = Get-AzRoleDefinition "Contoso On-Call"
$roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
$roleDef.Description = "Can monitor all resources and start and restart virtual machines"
$roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
Set-AzRoleDefinition -Role $roleDef
示例 2:使用 JSON 文件创建
Set-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json
<#
Following is a sample updated role definition json for Set-AzRoleDefinition:
{
"Id": "52a6cc13-ff92-47a8-a39b-2a8205c3087e",
"Name": "Updated Role",
"Description": "Can monitor all resources and start and restart virtual machines",
"Actions":
[
"*/read",
"Microsoft.ClassicCompute/virtualmachines/restart/action",
"Microsoft.ClassicCompute/virtualmachines/start/action"
],
"NotActions":
[
"*/write"
],
"DataActions":
[
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
],
"NotDataActions":
[
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write"
],
"AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
}
#>
参数
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
类型: | IAzureContextContainer |
别名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputFile
包含要更新的单个 json 角色定义的文件名。 仅包含要在 JSON 中更新的属性。 Id 属性为必需。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Role
要更新的角色定义对象
类型: | PSRoleDefinition |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-SkipClientSideScopeValidation
如果指定,请跳过客户端范围验证。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
输出
备注
关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署