Управление настраиваемыми ролями Azure

Завершено

В этом уроке вы узнаете, кто может управлять настраиваемыми ролями Azure и как это делать.

Кто может управлять настраиваемыми ролями?

Как правило, администраторы с ролями владельца или администратора доступа пользователей имеют разрешения на создание настраиваемых ролей и управление ими. По умолчанию эти роли имеют Microsoft.Authorization/roleDefinitions/write разрешение на все области назначения ролей. Это разрешение требуется для создания, удаления или обновления настраиваемых ролей.

Области назначения ролей определяются в определении пользовательской роли в AssignableScopes. Как обсуждалось в уроке 2, раздел AssignableScopes может быть одной или несколькими подписками, группами ресурсов или отдельными ресурсами.

В следующей таблице перечислены разрешения, необходимые для создания, удаления, обновления или просмотра пользовательских ролей. Чтобы управлять пользовательскими ролями, необходимо назначить роль с соответствующими действиями и назначеннымиscopeми в определении роли.

Задача Действия Description
Создание/удаление Microsoft.Authorization/roleDefinitions/write Пользователи могут создавать и удалять настраиваемые роли для использования в областях. Например, владельцы и администраторы доступа пользователей подписок, групп ресурсов и ресурсов.
Update Microsoft.Authorization/roleDefinitions/write Пользователи могут обновлять настраиваемые роли в областях. Например, владельцы и администраторы доступа пользователей подписок, групп ресурсов и ресурсов.
Представление Microsoft.Authorization/roleDefinitions/read Пользователи могут просматривать настраиваемые роли, доступные для назначения в области. Все встроенные роли позволяют использовать настраиваемые роли для назначения.

Создание настраиваемых ролей

В предыдущем уроке вы создали пользовательскую роль с помощью Azure CLI. Вы также можете создать настраиваемую роль с помощью Azure PowerShell или на портале Azure.

Создание настраиваемых ролей с помощью портала Azure

В портал Azure перейдите в подписку или группу ресурсов, к которой требуется применить настраиваемую область роли, а затем перейдите к элементу управления доступом (IAM) и выберите "Добавить>настраиваемую роль".

Снимок экрана, на котором показан параметр Добавить настраиваемую роль под кнопкой Добавить.

Можно клонировать существующую роль или создать ее с нуля.

Снимок экрана с выбранным переключателем клонирования роли и ролью для клонирования Участник виртуальной машины.

В любом варианте можно изменить разрешения, области и результирующий JSON.

Создание настраиваемой роли с помощью Azure PowerShell

Действия, связанные с созданием роли с помощью Azure PowerShell, похожи на то, что мы рассмотрели в предыдущих двух уроках. После определения настраиваемой роли в JSON-файле используйте следующую команду в Azure CLI, чтобы создать пользовательскую роль:

az role definition create --role-definition vm-operator-role.json

Чтобы создать роль в Azure PowerShell, выполните следующую команду:

New-AzRoleDefinition -InputFile "vm-operator-role.json"

Обновление настраиваемых ролей

Чтобы обновить пользовательскую роль, можно использовать Azure CLI или Azure PowerShell. Вы узнаете, как обновить определение пользовательской роли в следующем уроке. но в целом после обновления JSON-файла с изменениями вы запустите одну из следующих команд.

Чтобы обновить настраиваемую роль с помощью Azure CLI, выполните следующую команду с путем к JSON-файлу с обновлениями:

az role definition update --role-definition "<<path-to-json-file>>"

В Azure PowerShell выполните следующую команду с путем к обновленному JSON-файлу:

Set-AzRoleDefinition -InputFile "<<path-to-json-file>>"

Просмотр настраиваемых ролей

В следующем уроке вы узнаете, как просмотреть пользовательские роли в портал Azure. Также можете получить список настраиваемых ролей с помощью Azure CLI или PowerShell.

Чтобы вывести список всех настраиваемых ролей с помощью Azure CLI, выполните следующую команду:

az role definition list --custom-role-only true --output json | jq '.[] | {"roleName":.roleName, "roleType":.roleType}'

Обратите внимание, что в команде запрашиваются только имя роли и ее тип. Это упрощает просмотр многих ролей.

Чтобы получить список всех настраиваемых ролей с помощью Azure PowerShell, используйте следующую команду. Эта команда содержит настраиваемые роли, доступные для назначения в подписке. Если подписка не находится в разделе AssignableScopes роли, то настраиваемая роль не будет указана.

Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom

Просмотр определения роли

Чтобы просмотреть полное определение определенной роли, используйте следующую команду Azure CLI:

az role definition list --name "Virtual Machine Operator"

Чтобы просмотреть определение в PowerShell, используйте следующую команду:

Get-AzRoleDefinition "Virtual Machine Operator" 

Список назначений настраиваемой роли

Следующая команда позволяет узнать, кому назначена настраиваемая роль, созданная в Azure CLI:

az role assignment list --role "Virtual Machine Operator"

В PowerShell используйте следующую команду:

Get-AzRoleAssignment -RoleDefinitionName "Virtual Machine Operator"

Удаление настраиваемых ролей

Вам нужна настраиваемая роль, созданная в предыдущем уроке для упражнений в следующем уроке, поэтому не удаляйте настраиваемую роль. Для начала рассмотрим то, как удалить настраиваемую роль.

Удаление назначений роли

Если настраиваемая роль больше не нужна, необходимо удалить ее назначения, прежде чем можно будет удалить саму роль.

Чтобы удалить назначения с помощью портала Azure, перейдите к подписке, группе ресурсов или ресурсу, к которым применяется область настраиваемой роли. Затем выберите Управление доступом (IAM)>Назначения ролей. Примените фильтр по имени роли, выберите всех пользователей, назначенных роли, а затем выберите Удалить.

В Azure CLI используйте следующую команду с именем настраиваемой роли:

   az role assignment delete --role "role name"

В Azure PowerShell используйте командлет Remove-AzRoleAssignment. Команда может выглядеть примерно так:

Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName "role name" -Scope /subscriptions/<subscription_id>

ObjectID — объект Microsoft Entra ObjectId пользователя, группы или субъекта-службы.

Удаление настраиваемой роли

Удалить настраиваемую роль можно с помощью портала Azure, Azure CLI или Azure PowerShell.

В портал Azure перейдите к подписке, группе ресурсов или ресурсу, к которому применяется область настраиваемой роли, а затем перейдите к ролям управления доступом (IAM).> Чтобы найти роль, выберите Тип>CustomRole.

Снимок экрана, на котором показаны настраиваемые роли, выбранные из раскрывающегося списка.

Выберите роль и нажмите кнопку "Удалить".

В следующем уроке вы будете использовать следующую команду, чтобы удалить пользовательскую роль с помощью Azure CLI:

az role definition delete --name "role name"

В PowerShell используйте следующую команду, чтобы удалить роль:

Get-AzRoleDefinition "role name" | Remove-AzRoleDefinition