Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управление доступом на основе ролей Azure (Azure RBAC) — это способ управления доступом к ресурсам в Azure. В этом руководстве вы предоставляете группе доступ для просмотра всего в подписке и управления всем в группе ресурсов с помощью Azure PowerShell.
В этом руководстве описано, как:
- Предоставление доступа для группы в разных областях
- Доступ к списку
- Удалить доступ
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Перенос Azure PowerShell с AzureRM на Az.
Предпосылки
Для выполнения этого руководства потребуется следующее:
- Разрешения на создание групп в Microsoft Entra ID (или на использование существующей группы)
- Azure Cloud Shell
- Microsoft Graph PowerShell SDK
Назначения ролей
Чтобы предоставить доступ, создайте назначение ролей в Azure RBAC. Назначение роли состоит из трех элементов: субъекта безопасности, определения роли и области. Ниже приведены два назначения ролей, которые вы будете выполнять в этом руководстве:
Принцип безопасности | Определение роли | Область действия |
---|---|---|
Группа (Учебная группа по RBAC) |
Читатель | Подписка |
Группа (Учебная группа по RBAC) |
Участник | Группа ресурсов (rbac-tutorial-resource-group) |
Создание группы
Чтобы назначить роль, требуется пользователь, группа или сервисный принципал. Если у вас еще нет группы, ее можно создать.
В Azure Cloud Shell создайте новую группу с помощью команды New-MgGroup.
New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false ` -SecurityEnabled:$true -MailNickName "NotSet"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Если у вас нет разрешений на создание групп, вы можете попробовать учебник: предоставьте пользователю доступ к ресурсам Azure с помощью Azure PowerShell.
Создание группы ресурсов
Вы используете группу ресурсов для демонстрации того, как назначать роль в пределах области группы ресурсов.
Получите список расположений регионов с помощью команды Get-AzLocation.
Get-AzLocation | select Location
Выберите расположение рядом с вами и назначьте его переменной.
$location = "westus"
Создайте новую группу ресурсов с помощью команды New-AzResourceGroup.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Предоставление доступа
Чтобы предоставить доступ для группы, используйте команду New-AzRoleAssignment для назначения роли. Необходимо указать субъект безопасности, определение роли и область.
Получите идентификатор объекта группы с помощью команды Get-MgGroup.
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Сохраните идентификатор объекта группы в переменной.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
Получите идентификатор подписки с помощью команды Get-AzSubscription.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Сохраните область подписки в переменной.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Назначьте группе роль Читатель в области подписки.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Назначьте роль участника группе в пределах группы ресурсов.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Доступ к списку
Чтобы проверить доступ к подписке, используйте команду Get-AzRoleAssignment для перечисления назначений ролей.
Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
В результатах видно, что роль Читателя была назначена учебной группе RBAC на уровне подписки.
Чтобы проверить доступ для группы ресурсов, используйте команду Get-AzRoleAssignment для перечисления назначений ролей.
Get-AzRoleAssignment -ObjectId $groupId -ResourceGroupName "rbac-tutorial-resource-group"
RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
В выходных данных видно, что роли Участника и Читателя назначены учебной группе RBAC. Роль Contributor назначена для области группы ресурсов rbac-tutorial-resource-group, а роль Reader наследуется из области подписки.
(Необязательно) Получение списка доступа с помощью портала Azure
Чтобы узнать, как выглядят назначения ролей на портале Azure, просмотрите панель управления доступом (IAM) для подписки.
Просмотрите панель управления доступом (IAM) для группы ресурсов.
Удалить доступ
Чтобы удалить доступ для пользователей, групп и приложений, используйте Remove-AzRoleAssignment для удаления назначения ролей.
Используйте следующую команду, чтобы удалить назначение роли участника для группы в области группы ресурсов.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Используйте следующую команду, чтобы удалить роль 'Читатель' для группы на уровне подписки.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Очистка ресурсов
Чтобы очистить ресурсы, созданные этим руководством, удалите группу ресурсов и группу.
Удалите группу ресурсов с помощью команды Remove-AzResourceGroup.
Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"
Confirm Are you sure you want to remove resource group 'rbac-tutorial-resource-group' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):
При запросе подтверждения введите Y. Удаление займет несколько секунд.
Удалите группу с помощью команды Remove-MgGroup.
Remove-MgGroup -GroupID $groupId
Если при попытке удалить группу возникает ошибка, вы также можете удалить группу на портале.