Grundlegendes zum Bereich von Azure RBAC
Ein Bereich ist der Ressourcensatz, für den Zugriffsberechtigungen gelten. Wenn Sie eine Rolle zuweisen, müssen Sie den Bereich kennen, damit Sie den Zugriff eines Sicherheitsprinzipals auf das Notwendige beschränken können. Durch Einschränken des Bereichs begrenzen Sie die Ressourcen, die gefährdet sind, wenn der Sicherheitsprinzipal einmal kompromittiert wird.
Bereichsebenen
In Azure können Sie auf vier Ebenen einen Bereich angeben: Verwaltungsgruppe, Abonnement, Ressourcengruppe und Ressource. Bereiche sind in einer Beziehung zwischen über- und untergeordneten Elementen strukturiert. Mit jeder Hierarchieebene wird der Bereich spezifischer. Sie können Rollen auf jeder dieser Bereichsebenen zuweisen. Die von Ihnen ausgewählte Ebene bestimmt, wie umfassend die Rolle angewendet wird. Niedrigere Ebenen erben die Rollenberechtigungen von höheren Ebenen.
Verwaltungsgruppen sind eine Ebene des Bereichs oberhalb von Abonnements, aber Verwaltungsgruppen unterstützen komplexere Hierarchien. Das folgende Diagramm zeigt ein Beispiel einer Hierarchie aus Verwaltungsgruppen und Abonnements, die Sie definieren können. Weitere Informationen zu Verwaltungsgruppen finden Sie unter Was sind Azure-Verwaltungsgruppen?.
Bereichsformat
Wenn Sie Rollen mithilfe der Befehlszeile zuweisen, müssen Sie den Bereich angeben. Für Befehlszeilentools ist der Bereich eine potenziell lange Zeichenfolge, die den genauen Bereich der Zuweisung identifiziert. Im Azure-Portal wird dieser Bereich in der Regel als Ressourcen-ID aufgeführt.
Der Bereich besteht aus einer Reihe von Bezeichnern, die durch den Schrägstrich (/) getrennt werden. Sie können sich diese Zeichenfolge als Ausdruck für die folgende Hierarchie vorstellen, wobei Text ohne Platzhalter ({}
) feste Bezeichner sind:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
ist die ID des zu verwendenden Abonnements (eine GUID).{resourceGroupName}
ist der Name der enthaltenden Ressourcengruppe.{providerName}
ist der Name des Ressourcenanbieters, der die Ressource verarbeitet, und{resourceType}
und{resourceSubType*}
identifizieren dann weitere Ebenen innerhalb dieses Ressourcenanbieters.{resourceName}
der letzte Teil der Zeichenfolge, die eine bestimmte Ressource identifiziert.
Verwaltungsgruppen liegen eine Ebene oberhalb von Abonnements und haben den umfassendsten (am wenigsten spezifischen) Bereich. Rollenzuweisungen auf dieser Ebene gelten für Abonnements innerhalb der Verwaltungsgruppe. Der Bereich für eine Verwaltungsgruppe weist das folgende Format auf:
/providers
/Microsoft.Management
/managementGroups
/{managmentGroupName}
Bereichsbeispiele
`Scope` | Beispiel |
---|---|
Verwaltungsgruppe | /providers/Microsoft.Management/managementGroups/marketing-group |
Subscription | /subscriptions/00000000-0000-0000-0000-000000000000 |
Resource group | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Ressource | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Ermitteln des Bereichs für eine Ressource
Es ist recht einfach, den Bereich für eine Verwaltungsgruppe, ein Abonnement oder eine Ressourcengruppe zu ermitteln. Sie müssen lediglich den Namen und die Abonnement-ID kennen. Die Bestimmung des Bereichs für eine Ressource ist jedoch etwas komplizierter. Hier finden Sie einige Möglichkeiten, den Bereich für eine Ressource zu ermitteln.
Öffnen Sie im Azure-Portal die Ressource, und überprüfen Sie dann die Eigenschaften. Die Ressource sollte die Ressourcen-ID auflisten, in der Sie den Bereich ermitteln können. Hier sind z. B. die Ressourcen-IDs für ein Speicherkonto.
Eine andere Möglichkeit ist, eine Rolle im Azure-Portal vorübergehend im Ressourcenbereich zuzuweisen und dann mit Azure PowerShell oder Azure CLI die Rollenzuweisung aufzulisten. In der Ausgabe wird der Bereich als Eigenschaft aufgelistet.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Bereich und ARM-Vorlagen
Eine Rollenzuweisung ist ein spezieller Typ in Azure Resource Manager, der als Erweiterungsressource bezeichnet wird. Eine Erweiterungsressource ist eine Ressource, die einer anderen Ressource Funktionen hinzufügt. Sie sind immer als Erweiterung (wie ein untergeordnetes Element) einer anderen Ressource vorhanden. Beispielsweise ist eine Rollenzuweisung im Abonnementbereich eine Erweiterungsressource des Abonnements. Der Name einer Rollenzuweisung ist immer der Name der Ressource, die Sie erweitern, plus /Microsoft.Authorization/roleAssignments/{roleAssignmentId}
. Beim Zuweisen von Rollen mithilfe einer Azure Resource Manager-Vorlage (ARM-Vorlage) müssen Sie den Bereich in der Regel nicht angeben. Der Grund dafür ist, dass das Bereichsfeld immer die ID der Ressource ist, die Sie erweitern. Der Bereich kann anhand der ID der Rollenzuweisung selbst bestimmt werden. Die folgende Tabelle zeigt Beispiele für eine Rollenzuweisungs-ID und den entsprechenden Bereich:
Rollenzuweisungs-ID | Umfang |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Weitere Informationen zum Bereich und zu ARM-Vorlagen finden Sie unter Zuweisen von Azure-Rollen mit Azure Resource Manager-Vorlagen. Eine vollständige Liste der Erweiterungsressourcentypen finden Sie unter Ressourcentypen, die Funktionen anderer Ressourcen erweitern.