Краткое руководство. Назначение роли Azure с помощью Bicep
Управление доступом на основе ролей Azure (Azure RBAC) — это способ управления доступом к ресурсам в Azure. В этом кратком руководстве показано, как создать группу ресурсов и предоставить пользователю доступ для создания и администрирования виртуальных машин в группе ресурсов. В этом кратком руководстве для предоставления доступа используется Bicep.
Bicep — это предметно-ориентированный язык (DSL), который использует декларативный синтаксис для развертывания ресурсов Azure. Он обеспечивает краткий синтаксис, надежную безопасность типов и поддержку повторного использования кода. Bicep предлагает лучшие возможности для разработки решений Azure типа "инфраструктура как код".
Необходимые компоненты
Чтобы добавлять и удалять назначения ролей, требуется следующее:
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Microsoft.Authorization/roleAssignments/write
иMicrosoft.Authorization/roleAssignments/delete
разрешения, такие как администратор на основе ролей контроль доступа.- Чтобы назначить роль, необходимо указать три элемента: субъект безопасности, определение роли и область действия. В этом кратком руководстве субъектом безопасности являетесь вы или другой пользователь в каталоге, определением роли — роль Участник виртуальных машин, а областью действия — указанная группа ресурсов.
Проверка 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-файла
Сохраните файл Bicep с именем main.bicep на локальном компьютере.
Разверните файл 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