Autoriseren met Azure Active Directory

Azure Storage biedt integratie met Azure Active Directory (Azure AD) voor de autorisatie van aanvragen voor de BLOB-en Queue-Services op basis van identiteiten. Met Azure AD kunt u op rollen gebaseerd toegangs beheer (RBAC) gebruiken om toegang te verlenen aan Blob-en wachtrij bronnen voor gebruikers, groepen of toepassingen. U kunt machtigingen verlenen die van toepassing zijn op het niveau van een afzonderlijke container of wachtrij.

Zie toegang tot Azure-blobs en-wacht rijen toestaan met behulp van Azure Active Directoryvoor meer informatie over Azure AD-integratie in azure Storage.

Zie integreren met Azure Active Directoryvoor meer informatie over de voor delen van het gebruik van Azure AD in uw toepassing.

Tip

Het verlenen van toegang tot Blob-en wachtrij gegevens met Azure AD biedt een superieure beveiliging en gebruiks gemak over andere autorisatie opties. Wanneer u Azure AD gebruikt voor het autoriseren van aanvragen van uw toepassingen, moet u de toegangs sleutel van uw account niet opslaan met uw code, zoals u dat wel doet met de verificatie van gedeelde sleutels. Hoewel u de verificatie van de gedeelde sleutel kunt blijven gebruiken met uw Blob-en wachtrij toepassingen, raadt micro soft u waar mogelijk naar Azure AD te verplaatsen. Zie toegang tot Azure-blobs en-wacht rijen toestaan met Azure Active Directoryvoor meer informatie over Azure AD-integratie in azure Storage.

OAuth-toegangs tokens gebruiken voor verificatie

Azure Storage accepteert OAuth 2,0-toegangs tokens van de Azure AD-Tenant die is gekoppeld aan het abonnement dat het opslag account bevat. Azure Storage accepteert toegangs tokens voor:

  • Gebruikers
  • Service-principals
  • Beheerde service-identiteiten voor Azure-resources
  • Toepassingen die gebruikmaken van machtigingen die worden gedelegeerd door gebruikers

Azure Storage geeft één delegerings bereik met de naam user_impersonation op waarmee toepassingen elke actie kunnen uitvoeren die door de gebruiker is toegestaan.

Als u tokens voor Azure Storage wilt aanvragen, geeft u de waarde https://storage.azure.com/ voor de resource-id op.

Zie verificatie scenario's voor Azure ADvoor meer informatie over het aanvragen van toegangs tokens van Azure AD voor gebruikers en service-principals.

Voor meer informatie over het aanvragen van toegangs tokens voor resources die zijn geconfigureerd met beheerde identiteiten, Zie Managed identiteiten voor Azure resources op een Azure VM gebruiken om een toegangs token op te halen.

Opslag bewerkingen aanroepen met OAuth-tokens

Als u BLOB-en Queue-service bewerkingen wilt aanroepen met OAuth-toegangs tokens, geeft u het toegangs token in de autorisatie -header door middel van het Bearer -schema en geeft u een service versie van 2017-11-09 of hoger op, zoals wordt weer gegeven in het volgende voor beeld:

