Grundlegendes zu Azure-Rollenzuweisungen

Mit Rollenzuweisungen können Sie einem Prinzipal (z. B. einem Benutzer, einer Gruppe, einer verwalteten Identität oder einem Dienstprinzipal) Zugriff auf eine bestimmte Azure-Ressource gewähren. In diesem Artikel werden Rollenzuweisungen genauer beschrieben.

Rollenzuweisung

Der Zugriff auf Azure-Ressourcen wird durch das Erstellen einer Rollenzuweisung erteilt und durch Entfernen einer Rollenzuweisung widerrufen.

Eine Rollenzuweisung hat mehrere Komponenten, darunter:

  • Den Prinzipal, dem die Rolle zugewiesen wird
  • Die zugewiesene Rolle
  • Der Bereich, für den die Rolle zugewiesen ist
  • Den Namen der Rollenzuweisung und eine Beschreibung, in der erläutert wird, warum die Rolle zugewiesen wurde

Beispielsweise können Sie Azure RBAC nutzen, um folgende Rollen zuzuweisen:

  • Der Benutzer „Sally“ verfügt über Besitzerzugriff auf das Speicherkonto contoso123 in der Ressourcengruppe ContosoStorage.
  • Jeder in der Gruppe "Cloudadministratoren" in der Microsoft Entra-ID hat Lesezugriff auf alle Ressourcen in der Ressourcengruppe ContosoStorage.
  • Die verwaltete Identität, die einer Anwendung zugeordnet ist, darf virtuelle Computer im Abonnement von Contoso neu starten.

Nachstehend finden Sie ein Beispiel für die in einer Rollenzuweisung enthaltenen Eigenschaften, die mit Azure PowerShell angezeigt werden:

{
  "RoleAssignmentName": "00000000-0000-0000-0000-000000000000",
  "RoleAssignmentId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "Scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
  "DisplayName": "User Name",
  "SignInName": "user@contoso.com",
  "RoleDefinitionName": "Contributor",
  "RoleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
  "ObjectId": "22222222-2222-2222-2222-222222222222",
  "ObjectType": "User",
  "CanDelegate": false,
  "Description": null,
  "ConditionVersion": null,
  "Condition": null
}

Nachstehend finden Sie ein Beispiel für die in einer Rollenzuweisung enthaltenen Eigenschaften, die mithilfe der Azure CLI oder der REST-API angezeigt werden:

{
  "canDelegate": null,
  "condition": null,
  "conditionVersion": null,
  "description": null,
  "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "22222222-2222-2222-2222-222222222222",
  "principalName": "user@contoso.com",
  "principalType": "User",
  "roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
  "roleDefinitionName": "Contributor",
  "scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
  "type": "Microsoft.Authorization/roleAssignments"
}

In der folgenden Tabelle wird erläutert, was die einzelnen Eigenschaften der Rollenzuweisung bedeuten.

Eigenschaft Beschreibung
RoleAssignmentName
name
Der Name der Rollenzuweisung, der ein global eindeutiger Bezeichner (GUID) ist
RoleAssignmentId
id
Die eindeutige ID der Rollenzuweisung, die den Namen enthält
Scope
scope
Der Azure-Ressourcenbezeichner, auf den die Rollenzuweisung begrenzt ist
RoleDefinitionId
roleDefinitionId
Die eindeutige ID der Rolle.
RoleDefinitionName
roleDefinitionName
Der Name der Rolle.
ObjectId
principalId
Der Microsoft Entra-Objektbezeichner für den Prinzipal, dem die Rolle zugewiesen ist.
ObjectType
principalType
Der Typ des Microsoft Entra-Objekts, das der Prinzipal darstellt. Zu den gültigen Werten zählen User, Group und ServicePrincipal.
DisplayName Bei Rollenzuweisungen für Benutzer: der Anzeigename des Benutzers
SignInName
principalName
Der eindeutige Prinzipalname (UPN) des Benutzers oder der Name der Anwendung, die dem Dienstprinzipal zugeordnet ist
Description
description
Die Beschreibung der Rollenzuweisung
Condition
condition
Bedingungsanweisung, die mit einer oder mehreren Aktionen aus Rollendefinition und Attributen erstellt wurde
ConditionVersion
conditionVersion
Die Versionsnummer der Bedingung. Der Standardwert lautet 2.0 und ist die einzige öffentlich unterstützte Version.
CanDelegate
canDelegate
Nicht implementiert.

`Scope`

Wenn Sie eine Rollenzuweisung erstellen, müssen Sie den Bereich angeben, auf den sie angewendet wird. Der Bereich stellt die Ressource oder die Gruppe von Ressourcen dar, auf die der Prinzipal zugreifen darf. Sie können eine Rollenzuweisung auf eine einzelne Ressource, eine Ressourcengruppe, ein Abonnement oder eine Verwaltungsgruppe festlegen.

Tipp

Verwenden Sie den kleinsten Bereich, den Sie benötigen, um Ihre Anforderungen zu erfüllen.

Wenn Sie beispielsweise einer verwalteten Identität Zugriff auf ein einzelnes Speicherkonto gewähren müssen, empfiehlt es sich aus Sicherheitsgründen, die Rollenzuweisung im Bereich des Speicherkontos und nicht im Bereich der Ressourcengruppe oder des Abonnements zu erstellen.

Weitere Informationen zum Begriff „Bereich“ finden Sie unter Grundlegendes zum Begriff „Bereich“.

Zuzuweisende Rolle

