Inicio rápido: Asignación de un rol de Azure mediante Bicep

El control de acceso basado en rol (RBAC) es la forma en la que se administra el acceso a los recursos de Azure. En este inicio rápido, se crea un grupo de recursos y se concede acceso a un usuario para crear y administrar máquinas virtuales en el grupo de recursos. Esta guía de inicio rápido usa Bicep para conceder acceso.

Bicep es un lenguaje específico de dominio (DSL) que usa una sintaxis declarativa para implementar recursos de Azure. Brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización de código. Bicep ofrece la mejor experiencia de creación para sus soluciones de infraestructura como código en Azure.

Requisitos previos

Para asignar roles de Azure y quitar asignaciones de roles, debe tener:

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
  • Microsoft.Authorization/roleAssignments/writey Microsoft.Authorization/roleAssignments/delete permisos, como El control de acceso basado en rol Administración istrator.
  • Para asignar un rol, es preciso especificar tres elementos: entidad de seguridad, definición de roles y ámbito. En este inicio rápido, la entidad de seguridad es usted, o cualquier otro usuario de su directorio, la definición de roles es Colaborador de máquina virtual y el ámbito es el grupo de recursos que especifique.

Revisión del archivo de Bicep

El archivo de Bicep usado en este inicio rápido forma parte de las plantillas de inicio rápido de Azure. El archivo de Bicep tiene dos parámetros y una sección de recursos. En la sección de recursos, observe que tiene los tres elementos de una asignación de roles: entidad de seguridad, definición de roles y ámbito.

@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

El recurso definido en el archivo de Bicep es el siguiente:

Implementación del archivo de Bicep

  1. Guarde el archivo de Bicep como main.bicep en el equipo local.

  2. Implemente el archivo de Bicep mediante la CLI de Azure 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>
    

Nota

Reemplace <principal-id> por el identificador de entidad de seguridad asignado al rol.

Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.

Revisión de los recursos implementados

Use los Azure Portal, CLI de Azure o Azure PowerShell para enumerar los recursos implementados en el grupo de recursos.

az role assignment list --resource-group exampleRG

Limpieza de recursos

Cuando ya no lo necesite, use Azure Portal, la CLI de Azure o Azure PowerShell para quitar la asignación de roles. Para obtener más información, consulte Eliminación de asignaciones de roles.

Use Azure Portal, la CLI de Azure o Azure PowerShell para eliminar el grupo de recursos.

az group delete --name exampleRG

Pasos siguientes