Request:
GET /container/file.txt
x-ms-version: 2017-11-09
Authorization: Bearer eyJ0eXAiO...V09ccgQ
User-Agent: PostmanRuntime/7.6.0
Accept: */*
Host: sampleoautheast2.blob.core.windows.net
accept-encoding: gzip, deflate

Response:
HTTP/1.1 200
status: 200
Content-Length: 28
Content-Type: text/plain
Content-MD5: dxG7IgOBzApXPcGHxGg5SA==
Last-Modified: Wed, 30 Jan 2019 07:21:32 GMT
Accept-Ranges: bytes
ETag: "0x8D686838F9E8BA7"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 09f31964-e01e-00a3-8066-d4e6c2000000
x-ms-version: 2017-11-09
x-ms-creation-time: Wed, 29 Aug 2018 04:22:47 GMT
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
Date: Wed, 06 Mar 2019 21:50:50 GMT
Welcome to Azure Storage!!

Bearer-uitdaging

Bearer-uitdaging maakt deel uit van het OAuth-protocol RFC 6750 en wordt gebruikt voor detectie van de autoriteit. Voor anonieme aanvragen of aanvragen met een ongeldig OAuth Bearer-token retourneert de server status code 401 (niet-gemachtigd) met ID-provider en resource gegevens. Zie koppeling voor het gebruik van deze waarden tijdens de verificatie met Azure AD.

Azure Storage Blob-en Queue-Services retour neren een Bearer-uitdaging voor versie 2019-12-12 en nieuwer. Azure Data Lake Storage Gen2 retourneert een Bearer-uitdaging voor versie 2017-11-09 en nieuwer.

Hier volgt een voor beeld van een reactie op een Bearer-vraag wanneer de client aanvraag geen Bearer-token in de aanvraag voor anonieme down load-BLOB bevat:

Request:
GET /container/file.txt
x-ms-version: 2019-12-12
Host: sampleoautheast2.blob.core.windows.net

Response:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer authorization_uri=https://login.microsoftonline.com/<tenant_id>/oauth2/authorize resource_uri=https://storage.azure.com

<?xml version="1.0" encoding="utf-8"?>
<Error>
    <Code>NoAuthenticationInformation</Code>
    <Message>Server failed to authenticate the request. Please refer to the information in the www-authenticate header.
RequestId:ec4f02d7-1003-0006-21f9-c55bc8000000
Time:2020-01-08T08:01:46.2063459Z</Message>
</Error>
Parameter Beschrijving
authorization_uri De URI (fysiek eind punt) van de autorisatie server. Deze waarde wordt ook gebruikt als opzoek sleutel voor het verkrijgen van meer informatie over de server van een detectie-eind punt. De client moet valideren of de autorisatie server vertrouwd is. Wanneer de resource wordt beveiligd door Azure AD, is het voldoende om te controleren of de URL begint met https://login.microsoftonline.com of een andere hostnaam die door Azure AD wordt ondersteund. Een Tenant-specifieke resource moet altijd een Tenant-specifieke autorisatie-URI retour neren.
resource_id Retourneert de unieke id van de resource. De client toepassing kan deze id als de waarde van de para meter Resource gebruiken wanneer deze een toegangs token voor de bron aanvraagt. Het is belang rijk dat de client toepassing deze waarde verifieert. anders kan een schadelijke service een aanval van bevoegdheden tot gevolg hebben. De aanbevolen strategie voor het voor komen van een aanval is te controleren of de resource_id overeenkomt met de basis van de Web API-URL die wordt geopend. https://storage.azure.comis de algemeen gebruikte Azure Storage Resource-ID.

Toegangsrechten beheren met RBAC

Azure AD verwerkt de autorisatie van toegang tot beveiligde bronnen via RBAC. Met RBAC kunt u rollen toewijzen aan gebruikers, groepen of service-principals. Elke rol omvat een set machtigingen voor een resource. Zodra de rol is toegewezen aan de gebruiker, groep of Service-Principal, hebben ze toegang tot die resource. U kunt toegangs rechten toewijzen met behulp van de Azure Portal, Azure-opdracht regel Programma's en Azure Management-Api's. Zie aan de slag met Access Control op basis van rollenvoor meer informatie over RBAC.

Voor Azure Storage kunt u toegang verlenen tot gegevens in een container of wachtrij in het opslag account. Azure Storage biedt deze ingebouwde RBAC-rollen voor gebruik met Azure AD:

Zie voor meer informatie over de manier waarop ingebouwde rollen zijn gedefinieerd voor Azure Storage over functie definities voor Azure-resources begrijpen.

U kunt ook aangepaste rollen definiëren voor gebruik met Blob Storage en Azure queues. Zie voor meer informatie aangepaste rollen maken voor op rollen gebaseerd Azure-Access Control.

Machtigingen voor het aanroepen van BLOB-en wachtrij gegevens bewerkingen

In de volgende tabellen worden de machtigingen beschreven die nodig zijn voor een Azure AD-gebruiker,-groep of-service-principal voor het aanroepen van specifieke Azure Storage bewerkingen. Als u een client wilt inschakelen om een bepaalde bewerking aan te roepen, moet u ervoor zorgen dat de toegewezen RBAC-rol van de client voldoende machtigingen biedt voor die bewerking.

Machtigingen voor Blob service bewerkingen

Blob service bewerking RBAC-actie
Containers weer geven Micro soft. Storage/Storage accounts/blobServices/containers/lezen (bereik van het opslag account)
Eigenschappen van BLOB-service instellen Micro soft. Storage/Storage accounts/blobServices/schrijven
Eigenschappen van BLOB-service ophalen Micro soft. Storage/Storage accounts/blobServices/lezen
Preflight-BLOB-aanvraag Anoniem
Statistieken van BLOB-service ophalen Micro soft. Storage/Storage accounts/blobServices/lezen
Sleutel voor gebruikers overdracht ophalen Micro soft. Storage/Storage accounts/blobServices/generateUserDelegationKey
Container maken Micro soft. Storage/Storage accounts/blobServices/containers/schrijven
Container eigenschappen ophalen Micro soft. Storage/Storage accounts/blobServices/containers/lezen
Meta gegevens van container ophalen Micro soft. Storage/Storage accounts/blobServices/containers/lezen
Meta gegevens van container instellen Micro soft. Storage/Storage accounts/blobServices/containers/schrijven
Container-ACL ophalen Niet beschikbaar via OAuth
Container-ACL instellen Niet beschikbaar via OAuth
Container verwijderen Micro soft. Storage/Storage accounts/blobServices/containers/verwijderen
Lease-container Micro soft. Storage/Storage accounts/blobServices/containers/schrijven
Blobs weer geven Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen (scoped to container)
BLOB plaatsen Voor maken of vervangen: micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Nieuwe Blob maken: micro soft. Storage/Storage accounts/blobServices/containers/blob's/add/Action
BLOB ophalen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
BLOB-eigenschappen ophalen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
BLOB-eigenschappen instellen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
BLOB-meta gegevens ophalen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
BLOB-meta gegevens instellen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Lease-blob Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Moment opname-BLOB Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven of
Micro soft. Storage/Storage accounts/blobServices/containers/blobs/toevoegen/actie
BLOB kopiëren Voor de doel-blob: micro soft. Storage/Storage accounts/blobServices/containers/blob's/write of micro soft. Storage/Storage accounts/blobServices/containers/blob's/add/Action (bij het schrijven van een nieuwe BLOB naar het doel)
Voor de bron-Blob in hetzelfde opslag account: micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
Voor de bron-Blob in een ander opslag account: beschikbaar als anoniem, of een geldig SAS-token bevatten
Kopiëren van BLOB afbreken Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
BLOB verwijderen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/verwijderen
Blok keren Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Blokkerings lijst plaatsen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Blokkerings lijst ophalen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
Pagina plaatsen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Paginabereiken ophalen Micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
BLOB voor incrementele kopie Voor doel-blob: micro soft. Storage/Storage accounts/blobServices/containers/blobs/schrijven
Voor de bron-blob: micro soft. Storage/Storage accounts/blobServices/containers/blobs/lezen
Voor nieuwe blob: micro soft. Storage/Storage accounts/blobServices/containers/blob's/add/Action
Blok toevoegen Micro soft. Storage/Storage accounts/blobServices/containers/blob's/write of micro soft. Storage/Storage accounts/blobServices/containers/blob's/add/Action

Machtigingen voor Queue-service bewerkingen

Queue-service bewerking RBAC-actie
Wacht rijen weer geven Micro soft. Storage/Storage accounts/queueServices/wacht rijen/lezen (bereik van opslag account)
Eigenschappen van wachtrij service instellen Micro soft. Storage/Storage accounts/queueServices/lezen
Eigenschappen van wachtrij service ophalen Micro soft. Storage/Storage accounts/queueServices/lezen
Aanvraag voor de Preflight-wachtrij Anoniem
Statistieken voor de wachtrij service ophalen Micro soft. Storage/Storage accounts/queueServices/lezen
Wachtrij maken Micro soft. Storage/Storage accounts/queueServices/queues/write
Wachtrij verwijderen Micro soft. Storage/Storage accounts/queueServices/queues/verwijderen
Meta gegevens van de wachtrij ophalen Micro soft. Storage/Storage accounts/queueServices/queues/Read
Meta gegevens van de wachtrij instellen Micro soft. Storage/Storage accounts/queueServices/queues/write
Wachtrij-ACL ophalen Niet beschikbaar via OAuth
Wachtrij-ACL instellen Niet beschikbaar via OAuth
Bericht plaatsen Micro soft. Storage/Storage accounts/queueServices/queues/berichten/add/Action of micro soft. Storage/Storage accounts/queueServices/queues/messages/write
Berichten ophalen Micro soft. Storage/Storage accounts/queueServices/queues/berichten/proces/actie of (micro soft. Storage/Storage accounts/queueServices/queues/messages/Delete en micro soft. Storage/Storage accounts/queueServices/queues/berichten/lezen)
Berichten bekijken Micro soft. Storage/Storage accounts/queueServices/queues/berichten/lezen
Bericht verwijderen Micro soft. Storage/Storage accounts/queueServices/queues/messages/process/Action of micro soft. Storage/Storage accounts/queueServices/queues/messages/Delete
Berichten wissen Micro soft. Storage/Storage accounts/queueServices/queues/berichten/verwijderen
Bericht bijwerken Micro soft. Storage/Storage accounts/queueServices/queues/berichten/schrijven

Zie ook