Power shell gebruiken om een Azure-rol toe te wijzen voor toegang tot Blob-en wachtrij gegevens

Met Azure Active Directory (Azure AD) worden de toegangs rechten voor beveiligde bronnen geautoriseerd via toegangs beheer op basis van rollen (Azure RBAC). Azure Storage definieert een set ingebouwde rollen van Azure die algemene sets machtigingen omvatten die worden gebruikt voor toegang tot containers of wacht rijen.

Wanneer een Azure-rol is toegewezen aan een Azure AD-beveiligings-principal, verleent Azure toegang tot de resources voor die beveiligings-principal. De toegang kan worden beperkt tot het niveau van het abonnement, de resource groep, het opslag account of een afzonderlijke container of wachtrij. Een beveiligings-principal voor Azure AD kan een gebruiker, een groep, een service-principal van de toepassing of een beheerde identiteit voor Azure-resourceszijn.

In dit artikel wordt beschreven hoe u Azure PowerShell kunt gebruiken om ingebouwde rollen van Azure op te geven en ze toe te wijzen aan gebruikers. Zie overzicht van Azure PowerShellvoor meer informatie over het gebruik van Azure PowerShell.

Notitie

Dit artikel is bijgewerkt om gebruik te maken van de Azure Az PowerShell-module. De Az PowerShell-module is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Azure-rollen voor blobs en wacht rijen

Azure bevat de volgende ingebouwde Azure-rollen voor het autoriseren van toegang tot blob- en wachtrijgegevens met behulp van Azure AD en OAuth:

Alleen met rollen die expliciet zijn gedefinieerd voor toegang tot gegevens, kan een beveiligingsprincipal toegang krijgen tot blob- of wachtrijgegevens. Met ingebouwde rollen zoals Eigenaar, Inzender, en Inzender voor opslagaccounts kan een beveiligingsprincipal een opslagaccount te beheren, maar heeft geen toegang tot de blob- of wachtrijgegevens binnen dat account via Azure AD. Als een rol echter Microsoft.Storage/storageAccounts/listKeys/action bevat, heeft een gebruiker aan wie deze rol is toegewezen toegang tot gegevens in het opslagaccount via gedeelde sleutelautorisatie met de toegangssleutels van het account. Zie Use the Azure portal to access blob or queue data (De Azure-portal gebruiken om toegang te krijgen tot blob- of wachtrijgegevens) voor meer informatie.

Voor gedetailleerde informatie over ingebouwde rollen van Azure voor Azure Storage voor zowel de gegevensservices als de beheerservice raadpleegt u de sectie Storage in Ingebouwde Azure-rollen voor Azure RBAC. Zie voor meer informatie over de verschillende soorten rollen die machtigingen bieden in Azure Klassieke abonnementsbeheerdersrollen, Azure-rollen en Azure AD-rollen.

Belangrijk

Het kan tot 30 minuten duren voordat Azure-roltoewijzingen zijn doorgegeven.

Resource bereik bepalen

Voordat u een Azure RBAC-rol toewijst aan een beveiligingsprincipal, bepaalt u het bereik van toegang dat de beveiligingsprincipal moet hebben. Uit best practices blijkt dat het het beste is om het nauwst mogelijke bereik toe te wijzen. De Azure RBAC-rollen die zijn gedefinieerd voor een groter bereik, worden overgenomen door de onderliggende resources.

In de volgende lijst worden de niveaus beschreven waarop u toegang tot Azure-blob en -wachtrijresources kunt bepalen, beginnend met het kleinste bereik:

  • Een afzonderlijke container. In dit bereik is een roltoewijzing van toepassing op alle blobs in de container, evenals containereigenschappen en metagegevens.
  • Een afzonderlijke wachtrij. In dit bereik is een roltoewijzing van toepassing op berichten in de wachtrij, evenals op wachtrij-eigenschappen en metagegevens.
  • Het opslagaccount. In dit bereik is een roltoewijzing van toepassing op alle containers en de bijbehorende blobs, of op alle wachtrijen en hun berichten.
  • De resourcegroep. In dit bereik is een roltoewijzing van toepassing op alle containers of wachtrijen in alle opslagaccounts in de resourcegroep.
  • Het abonnement. In dit bereik is een roltoewijzing van toepassing op alle containers of wachtrijen in alle opslagaccounts in alle resourcegroepen in het abonnement.
  • Een beheergroep. In dit bereik is een roltoewijzing van toepassing op alle containers of wachtrijen in alle opslagaccounts in alle resourcegroepen in alle abonnementen van de beheergroep.

Raadpleeg Wat is op rollen gebaseerd toegangsbeheer in Azure (Azure RBAC)? voor meer informatie over Azure-roltoewijzingen.

Beschik bare Azure-rollen weer geven

Gebruik de opdracht Get-AzRoleDefinition voor een lijst met beschik bare ingebouwde Azure-rollen met Azure PowerShell:

Get-AzRoleDefinition | FT Name, Description

De ingebouwde Azure Storage gegevens rollen worden weer gegeven, samen met andere ingebouwde rollen voor Azure:

