Wenn Sie eine Azure-Rolle einem Sicherheitsprinzipal mithilfe von PowerShell zuweisen möchten, rufen Sie den Befehl New-AzRoleAssignment auf. Zum Ausführen des Befehls benötigen Sie eine Rolle, die Microsoft.Authorization/roleAssignments/write-Berechtigungen enthält, die Ihnen im entsprechenden Bereich oder höher zugewiesen wurden.
Das Format des Befehls kann sich je nach Umfang der Zuordnung unterscheiden, die Parameter -ObjectId und -RoleDefinitionName sind jedoch erforderlich. Während der -Scope Parameter nicht erforderlich ist, schließen Sie ihn ein, um das Prinzip der geringsten Rechte beizubehalten. Durch das Einschränken von Rollen und Bereichen begrenzen Sie die Ressourcen, die bei einer Kompromittierung des Sicherheitsprinzipals gefährdet sind.
Der Parameter -ObjectId ist die Microsoft Entra Objekt-ID des Benutzers, der Gruppe oder des Dienstprinzipals, dem Sie die Rolle zuweisen. Verwenden Sie Get-AzADUser, um die Kennung abzurufen und Microsoft Entra Benutzer zu filtern, wie im folgenden Beispiel gezeigt.
Get-AzADUser -DisplayName '<Display Name>'
(Get-AzADUser -StartsWith '<substring>').Id
Die erste Antwort gibt den Sicherheitsprinzipal und die zweite die Objekt-ID des Sicherheitsprinzipals zurück.
UserPrincipalName : markpdaniels@contoso.com
ObjectType : User
DisplayName : Mark P. Daniels
Id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Type :
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Der Parameterwert -RoleDefinitionName ist der Name der RBAC-Rolle, die dem Prinzipal zugewiesen werden muss. Für den Zugriff auf Blob-Daten im Azure-Portal mit Microsoft Entra-Anmeldeinformationen müssen Benutzer über die folgenden Rollenzuweisungen verfügen:
- Eine Datenzugriffsrolle, z. B. Mitwirkender an Storage-Blobdaten oder Storage-Blobdatenleser
- Die Rolle des Azure Resource Managers Leseberechtigter
Wenn Sie einem Blobcontainer oder einem Speicherkonto eine Rolle zuweisen möchten, geben Sie eine Zeichenfolge an, die den Bereich der Ressource für den -Scope Parameter enthält. Diese Aktion entspricht dem Prinzip der geringsten Rechte, einem Informationssicherheitskonzept, bei dem einem Benutzer die geringstmögliche Zugriffsberechtigung zum Ausführen seiner Aufgaben gewährt wird. Diese Vorgehensweise verringert das potenzielle Risiko von versehentlichen oder absichtlichen Schäden, die durch unnötige Berechtigungen verursacht werden können.
Der Bereich für einen Container weist folgendes Format auf:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Der Bereich für ein Speicherkonto weist folgendes Format auf:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Geben Sie zum Zuweisen einer auf ein Speicherkonto begrenzten Rolle für den Parameter --scope eine Zeichenfolge an, die den Containerbereich enthält.
Im folgenden Beispiel wird einem Benutzer die Rolle Storage Blob Data Contributor zugewiesen. Die Rollenzuweisung ist auf die Containerebene eingeschränkt. Ersetzen Sie die Beispielwerte und die Platzhalterwerte in Klammern (<>) durch Ihre eigenen Werte:
New-AzRoleAssignment -SignInName <email> `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>"
Im folgenden Beispiel wird einem Benutzer durch Angabe der Objekt-ID die Rolle Storage-Blobdatenleser zugewiesen. Die Rollenzuweisung ist auf die Speicherkontoebene eingestellt. Ersetzen Sie die Beispielwerte und die Platzhalterwerte in Klammern (<>) durch Ihre eigenen Werte:
New-AzRoleAssignment -ObjectID "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" `
-RoleDefinitionName "Storage Blob Data Reader" `
-Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
Die Ausgabe sollte in etwa wie folgt aussehen:
RoleAssignmentId : /subscriptions/<subscription ID>/resourceGroups/<Resource Group>/providers/Microsoft.Storage/storageAccounts/<Storage Account>/providers/Microsoft.Authorization/roleAssignments/<Role Assignment ID>
Scope : /subscriptions/<subscription ID>/resourceGroups/<Resource Group>/providers/Microsoft.Storage/storageAccounts/<Storage Account>
DisplayName : Mark Patrick
SignInName : markpdaniels@contoso.com
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId : <Role Definition ID>
ObjectId : <Object ID>
ObjectType : User
CanDelegate : False
Informationen zum Zuweisen von Rollen mit PowerShell im Abonnement- oder Ressourcengruppenbereich finden Sie unter Zuweisen von Azure-Rollen mithilfe von Azure PowerShell.
Wenn Sie einem Sicherheitsprinzipal mithilfe von Azure CLI eine Azure Rolle zuweisen möchten, verwenden Sie den Befehl az role assignment create. Das Format des Befehls kann je nach Bereich der Zuweisung unterschiedlich sein. Um den Befehl auszuführen, müssen Sie über eine Rolle verfügen, die Microsoft.Authorization/roleAssignments/write-Berechtigungen im entsprechenden Bereich oder höher umfasst.
Geben Sie zum Zuweisen einer auf einen Container begrenzten Rolle für den Parameter --scope eine Zeichenfolge an, die den Containerbereich enthält. Der Bereich für einen Container weist folgendes Format auf:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Im folgenden Beispiel wird einem Benutzer die Rolle Storage Blob Data Contributor zugewiesen. Die Rollenzuweisung ist auf die Containerebene festgelegt. Ersetzen Sie die Beispielwerte und die Platzhalterwerte in Klammern (<>) durch Ihre eigenen Werte:
az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee <email> \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>"
Im folgenden Beispiel wird einem Benutzer durch Angabe der Objekt-ID die Rolle Storage-Blobdatenleser zugewiesen. Weitere Informationen zu den Parametern --assignee-object-id und --assignee-principal-type finden Sie unter az-Rollenzuweisung. In diesem Beispiel gilt Rollenzuweisung auf Speicherkontoebene. Ersetzen Sie die Beispielwerte und die Platzhalterwerte in Klammern (<>) durch Ihre eigenen Werte:
az role assignment create \
--role "Storage Blob Data Reader" \
--assignee-object-id "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" \
--assignee-principal-type "User" \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
Beim Zuweisen von Rollen oder Entfernen von Rollenzuweisungen kann es bis zu 10 Minuten dauern, bis Änderungen wirksam werden.
Informationen zum Zuweisen von Rollen mit der Azure-Befehlszeilenschnittstelle auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure-Befehlszeilenschnittstelle.