Dela 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 Portal, 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 det inte längre behövs använder du Azure Portal, Azure CLI eller Azure PowerShell för att ta bort rolltilldelningen. Mer information finns i Ta bort Azure-rolltilldelningar.

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

az group delete --name exampleRG

Nästa steg