Share via


Snabbstart: Tilldela en Azure-roll med Bicep

Azure-rollbaserad åtkomstkontroll (Azure RBAC) är sättet som du hantera åtkomst till Azure-resurser. I den här snabbstarten skapar du en resursgrupp och ger en användare åtkomst för att skapa och hantera virtuella datorer i resursgruppen. Den här snabbstarten använder Bicep för att bevilja åtkomsten.

Bicep är ett domänspecifikt språk (DSL) som använder deklarativ syntax för att distribuera Azure-resurser. Det ger koncis syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder den bästa redigeringsupplevelsen för dina infrastruktur-som-kod-lösningar i Azure.

Förutsättningar

Om du vill tilldela Azure-roller och ta bort rolltilldelningar måste du ha:

  • Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • Microsoft.Authorization/roleAssignments/write och Microsoft.Authorization/roleAssignments/delete behörigheter, till exempel administratör för rollbaserad åtkomstkontroll.
  • Om du vill tilldela en roll måste du ange tre element: säkerhetsobjekt, rolldefinition och omfång. För den här snabbstarten är säkerhetsobjektet du eller en annan användare i din katalog, rolldefinitionen är Virtuell datordeltagare och omfånget är en resursgrupp som du anger.

Granska Bicep-filen

Bicep-filen som används i den här snabbstarten kommer från Azure-snabbstartsmallar. Bicep-filen har två parametrar och ett resursavsnitt. I avsnittet resurser ser du att den har de tre elementen i en rolltilldelning: säkerhetsobjekt, rolldefinition och omfång.

@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

Resursen som definieras i Bicep-filen är:

Distribuera Bicep-filen

  1. Spara Bicep-filen som main.bicep på den lokala datorn.

  2. Distribuera Bicep-filen med antingen Azure CLI eller 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>
    

Kommentar

Ersätt <principal-id> med det huvudnamns-ID som tilldelats rollen.

När distributionen är klar bör du se ett meddelande som anger att distributionen lyckades.

Granska distribuerade resurser

Använd Azure-portalen, Azure CLI eller Azure PowerShell för att lista de distribuerade resurserna i resursgruppen.

az role assignment list --resource-group exampleRG

Rensa resurser

När den inte längre behövs använder du Azure-portalen, Azure CLI eller Azure PowerShell för att ta bort rolltilldelningen. Mer information finns i Ta bort Azure-rolltilldelningar.

Använd Azure-portalen, Azure CLI eller Azure PowerShell för att ta bort resursgruppen.

az group delete --name exampleRG

Nästa steg