Краткое руководство. Назначение роли Azure с помощью Bicep

Управление доступом на основе ролей Azure (Azure RBAC) — это способ управления доступом к ресурсам в Azure. В этом кратком руководстве показано, как создать группу ресурсов и предоставить пользователю доступ для создания и администрирования виртуальных машин в группе ресурсов. В этом кратком руководстве для предоставления доступа используется Bicep.

Bicep — это предметно-ориентированный язык (DSL), который использует декларативный синтаксис для развертывания ресурсов Azure. Он обеспечивает краткий синтаксис, надежную безопасность типов и поддержку повторного использования кода. Bicep предлагает лучшие возможности для разработки решений Azure типа "инфраструктура как код".

Необходимые компоненты

Чтобы добавлять и удалять назначения ролей, требуется следующее:

  • Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
  • Microsoft.Authorization/roleAssignments/writeи Microsoft.Authorization/roleAssignments/delete разрешения, такие как контроль доступа Администратор istrator на основе ролей.
  • Чтобы назначить роль, необходимо указать три элемента: субъект безопасности, определение роли и область действия. В этом кратком руководстве субъектом безопасности являетесь вы или другой пользователь в каталоге, определением роли — роль Участник виртуальных машин, а областью действия — указанная группа ресурсов.

Проверка BICEP-файла

Файл Bicep, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure. Файл Bicep имеет два параметра и раздел ресурсов. Обратите внимание, что в разделе resources есть три элемента назначения роли: субъект безопасности, определение роли и область действия.

@description('Specifies the role definition ID used in the role assignment.')
param roleDefinitionID string

@description('Specifies the principal ID assigned to the role.')
param principalId string

var roleAssignmentName= guid(principalId, roleDefinitionID, resourceGroup().id)
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: roleAssignmentName
  properties: {
    roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionID)
    principalId: principalId
  }
}

output name string = roleAssignment.name
output resourceGroupName string = resourceGroup().name
output resourceId string = roleAssignment.id

В файле Bicep определен следующий ресурс:

Развертывание BICEP-файла

  1. Сохраните файл Bicep с именем main.bicep на локальном компьютере.

  2. Разверните файл Bicep с помощью Azure CLI или Azure PowerShell.

    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep --parameters roleDefinitionID=9980e02c-c2be-4d73-94e8-173b1dc7cf3c principalId=<principal-id>
    

Примечание.

Замените <идентификатор> субъекта идентификатором участника, назначенным роли.

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

Просмотр развернутых ресурсов

Используйте портал Azure, Azure CLI или Azure PowerShell для получения списка ресурсов, развернутых в группе ресурсов.

az role assignment list --resource-group exampleRG

Очистка ресурсов

Если больше не требуется, используйте портал Azure, Azure CLI или Azure PowerShell, чтобы удалить назначение роли. Дополнительные сведения см. в статье Удаление назначений ролей Azure.

Чтобы удалить группу ресурсов, используйте портал Azure, Azure CLI или Azure PowerShell.

az group delete --name exampleRG

Следующие шаги