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


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

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

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

Prerequisites

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

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

Проверьте файл Bicep

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

@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>
    

Note

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

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

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

Используйте портал 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

Дальнейшие шаги