Om du vill tilldela en Azure roll till ett säkerhetsobjekt med hjälp av PowerShell anropar du kommandot New-AzRoleAssignment. Om du vill köra kommandot behöver du en roll som innehåller Microsoft. Auktorisering/rollTilldelningar/skriv behörigheter som tilldelats dig i motsvarande omfattning eller högre.
Formatet för kommandot kan variera beroende på tilldelningens omfattning, men parametrarna -ObjectId och -RoleDefinitionName krävs. Även om parametern -Scope inte krävs inkluderar du den för att behålla principen om lägsta behörighet. Genom att begränsa roller och omfång begränsar du de resurser som är i riskzonen om säkerhetsobjektet någonsin komprometteras.
Parametern -ObjectId är Microsoft Entra objekt-ID för användaren, gruppen eller tjänstens huvudnamn som du tilldelar rollen till. Om du vill hämta identifieraren använder du Get-AzADUser för att filtrera Microsoft Entra användare, som du ser i följande exempel.
Get-AzADUser -DisplayName '<Display Name>'
(Get-AzADUser -StartsWith '<substring>').Id
Det första svaret returnerar säkerhetsobjektet och det andra returnerar säkerhetsobjektets objekt-ID.
UserPrincipalName : markpdaniels@contoso.com
ObjectType : User
DisplayName : Mark P. Daniels
Id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Type :
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Parametervärdet -RoleDefinitionName är namnet på den roll i RBAC som ska tilldelas till huvudprincipen. För att få åtkomst till blobdata i Azure Portal med Microsoft Entra-autentiseringsuppgifter måste en användare ha följande rolltilldelningar:
- En dataåtkomstroll, till exempel Storage Blob Data Contributor eller Storage Blob Data Reader
- Rollen Azure Resource Manager-läsare
Om du vill tilldela en roll som är begränsad till en blobcontainer eller ett lagringskonto anger du en sträng som innehåller resursens omfång för parametern -Scope . Den här åtgärden överensstämmer med principen om minsta behörighet, ett begrepp för informationssäkerhet där en användare får den lägsta åtkomstnivå som krävs för att utföra sina jobbfunktioner. Den här metoden minskar risken för oavsiktlig eller avsiktlig skada som onödiga privilegier kan medföra.
Omfånget för en container har formen:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Omfånget för ett lagringskonto är i formuläret :
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Om du vill tilldela en roll som är begränsad till ett lagringskonto anger du en sträng som innehåller containerns omfång för parametern --scope .
I följande exempel tilldelas rollen Storage Blob Data Contributor till en användare. Rolltilldelningen är begränsad till containernivån. Ersätt exempelvärdena och platshållarvärdena inom hakparenteser (<>) med dina egna värden:
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>"
I följande exempel tilldelas rollen Storage Blob Data Reader till en användare genom att ange objekt-ID: t. Rolltilldelningen är begränsad till lagringskontots nivå. Ersätt exempelvärdena och platshållarvärdena inom hakparenteser (<>) med dina egna värden:
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>"
Ditt resultat bör likna följande:
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
Information om hur du tilldelar roller med PowerShell i prenumerations- eller resursgruppsomfånget finns i Tilldela Azure-roller med Hjälp av Azure PowerShell.
Om du vill tilldela en Azure roll till ett säkerhetsobjekt med hjälp av Azure CLI använder du kommandot az role assignment create. Formatet för kommandot kan variera beroende på tilldelningens omfattning. Om du vill köra kommandot måste du ha en roll som innehåller Microsoft. Auktorisering/rollTilldelningar/skriv behörigheter som tilldelats dig i motsvarande omfattning eller högre.
Om du vill tilldela en roll som är begränsad till en container anger du en sträng som innehåller containerns omfång för parametern --scope . Omfånget för en container har formen:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
I följande exempel tilldelas rollen Storage Blob Data Contributor till en användare. Rolltilldelningen är begränsad till containernivån. Ersätt exempelvärdena och platshållarvärdena inom hakparenteser (<>) med dina egna värden:
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>"
I följande exempel tilldelas rollen Storage Blob Data Reader till en användare genom att ange objekt-ID: t. Mer information om parametrarna --assignee-object-id och --assignee-principal-type finns i "az role assignment". I det här exemplet är rolltilldelningen begränsad till lagringskontots nivå. Ersätt exempelvärdena och platshållarvärdena inom hakparenteser (<>) med dina egna värden:
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>"
När du tilldelar roller eller tar bort rolltilldelningar kan det ta upp till 10 minuter innan ändringarna börjar gälla.
Information om hur du tilldelar roller med Azure CLI i omfånget prenumeration, resursgrupp eller lagringskonto finns i Tilldela Azure-roller med Azure CLI.