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


Set-AzureRmRoleDefinition

Изменяет пользовательскую роль в Azure RBAC. Укажите измененное определение роли в виде JSON-файла или в виде PSRoleDefinition. Сначала используйте команду Get-AzureRmRoleDefinition для получения настраиваемой роли, которую вы хотите изменить. Затем измените свойства, которые вы хотите изменить. Наконец, сохраните определение роли с помощью этой команды.

Предупреждение

Модуль AzureRM PowerShell официально устарел с 29 февраля 2024 г. Пользователям рекомендуется выполнить миграцию из AzureRM в модуль Az PowerShell, чтобы обеспечить постоянную поддержку и обновления.

Хотя модуль AzureRM по-прежнему может функционировать, он больше не поддерживается или не поддерживается, размещая любое постоянное использование на усмотрение и риск пользователя. Ознакомьтесь с нашими ресурсами миграции, чтобы получить рекомендации по переходу в модуль Az.

Синтаксис

Set-AzureRmRoleDefinition
   -InputFile <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzureRmRoleDefinition
   -Role <PSRoleDefinition>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Описание

Командлет Set-AzureRmRoleDefinition обновляет существующую пользовательскую роль в контроль доступа на основе ролей Azure. Укажите обновленное определение роли в качестве входных данных для команды в виде JSON-файла или объекта PSRoleDefinition. Определение роли для обновленной настраиваемой роли должно содержать идентификатор и все остальные необходимые свойства роли, даже если они не обновлены: DisplayName, Description, Actions, AssignableScopes. NotActions, DataActions, NotDataActions являются необязательными. Ниже приведен пример обновленного json определения роли для Set-AzureRmRoleDefinition { "Id": "52a6cc13-ff92-47a8-a39b-2a8205c3087e", "Имя": "Обновленная роль", "Описание": "Может отслеживать все ресурсы и запускать и перезапускать виртуальные машины", "Действия": [ /read", "Microsoft.ClassicCompute/virtualmachines/restart/action", "Microsoft.ClassicCompute/virtualmachines/start/action" ], "NotActions": [ /write" ], "DataActions": [ "Microsoft.служба хранилища/storageAccounts/blobServices/container/blobs/read" ], "NotDataActions": [ "Microsoft.служба хранилища/storageAccounts/blobServices/container/blobs/write" ], "AssignableScopes": ["/subscriptions/xxxx-xxxxx-xxxx"] }

Примеры

Обновление с помощью PSRoleDefinitionObject

PS C:\> $roleDef = Get-AzureRmRoleDefinition "Contoso On-Call"
          PS C:\> $roleDef.Actions.Add("Microsoft.ClassicCompute/virtualmachines/start/action")
          PS C:\> $roleDef.Description = "Can monitor all resources and start and restart virtual machines"
          PS C:\> $roleDef.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

          PS C:\> Set-AzureRmRoleDefinition -Role $roleDef

Создание с помощью JSON-файла

PS C:\> Set-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json

Параметры

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure

Тип:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-InputFile

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

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:False
Accept wildcard characters:False

-Role

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

Тип:PSRoleDefinition
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

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

PSRoleDefinition

Параметры: Role (ByValue)

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

PSRoleDefinition

Примечания

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