Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure role-based access control (Azure RBAC) ist das Autorisierungssystem, das Sie zum Verwalten des Zugriffs auf Azure-Ressourcen verwenden. Sie weisen Benutzern, Gruppen, Dienstprinzipalen oder verwalteten Identitäten für einen bestimmten Bereich Rollen zu, um diesen Zugriff zu gewähren. In diesem Artikel wird beschrieben, wie Sie Rollen mithilfe von Azure PowerShell zuweisen.
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Voraussetzungen
Um Rollen zuzuweisen, müssen Sie über Folgendes verfügen:
-
Microsoft.Authorization/roleAssignments/writeBerechtigungen, z. B. Rollenbasierter Zugriffskontrolladministrator - PowerShell in Azure Cloud Shell oder Azure PowerShell
- Das Konto, das Sie zum Ausführen des PowerShell-Befehls verwenden, muss über die Microsoft Graph-Berechtigung
Directory.Read.Allverfügen.
Schritte zum Zuweisen einer Azure-Rolle
Eine Rollenzuweisung besteht aus drei Elementen: Sicherheitsprinzipal, Rollendefinition und Bereich.
Schritt 1: Ermitteln, wer Zugriff benötigt
Sie können einem Benutzer, einer Gruppe, einem Dienstprinzipal oder einer verwalteten Identität eine Rolle zuweisen. Um eine Rolle zuzuweisen, müssen Sie möglicherweise die eindeutige ID des Objekts angeben. Die ID hat das Format: 11111111-1111-1111-1111-111111111111. Sie können die ID über das Azure-Portal oder Azure PowerShell abrufen.
Benutzer
Bei einem Microsoft Entra-Benutzer rufen Sie den Benutzerprinzipalnamen (z. B. patlong@contoso.com) oder die Benutzerobjekt-ID ab. Um die Objekt-ID abzurufen, können Sie Get-AzADUser verwenden.
Get-AzADUser -StartsWith <userName>
(Get-AzADUser -DisplayName <userName>).id
Gruppieren
Für eine Microsoft Entra-Gruppe benötigen Sie die Gruppenobjekt-ID. Um die Objekt-ID abzurufen, können Sie Get-AzADGroup verwenden.
Get-AzADGroup -SearchString <groupName>
(Get-AzADGroup -DisplayName <groupName>).id
Service Principal
Für einen Microsoft Entra-Dienstprinzipal (von einer Anwendung verwendete Identität) benötigen Sie die Dienstprinzipalobjekt-ID. Um die Objekt-ID abzurufen, können Sie Get-AzADServicePrincipal verwenden. Verwenden Sie für einen Dienstprinzipal die Objekt-ID und nicht die Anwendungs-ID.
Get-AzADServicePrincipal -SearchString <principalName>
(Get-AzADServicePrincipal -DisplayName <principalName>).id
Verwaltete Identität
Für eine vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität benötigen Sie die Objekt-ID. Um die Objekt-ID abzurufen, können Sie Get-AzADServicePrincipal verwenden.
Get-AzADServicePrincipal -SearchString <principalName>
(Get-AzADServicePrincipal -DisplayName <principalName>).id
Schritt 2: Auswählen der entsprechenden Rolle
Berechtigungen werden in Rollen gruppiert. Sie können aus einer Liste mit mehreren integrierten Azure-Rollen auswählen oder eigene benutzerdefinierte Rollen verwenden. Es empfiehlt sich, den Zugriff mit den geringsten Berechtigungen zu gewähren, die erforderlich sind. Vermeiden Sie daher, eine breitere Rolle zuzuweisen.
Zum Auflisten von Rollen und Abrufen der eindeutigen Rollen-ID können Sie Get-AzRoleDefinition verwenden.
Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id
Hier erfahren Sie, wie Sie die Details einer bestimmten Rolle auflisten.
Get-AzRoleDefinition -Name <roleName>
Weitere Informationen finden Sie unter "Azure-Rollendefinitionen auflisten".
Schritt 3: Identifizieren des erforderlichen Bereichs
Azure bietet vier Ebenen des Bereichs: Ressource, Ressourcengruppe, Abonnement und Verwaltungsgruppe. Es empfiehlt sich, den Zugriff mit den geringsten Berechtigungen zu gewähren, die erforderlich sind. Vermeiden Sie daher das Zuweisen einer Rolle in einem breiteren Bereich. Weitere Informationen zum Bereich finden Sie unter "Grundlegendes zum Bereich".
Ressourcenbereich
Für den Ressourcenbereich benötigen Sie die Ressourcen-ID der Ressource. Sie finden die Ressourcen-ID, indem Sie sich die Eigenschaften der Ressource im Azure-Portal ansehen. Eine Ressourcen-ID weist das folgende Format auf.
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
Bereich der Ressourcengruppe
Für den Ressourcengruppenbereich benötigen Sie den Namen der Ressourcengruppe. Sie finden den Namen auf der Seite "Ressourcengruppen " im Azure-Portal, oder Sie können Get-AzResourceGroup verwenden.
Get-AzResourceGroup
Abonnementbereich
Für den Abonnementbereich benötigen Sie die Abonnement-ID. Sie finden die ID auf der Seite "Abonnements " im Azure-Portal, oder Sie können Get-AzSubscription verwenden.
Get-AzSubscription
Verwaltungsgruppenbereich
Für den Verwaltungsgruppenbereich benötigen Sie den Namen der Verwaltungsgruppe. Sie finden den Namen auf der Seite "Verwaltungsgruppen " im Azure-Portal, oder Sie können Get-AzManagementGroup verwenden.
Get-AzManagementGroup
Schritt 4: Rollen zuweisen
Verwenden Sie den Befehl "New-AzRoleAssignment ", um eine Rolle zuzuweisen. Je nach Bereich weist der Befehl in der Regel eines der folgenden Formate auf.
Ressourcenbereich
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionId <roleId> `
-ResourceName <resourceName> `
-ResourceType <resourceType> `
-ResourceGroupName <resourceGroupName>
Bereich der Ressourcengruppe
New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-ResourceGroupName <resourceGroupName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-ResourceGroupName <resourceGroupName>
Abonnementbereich
New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>
Verwaltungsgruppenbereich
New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-Scope /providers/Microsoft.Management/managementGroups/<groupName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /providers/Microsoft.Management/managementGroups/<groupName>
Zuweisen von Rollenbeispielen
Eine Rolle für alle Blob-Container im Ressourcenbereich eines Speicherkontos zuweisen
Weist die Rolle "Mitwirkender für Storage Blob Data" einem Dienstprinzipal mit der Objekt-ID 55555555-5555-5555-5555-555555555555 und der Anwendungs-ID 66666666-6666-6666-6666-666666666666 im Ressourcenumfang für ein Speicherkonto namens storage12345 zu.
PS C:\> New-AzRoleAssignment -ApplicationId 66666666-6666-6666-6666-666666666666 `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/providers/Microsoft.Authorization/roleAssignments/cccccccc-cccc-cccc-cccc-cccccccccccc
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345
DisplayName : example-identity
SignInName :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId : 55555555-5555-5555-5555-555555555555
ObjectType : ServicePrincipal
CanDelegate : False
Zuweisen einer Rolle für einen bestimmten Blobcontainerressourcenbereich
Weist die Rolle "Storage Blob Data Contributor" einem Dienstprinzipal mit Objekt-ID 55555555-5555-5555-5555-555555555555 und Anwendungs-ID 66666666-6666-6666-6666-666666666666 im Ressourcenbereich eines Blob-Containers namens blob-container-01 zu.
PS C:\> New-AzRoleAssignment -ApplicationId 66666666-6666-6666-6666-666666666666 `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignm
ents/dddddddd-dddd-dddd-dddd-dddddddddddd
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01
DisplayName : example-identity
SignInName :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId : 55555555-5555-5555-5555-555555555555
ObjectType : ServicePrincipal
CanDelegate : False
Zuweisen einer Rolle für eine Gruppe in einem bestimmten Ressourcenbereich für virtuelle Netzwerke
Weist die Rolle Mitwirkender von virtuellen Computern der Gruppe Pharma Sales Admins mit der ID „aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa“ an einem Ressourcenbereich für ein virtuelles Netzwerk namens pharma-sales-project-network zu.
PS C:\> New-AzRoleAssignment -ObjectId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceName pharma-sales-project-network `
-ResourceType Microsoft.Network/virtualNetworks `
-ResourceGroupName MyVirtualNetworkResourceGroup
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
/providers/Microsoft.Network/virtualNetworks/pharma-sales-project-network/providers/Microsoft.Authorizat
ion/roleAssignments/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
/providers/Microsoft.Network/virtualNetworks/pharma-sales-project-network
DisplayName : Pharma Sales Admins
SignInName :
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId : aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
ObjectType : Group
CanDelegate : False
Zuweisen einer Rolle für einen Benutzer im Geltungsbereich einer Ressourcengruppe
Weist dem Benutzer im Ressourcengruppenbereich patlong@contoso.com die Rolle Mitwirkender für virtuelle Computer zu.
PS C:\> New-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/pr
oviders/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Pat Long
SignInName : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
Alternativ können Sie die vollqualifizierte Ressourcengruppe mit dem -Scope Parameter angeben:
PS C:\> New-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Pat Long
SignInName : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
Einem Benutzer eine Rolle unter Verwendung der eindeutigen Rollen-ID auf der Ebene einer Ressourcengruppe zuweisen
Es gibt ein paar Male, wenn sich ein Rollenname ändern kann, z. B.:
- Sie verwenden Ihre eigene benutzerdefinierte Rolle, und Sie entscheiden, den Namen zu ändern.
- Sie verwenden eine Vorschaurolle mit dem Namen (Vorschau ). Wenn die Rolle freigegeben wird, wird die Rolle umbenannt.
Auch wenn eine Rolle umbenannt wird, ändert sich die Rollen-ID nicht. Wenn Sie Skripts oder Automatisierung verwenden, um Ihre Rollenzuweisungen zu erstellen, empfiehlt es sich, die eindeutige Rollen-ID anstelle des Rollennamens zu verwenden. Daher funktionieren Ihre Skripts wahrscheinlich besser, wenn eine Rolle umbenannt wird.
Im folgenden Beispiel wird dem Benutzer im Ressourcengruppenbereich patlong@contoso.com die Rolle Mitwirkender für virtuelle Computer zugewiesen.
PS C:\> New-AzRoleAssignment -ObjectId 44444444-4444-4444-4444-444444444444 `
-RoleDefinitionId 9980e02c-c2be-4d73-94e8-173b1dc7cf3c `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Pat Long
SignInName : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
Zuweisen einer Rolle für eine Anwendung im Umfang einer Ressourcengruppe
Weist einer Anwendung mit der Objekt-ID „77777777-7777-7777-7777-777777777777“ des Dienstprinzipals die Rolle Mitwirkender für virtuelle Computer im Ressourcengruppenbereich pharma-sales zu.
PS C:\> New-AzRoleAssignment -ObjectId 77777777-7777-7777-7777-777777777777 `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/66666666-6666-6666-6666-666666666666
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : MyApp1
SignInName :
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId : 77777777-7777-7777-7777-777777777777
ObjectType : ServicePrincipal
CanDelegate : False
Zuweisen einer Rolle für einen Benutzer in einem Abonnementbereich
Weist dem Benutzer die annm@example.com auf Abonnement-Ebene zu.
PS C:\> New-AzRoleAssignment -SignInName annm@example.com `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000"
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/66666666-6666-6666-6666-666666666666
Scope : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName : Ann M
SignInName : annm@example.com
RoleDefinitionName : Reader
RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7
ObjectId : 77777777-7777-7777-7777-777777777777
ObjectType : ServicePrincipal
CanDelegate : False
Zuweisen einer Rolle für einen Benutzer auf Ebene einer Managementgruppe
Weist dem Benutzer die Rolle "Abrechnungsleser" im Bereich einer Verwaltungsgruppe zu.
PS C:\> New-AzRoleAssignment -SignInName alain@example.com `
-RoleDefinitionName "Billing Reader" `
-Scope "/providers/Microsoft.Management/managementGroups/marketing-group"
RoleAssignmentId : /providers/Microsoft.Management/managementGroups/marketing-group/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
Scope : /providers/Microsoft.Management/managementGroups/marketing-group
DisplayName : Alain Charon
SignInName : alain@example.com
RoleDefinitionName : Billing Reader
RoleDefinitionId : fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False