Als u een Azure rol wilt toewijzen aan een beveiligingsprincipal met behulp van PowerShell, roept u de opdracht New-AzRoleAssignment aan. Als u de opdracht wilt uitvoeren, hebt u een rol nodig die Microsoft bevat. Autorisatie/roleAssignments/write machtigingen die aan u zijn toegewezen in het bijbehorende bereik of hoger.
De indeling van de opdracht kan verschillen op basis van het bereik van de toewijzing, maar de -ObjectId en -RoleDefinitionName parameters zijn vereist. Hoewel de parameter niet is vereist, moet u deze -Scope opnemen om het principe van minimale bevoegdheden te behouden. Door rollen en bereiken te beperken, beperkt u de resources die risico lopen als de beveiligingsprincipaal ooit wordt aangetast.
De parameter -ObjectId is de Microsoft Entra object-id van de gebruiker, groep of service-principal waaraan u de rol toewijst. Als u de id wilt ophalen, gebruikt u Get-AzADUser om Microsoft Entra gebruikers te filteren, zoals wordt weergegeven in het volgende voorbeeld.
Get-AzADUser -DisplayName '<Display Name>'
(Get-AzADUser -StartsWith '<substring>').Id
Het eerste antwoord retourneert het beveiligingssubject en het tweede retourneert de object-id van het beveiligingssubject.
UserPrincipalName : markpdaniels@contoso.com
ObjectType : User
DisplayName : Mark P. Daniels
Id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Type :
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
De -RoleDefinitionName parameterwaarde is de naam van de RBAC-rol die moet worden toegewezen aan de principal. Als u toegang wilt krijgen tot blobgegevens in Azure Portal met Microsoft Entra-referenties, moet een gebruiker de volgende roltoewijzingen hebben:
- Een rol voor gegevenstoegang, zoals Inzender voor opslagblobgegevens of Gegevenslezer voor opslagblob
- De rol Lezer van Azure Resource Manager
Als u een rol wilt toewijzen aan een blobcontainer of een opslagaccount, geeft u een tekenreeks op die het bereik van de resource voor de -Scope parameter bevat. Deze actie voldoet aan het principe van minimale bevoegdheden, een informatiebeveiligingsconcept waarin een gebruiker het minimale toegangsniveau krijgt dat nodig is om hun taakfuncties uit te voeren. Deze praktijk vermindert het potentiƫle risico op onbedoelde of opzettelijke schade die onnodige bevoegdheden kunnen veroorzaken.
Het bereik voor een container heeft de volgende notatie:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Het bereik voor een opslagaccount heeft de vorm:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Als u een rol wilt toewijzen aan een opslagaccount, geeft u een tekenreeks op die het bereik van de container voor de --scope parameter bevat.
In het volgende voorbeeld wordt de rol Inzender voor opslagblobgegevens toegewezen aan een gebruiker. De roltoewijzing is gericht op het niveau van de container. Vervang de voorbeeldwaarden en de tijdelijke aanduidingen tussen haakjes (<>) door uw eigen waarden:
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>"
In het volgende voorbeeld wordt de rol Opslagblobgegevenslezer aan een gebruiker toegewezen door de object-id op te geven. De roltoewijzing is afgestemd op het niveau van het opslagaccount. Vervang de voorbeeldwaarden en de tijdelijke aanduidingen tussen haakjes (<>) door uw eigen waarden:
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>"
Uw uitvoer moet er ongeveer als volgt uitzien:
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
Zie Azure-rollen toewijzen met behulp van Azure PowerShell voor informatie over roltoewijzing met PowerShell op abonnements- of resourcegroepniveau.
Als u een Azure rol wilt toewijzen aan een beveiligingsprincipaal met behulp van Azure CLI, gebruikt u de opdracht az-roltoewijzing maken. De indeling van de opdracht kan verschillen op basis van het bereik van de toewijzing. Als u de opdracht wilt uitvoeren, moet u een rol hebben met Microsoft. Autorisatie/roleAssignments/write machtigingen die aan u zijn toegewezen in het bijbehorende bereik of hoger.
Als u een rol wilt toewijzen aan een container, geeft u een tekenreeks op die het bereik van de container voor de --scope parameter bevat. Het bereik voor een container heeft de volgende notatie:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
In het volgende voorbeeld wordt de rol Inzender voor opslagblobgegevens toegewezen aan een gebruiker. De roltoewijzing is gericht op het niveau van de container. Vervang de voorbeeldwaarden en de tijdelijke aanduidingen tussen haakjes (<>) door uw eigen waarden:
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>"
In het volgende voorbeeld wordt de rol Opslagblobgegevenslezer aan een gebruiker toegewezen door de object-id op te geven. Zie --assignee-object-id voor meer informatie over de --assignee-principal-type en parameters. In dit voorbeeld is de roltoewijzing afgestemd op het niveau van het opslagaccount. Vervang de voorbeeldwaarden en de tijdelijke aanduidingen tussen haakjes (<>) door uw eigen waarden:
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>"
Wanneer u rollen toewijst of roltoewijzingen verwijdert, kan het tot tien minuten duren voordat wijzigingen van kracht worden.
Zie Azure-rollen toewijzen met behulp van Azure CLI voor meer informatie over het toewijzen van rollen met Azure CLI op het niveau van het abonnement, de resourcegroep of het opslagaccount.