Storage Blob Data Contributor             Allows for read, write and delete access to Azure Storage blob containers and data
Storage Blob Data Owner                   Allows for full access to Azure Storage blob containers and data, including assigning POSIX access control.
Storage Blob Data Reader                  Allows for read access to Azure Storage blob containers and data
Storage Queue Data Contributor            Allows for read, write, and delete access to Azure Storage queues and queue messages
Storage Queue Data Message Processor      Allows for peek, receive, and delete access to Azure Storage queue messages
Storage Queue Data Message Sender         Allows for sending of Azure Storage queue messages
Storage Queue Data Reader                 Allows for read access to Azure Storage queues and queue messages

Een Azure-rol toewijzen aan een beveiligingsprincipal

Als u een Azure-rol aan een beveiligingsprincipal wilt toewijzen, gebruikt u de opdracht New-AzRoleAssignment . De indeling van de opdracht kan verschillen op basis van het bereik van de toewijzing. Als u de opdracht wilt uitvoeren, moet u de rol eigenaar of Inzender hebben toegewezen aan het overeenkomstige bereik. In de volgende voor beelden ziet u hoe u een rol toewijst aan een gebruiker in verschillende bereiken, maar u kunt dezelfde opdracht gebruiken om een rol toe te wijzen aan een beveiligings-principal.

Belangrijk

Wanneer u een Azure Storage-account maakt, worden er niet automatisch machtigingen toegewezen om toegang te krijgen tot gegevens via Azure AD. U moet uzelf expliciet een Azure RBAC-rol toewijzen voor gegevens toegang. U kunt deze toewijzen op het niveau van uw abonnement, resource groep, opslag account of container of wachtrij.

Als het opslag account is vergrendeld met een Azure Resource Manager alleen-lezen vergrendeling, voor komt de vergren deling dat de toewijzing van Azure RBAC-rollen die zijn afgestemd op het opslag account of aan een gegevens container (BLOB-container of wachtrij) wordt toegewezen.

Container bereik

Als u een Role bereik wilt toewijzen aan een container, geeft u een teken reeks op met het bereik van de container voor de --scope para meter. Het bereik voor een container bevindt zich in de vorm:

/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container-name>

In het volgende voor beeld wordt de rol Storage BLOB data Inzender toegewezen aan een gebruiker, met een container met de naam sample-container. Vervang de voorbeeld waarden en de waarden van de tijdelijke aanduiding tussen vier Kante haken door uw eigen waarden:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Blob Data Contributor" `
    -Scope  "/subscriptions/<subscription>/resourceGroups/sample-resource-group/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/sample-container"

Wachtrij bereik

Als u een Role bereik aan een wachtrij wilt toewijzen, geeft u een teken reeks met het bereik van de wachtrij voor de --scope para meter op. Het bereik voor een wachtrij bevindt zich in de vorm:

/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/queueServices/default/queues/<queue-name>

In het volgende voor beeld wordt de rol Inzender voor gegevens van de opslag wachtrij toegewezen aan een gebruiker, met het bereik van een wachtrij met de naam voorbeeld wachtrij. Vervang de voorbeeld waarden en de waarden van de tijdelijke aanduiding tussen vier Kante haken door uw eigen waarden:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Queue Data Contributor" `
    -Scope  "/subscriptions/<subscription>/resourceGroups/sample-resource-group/providers/Microsoft.Storage/storageAccounts/<storage-account>/queueServices/default/queues/sample-queue"

Bereik van opslag account

Als u een rollen bereik wilt toewijzen aan het opslag account, geeft u het bereik van de bron van het opslag account op voor de --scope para meter. Het bereik van een opslag account bevindt zich in de vorm:

/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>

In het volgende voor beeld ziet u hoe u de rol van Blob Storage-gegevens lezer kunt bereiken voor een gebruiker op het niveau van het opslag account. Zorg ervoor dat u de voorbeeld waarden vervangt door uw eigen waarden:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Blob Data Reader" `
    -Scope  "/subscriptions/<subscription>/resourceGroups/sample-resource-group/providers/Microsoft.Storage/storageAccounts/<storage-account>"

Bereik van de resourcegroep

Als u een rollen bereik wilt toewijzen aan de resource groep, geeft u de naam van de resource groep of ID voor de --resource-group para meter op. In het volgende voor beeld wordt de rol van gegevens lezer van de opslag wachtrij toegewezen aan een gebruiker op het niveau van de resource groep. Vervang de voorbeeld waarden en de waarden van de tijdelijke aanduiding tussen vier Kante haken door uw eigen waarden:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Queue Data Reader" `
    -ResourceGroupName "sample-resource-group"

Abonnements bereik

Als u een rollen bereik wilt toewijzen aan het abonnement, geeft u het bereik op voor het abonnement voor de --scope para meter. Het bereik voor een abonnement bevindt zich in de vorm:

/subscriptions/<subscription>

In het volgende voor beeld ziet u hoe u de rol Storage BLOB data Reader toewijst aan een gebruiker op het niveau van het opslag account. Zorg ervoor dat u de voorbeeld waarden vervangt door uw eigen waarden:

New-AzRoleAssignment -SignInName <email> `
    -RoleDefinitionName "Storage Blob Data Reader" `
    -Scope  "/subscriptions/<subscription>"

Volgende stappen