Guia de início rápido: atribuir uma função do Azure usando o Bicep

O Azure RBAC (controle de acesso baseado em função do Azure) é a maneira usada para gerenciar o acesso aos recursos no Azure. Neste início rápido, você cria um grupo de recursos e permite acesso a um usuário para criar e gerenciar máquinas virtuais no grupo de recursos. Este início rápido usa o Bicep para conceder o acesso.

O Bicep é um DSL (linguagem específica de domínio) que usa sintaxe declarativa para implantar recursos do Azure. Ele fornece sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código. O Bicep oferece a melhor experiência de criação para suas soluções de infraestrutura como código no Azure.

Pré-requisitos

Para atribuir funções do Azure e remover atribuições de função, você precisa ter:

  • Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
  • Permissões Microsoft.Authorization/roleAssignments/write e Microsoft.Authorization/roleAssignments/delete, como Administrador de controle de acesso baseado em função.
  • Para atribuir uma função você precisa especificar três elementos: entidade de segurança, definição de função e escopo. Para este início rápido, a entidade de segurança é você ou outro usuário no seu diretório, a definição de função é Colaborador de Máquina Virtual e o escopo é um grupo de recursos especificado por você.

Examinar o arquivo Bicep

O arquivo Bicep usado neste guia de início rápido vem dos Modelos de início rápido do Azure. O arquivo Bicep tem dois parâmetros e uma seção de recursos. Na seção de recursos, observe se ele tem os três elementos de uma atribuição de função: entidade de segurança, definição de função e escopo.

@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

O recurso definido no arquivo Bicep é:

Implante o arquivo Bicep

  1. Salve o arquivo Bicep como main.bicep em seu computador local.

  2. Para implantar o arquivo Bicep, use a CLI do Azure ou o 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>
    

Observação

Substitua <principal-id> pela ID da entidade de segurança atribuída à função.

Quando a implantação for concluída, você deverá ver uma mensagem indicando que ela foi bem-sucedida.

Examinar os recursos implantados

Use o portal do Azure, a CLI do Azure ou o Azure PowerShell para listar os recursos implantados no grupo de recursos.

az role assignment list --resource-group exampleRG

Limpar os recursos

Quando a atribuição de função não for mais necessária, use o portal do Azure, a CLI do Azure ou o Azure PowerShell para removê-la. Para saber mais, confira Remover atribuições de função do Azure.

Use o portal do Azure, a CLI do Azure ou o Azure PowerShell para excluir o grupo de recursos.

az group delete --name exampleRG

Próximas etapas