Поделиться через


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 обновляет существующую пользовательскую роль в контроль доступа на основе ролей Azure. Укажите обновленное определение роли в качестве входных данных для команды в виде JSON-файла или объекта PSRoleDefinition. Определение роли для обновленной настраиваемой роли должно содержать идентификатор и все остальные необходимые свойства роли, даже если они не обновлены: 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
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputFile

Имя файла с одним определением роли JSON, который необходимо обновить. Только включите свойства, которые необходимо обновить в формате JSON. Свойство Id — Обязательный.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Role

Объект определения роли для обновления

Тип:PSRoleDefinition
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-SkipClientSideScopeValidation

Если задано, пропустите проверку области на стороне клиента.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSRoleDefinition

Выходные данные

PSRoleDefinition

Примечания

Ключевые слова: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment