Verwalten von Dienstprinzipalrollen

Um den Zugriff auf Ihre Azure-Ressourcen einzuschränken, können Sie einen Dienstprinzipal zum Verwalten von Rollenzuweisungen verwenden. Jede Ebene bietet andere Berechtigungen für die Benutzer*innen, wenn diese auf Azure-Ressourcen zugreifen. In diesem Tutorialschritt wird erläutert, wie Dienstprinzipalrollen erstellt und entfernt werden.

Die Azure CLI enthält die folgenden Befehle zum Verwalten von Rollenzuweisungen:

Erstellen oder Entfernen einer Rollenzuweisung

Die Rolle Mitwirkender verfügt über uneingeschränkte Berechtigungen für Lese- und Schreibvorgänge in einem Azure-Konto. Die Rolle Leser ist stärker eingeschränkt und bietet schreibgeschützten Zugriff. Wenden Sie immer das Prinzip der geringsten Rechte an. Eine vollständige Liste der Rollen, die in Azure RBAC verfügbar sind, finden Sie unter Integrierten Azure-Rollen.

Durch das Hinzufügen einer Rolle werden zuvor zugewiesene Berechtigungen nicht eingeschränkt. Das folgende Beispiel fügt die Rolle Leser hinzu und entfernt die Rolle Mitwirkender:

az role assignment create --assignee myServicePrincipalID \
                          --role Reader \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

az role assignment delete --assignee myServicePrincipalID \
                          --role Contributor \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

Ausgabekonsole:

{
  "condition": null,
  "conditionVersion": null,
  "createdBy": null,
  "createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
  "delegatedManagedIdentityResourceId": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
  "type": "Microsoft.Authorization/roleAssignments",
  "updatedBy": "00000000-0000-0000-0000-000000000000",
  "updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}

Abrufen eines Werts für den scope-Parameter

Möglicherweise stellen Sie sich die Frage „Woher erfahre ich den Wert des --scope-Parameters?“. Sie müssen dazu die Ressourcen-ID der Azure-Ressource suchen und kopieren, auf die Ihr Dienstprinzipal Zugriff benötigt. Diese Informationen finden Sie in der Regel im Azure-Portal auf der Seite Eigenschaften oder Endpunkte der Ressource. Nachfolgend finden Sie allgemeine Beispiele mit --scope, für das tatsächliche Format und den tatsächlichen Wert nutzen Sie aber unbedingt Ihre Ressourcen-ID.

`Scope` Beispiel
Subscription /subscriptions/mySubscriptionID
Resource group /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Virtueller Computer /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Speicherkonto-Dateidienst /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Data Factory /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

Weitere Beispiele mit Gültigkeitsbereichen finden Sie unter Verstehen des Gültigkeitsbereichs für Azure RBAC.

Überprüfen der Änderungen

Die Änderungen können durch Auflisten der zugewiesenen Rollen überprüft werden:

# list all role assignments for the current subscription
az role assignment list ---output table

# list role assignments for a user
az role assignment list --assignee myUserName@contoso.com

# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID

Sie können auch das Azure-Portal aufrufen und dem Dienstprinzipal über das Menü „Zugriffssteuerung (IAM)“ manuell eine Rolle zuweisen. Weitere Beispiele zum Auflisten von Rollenzuweisungen finden Sie unter Auflisten von Azure-Rollenzuweisungen mithilfe der Azure-Befehlszeilenschnittstelle.

Nächste Schritte

Nachdem Sie nun gelernt haben, wie Sie Ihre Dienstprinzipalrollen verwalten, erfahren Sie im nächsten Schritt, wie Sie Dienstprinzipale zum Erstellen einer Ressource verwenden.