Teilen über


Schnellstart: Zuweisen einer Azure-Rolle mithilfe einer ARM-Vorlage

Der Zugriff auf Azure-Ressourcen wird mithilfe der rollenbasierten Zugriffssteuerung in Azure (Azure RBAC) verwaltet. In diesem Schnellstart erstellen Sie eine Ressourcengruppe und gewähren einem Benutzer Zugriff, um virtuelle Computer in dieser Ressourcengruppe zu erstellen und zu verwalten. In dieser Schnellstartanleitung wird eine Azure Resource Manager-Vorlage (ARM-Vorlage) zum Gewähren des Zugriffs verwendet.

Eine Azure Resource Manager-Vorlage ist eine JSON (JavaScript Object Notation)-Datei, welche die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zum Erstellen der Bereitstellung zu schreiben.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, klicken Sie auf die Schaltfläche In Azure bereitstellen. Die Vorlage wird im Azure-Portal geöffnet.

Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

Voraussetzungen

Sie benötigen Folgendes, um Azure-Rollen zuzuweisen und Rollenzuweisungen zu entfernen:

  • Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
  • Berechtigungen Microsoft.Authorization/roleAssignments/write und Microsoft.Authorization/roleAssignments/delete, etwa Rollenbasierter Zugriffssteuerungsadministrator
  • Sie müssen drei Elemente angeben, um eine Rolle zuzuweisen: Sicherheitsprinzipal, Rollendefinition und Bereich. Für diesen Schnellstart sind Sie oder ein anderer Benutzer in Ihrem Verzeichnis der Sicherheitsprinzipal, die Rollendefinition lautet Mitwirkender von virtuellen Computern, und der Bereich ist eine von Ihnen angegebene Ressourcengruppe.

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen. Die Vorlage hat zwei Parameter und einen Ressourcenabschnitt. Beachten Sie im Abschnitt „Ressourcen“, dass er die drei Elemente einer Rollenzuweisung enthält: Sicherheitsprinzipal, Rollendefinition und Bereich.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "15160858749942476090"
    }
  },
  "parameters": {
    "roleDefinitionID": {
      "type": "string",
      "metadata": {
        "description": "Specifies the role definition ID used in the role assignment."
      }
    },
    "principalId": {
      "type": "string",
      "metadata": {
        "description": "Specifies the principal ID assigned to the role."
      }
    }
  },
  "variables": {
    "roleAssignmentName": "[guid(parameters('principalId'), parameters('roleDefinitionID'), resourceGroup().id)]"
  },
  "resources": [
    {
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2022-04-01",
      "name": "[variables('roleAssignmentName')]",
      "properties": {
        "roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionID'))]",
        "principalId": "[parameters('principalId')]"
      }
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "[variables('roleAssignmentName')]"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Authorization/roleAssignments', variables('roleAssignmentName'))]"
    }
  }
}

In der Vorlage ist die folgende Ressource definiert:

Bereitstellen der Vorlage

  1. Melden Sie sich beim Azure-Portal an.

  2. Ermitteln Sie Ihre E-Mail-Adresse, die Ihrem Azure-Abonnement zugeordnet ist. Oder ermitteln Sie die E-Mail-Adresse eines anderen Benutzers in Ihrem Verzeichnis.

  3. Öffnen Sie Azure Cloud Shell für PowerShell.

  4. Kopieren Sie das folgende Skript, und fügen Sie es in Cloud Shell ein.

    $resourceGroupName = Read-Host -Prompt "Enter a resource group name (i.e. ExampleGrouprg)"
    $emailAddress = Read-Host -Prompt "Enter an email address for a user in your directory"
    $location = Read-Host -Prompt "Enter a location (i.e. centralus)"
    
    $roleAssignmentName = New-Guid
    $principalId = (Get-AzAdUser -Mail $emailAddress).id
    $roleDefinitionId = (Get-AzRoleDefinition -name "Virtual Machine Contributor").id
    $templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.authorization/rbac-builtinrole-resourcegroup/azuredeploy.json"
    
    New-AzResourceGroup -Name $resourceGroupName -Location $location
    New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -roleDefinitionID $roleDefinitionId -principalId $principalId
    
  5. Geben Sie einen Ressourcengruppennamen wie „ExampleGrouprg“ ein.

  6. Geben Sie eine E-Mail-Adresse für sich selbst oder einen anderen Benutzer in Ihrem Verzeichnis ein.

  7. Geben Sie einen Ort für die Ressourcengruppe ein (z. B. „centralus“).

  8. Drücken Sie ggf. die EINGABETASTE, um den Befehl „New-AzResourceGroupDeployment“ auszuführen.

    Der Befehl New-AzResourceGroup erstellt eine neue Ressourcengruppe und der Befehl New-AzResourceGroupDeployment stellt die Vorlage bereit, um die Rollenzuweisung hinzuzufügen.

    Die Ausgabe sollte etwa folgendermaßen aussehen:

    PS> New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri -roleAssignmentName $roleAssignmentName -roleDefinitionID $roleDefinitionId -principalId $principalId
    
    DeploymentName          : azuredeploy
    ResourceGroupName       : ExampleGrouprg
    ProvisioningState       : Succeeded
    Timestamp               : 5/22/2020 9:01:30 PM
    Mode                    : Incremental
    TemplateLink            :
                              Uri            : https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.authorization/rbac-builtinrole-resourcegroup/azuredeploy.json
                              ContentVersion : 1.0.0.0
    
    Parameters              :
                              Name                  Type                       Value
                              ====================  =========================  ==========
                              roleDefinitionID      String                     9980e02c-c2be-4d73-94e8-173b1dc7cf3c
                              principalId           String                     {principalId}
    
    Outputs                 :
    DeploymentDebugLogLevel :
    

Überprüfen der bereitgestellten Ressourcen

  1. Öffnen Sie im Azure-Portal die von Ihnen erstellte Ressourcengruppe.

  2. Klicken Sie im linken Menü auf Zugriffssteuerung (IAM) .

  3. Klicken Sie auf die Registerkarte Rollenzuweisungen.

  4. Überprüfen Sie, ob die Rolle Mitwirkender von virtuellen Computern dem von Ihnen angegebenen Benutzer zugewiesen ist.

    Neue Rollenzuweisung

Bereinigen von Ressourcen

Gehen Sie folgendermaßen vor, um die von Ihnen erstellte Rollenzuweisung und Ressourcengruppe zu entfernen.

  1. Kopieren Sie das folgende Skript, und fügen Sie es in Cloud Shell ein.

    $emailAddress = Read-Host -Prompt "Enter the email address of the user with the role assignment to remove"
    $resourceGroupName = Read-Host -Prompt "Enter the resource group name to remove (i.e. ExampleGrouprg)"
    
    $principalId = (Get-AzAdUser -Mail $emailAddress).id
    
    Remove-AzRoleAssignment -ObjectId $principalId -RoleDefinitionName "Virtual Machine Contributor" -ResourceGroupName $resourceGroupName
    Remove-AzResourceGroup -Name $resourceGroupName
    
  2. Geben Sie die E-Mail-Adresse des Benutzers mit der zu entfernenden Rollenzuweisung ein.

  3. Geben Sie den Namen der zu entfernenden Ressourcengruppe ein, z. B. „ExampleGrouprg“.

  4. Drücken Sie ggf. die EINGABETASTE, um den Befehl „Remove-AzResourceGroup“ auszuführen.

  5. Geben Sie J ein, um zu bestätigen, dass Sie die Ressourcengruppe entfernen möchten.

Nächste Schritte