Eine Rollenzuweisung ist mit einer Rollendefinition verbunden. Die Rollendefinition gibt die Berechtigungen an, die der Prinzipal innerhalb des Bereichs der Rollenzuweisung aufweisen soll.

Sie können eine integrierte Rollendefinition oder eine benutzerdefinierte Rollendefinition zuweisen. Wenn Sie eine Rollenzuweisung erstellen, müssen Sie bei einigen Tools die Rollendefinitions-ID verwenden, während Sie bei anderen Tools den Namen der Rolle angeben können.

Weitere Informationen zu Rollendefinitionen finden Sie unter Grundlegendes zu Rollendefinitionen.

Prinzipal

Prinzipale umfassen Benutzer, Sicherheitsgruppen, verwaltete Identitäten, Workloadidentitäten und Dienstprinzipale. Prinzipale werden in Ihrem Microsoft Entra-Mandanten erstellt und verwaltet. Sie können jedem Prinzipal eine Rolle zuweisen. Verwenden Sie die Microsoft Entra ID-Objekt-ID, um den Prinzipal zu identifizieren, dem Sie die Rolle zuweisen möchten.

Wenn Sie eine Rollenzuweisung mithilfe von Azure PowerShell, der Azure CLI, Bicep oder einer anderen Infrastructure-as-Code-Technologie (IaC) erstellen, geben Sie den Prinzipaltyp an. Zu den Prinzipaltypen gehören Benutzer, Gruppe und ServicePrincipal. Es ist wichtig, den richtigen Prinzipaltyp anzugeben. Andernfalls kann es zu zeitweiligen Bereitstellungsfehlern kommen, insbesondere wenn Sie mit Dienstprinzipalen und verwalteten Identitäten arbeiten.

Name

Der Ressourcenname einer Rollenzuweisung muss eine GUID (Globally Unique Identifier) sein.

Rollenzuweisungsressourcennamen müssen innerhalb des Microsoft Entra-Mandanten eindeutig sein, auch wenn der Umfang der Rollenzuweisung schmaler ist.

Tipp

Wenn Sie eine Rollenzuweisung mithilfe des Azure-Portals, mit Azure PowerShell oder der Azure CLI erstellen, wird der Rollenzuweisung bei der Erstellung automatisch ein eindeutiger Name zugewiesen.

Wenn Sie eine Rollenzuweisung mithilfe von Bicep oder einer anderen Infrastructure-as-Code-Technologie (IaC) erstellen, müssen Sie sorgfältig planen, wie Sie Ihre Rollenzuweisungen benennen. Weitere Informationen finden Sie unter Erstellen von Azure RBAC-Ressourcen mithilfe von Bicep.

Verhalten der Ressourcenlöschung

Wenn Sie Benutzer*innen, Gruppen, Dienstprinzipale oder verwaltete Identitäten aus Microsoft Entra ID löschen, empfiehlt es sich, alle entsprechenden Rollenzuweisungen zu löschen. Sie werden nicht automatisch gelöscht. Alle Rollenzuweisungen, die auf eine gelöschte Prinzipal-ID verweisen, werden ungültig.

Wenn Sie versuchen, den Namen einer Rollenzuweisung für eine andere Rollenzuweisung wiederzuverwenden, schlägt die Bereitstellung fehl. Dieses Problem tritt eher auf, wenn Sie Bicep oder eine Azure Resource Manager-Vorlage (ARM-Vorlage) verwenden, um Ihre Rollenzuweisungen bereitzustellen, da Sie den Namen der Rollenzuweisung explizit festlegen müssen, wenn Sie diese Tools verwenden. Um dieses Verhalten zu umgehen, sollten Sie entweder die alte Rollenzuweisung entfernen, bevor Sie es neu erstellen oder sicherstellen, dass Sie einen eindeutigen Namen verwenden, wenn Sie eine neue Rollenzuweisung bereitstellen.

Beschreibung

Sie können einer Rollenzuweisung eine Textbeschreibung hinzufügen. Sie müssen Ihren Rollenzuweisungen keine Beschreibungen hinzufügen, dies wird jedoch empfohlen. Geben Sie eine kurze Begründung dafür an, warum der Prinzipal die zugewiesene Rolle benötigt. Wenn jemand die Rollenzuweisungen überwacht, kann anhand von Beschreibungen nachvollzogen werden, warum sie erstellt wurden und ob sie noch anwendbar sind.

Bedingungen

Einige Rollen unterstützen Rollenzuweisungsbedingungen anhand von Attributen im Zusammenhang mit bestimmten Aktionen. Eine Rollenzuweisungsbedingung ist eine zusätzliche Überprüfung, die Sie Ihrer Rollenzuweisung optional hinzufügen können, um eine präzisere Zugriffssteuerung zu ermöglichen.

So können Sie beispielsweise eine Bedingung hinzufügen, die festlegt, dass ein Objekt über ein bestimmtes Tag verfügen muss, damit der Benutzer das Objekt lesen kann.

In der Regel erstellen Sie Bedingungen mithilfe eines visuellen Bedingungs-Editors, aber hier sehen Sie ein Beispiel, wie eine Bedingung im Code aussieht:

((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})) OR (@resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'))

Die voranstehende Bedingung ermöglicht Benutzern das Lesen von Blobs mit dem Blobindextag-Schlüssel Project und dem Wert Cascade.

Weitere Informationen zu Bedingungen finden Sie unter Was ist die attributbasierte Zugriffssteuerung von Azure (Azure ABAC)?.

Nächste Schritte