Configureer anonieme leestoegang voor containers en blobs

Azure Storage biedt ondersteuning voor optionele anonieme leestoegang voor containers en blobs. Anonieme toegang tot uw gegevens is standaard nooit toegestaan. Tenzij u expliciet anonieme toegang inschakelt, moeten alle aanvragen voor een container en de bijbehorende blobs worden geautoriseerd. Wanneer je de toegangsniveau-instelling van een container instelt om anonieme toegang toe te staan, kunnen clients data in die container lezen zonder het verzoek te autoriseren.

Waarschuwing

Wanneer een container is geconfigureerd voor anonieme toegang, kan elke client gegevens in die container lezen. Anonieme toegang vormt een potentieel beveiligingsrisico, dus als jouw situatie dat niet vereist, herstel dan anonieme toegang voor het opslagaccount.

Dit artikel beschrijft hoe anonieme leestoegang voor een container en zijn blobs configureert. Voor informatie over hoe anonieme toegang te herstellen voor optimale beveiliging, zie Remediate anonymous read access to blob data.

Over anonieme leestoegang

Anonieme toegang tot uw gegevens is altijd standaard verboden. Twee instellingen beïnvloeden anonieme toegang:

  • Instelling voor anonieme toegang voor het opslagaccount. Een Azure Resource Manager-opslagaccount biedt een instelling om anonieme toegang voor het account toe te staan of te weigeren. Microsoft raadt aan om anonieme toegang voor uw opslagaccounts niet toe tewijsen voor optimale beveiliging.

    Wanneer anonieme toegang is toegestaan op accountniveau, zijn blobgegevens niet beschikbaar voor anonieme leestoegang, tenzij de gebruiker de extra stap neemt om de instelling voor anonieme toegang van de container expliciet te configureren.

  • Configureer de instelling voor anonieme toegang van de container. De instelling voor anonieme toegang van een container is standaard uitgeschakeld, wat betekent dat autorisatie vereist is voor elke aanvraag voor de container of de bijbehorende gegevens. Een gebruiker met de juiste machtigingen kan de instelling voor anonieme toegang van een container wijzigen om anonieme toegang alleen in te schakelen als anonieme toegang is toegestaan voor het opslagaccount.

De volgende tabel geeft een overzicht van de invloed van de twee instellingen op anonieme toegang voor een container.

Anoniem toegangsniveau voor de container is ingesteld op Privé (standaardinstelling) Anoniem toegangsniveau voor de container is ingesteld op Container Anoniem toegangsniveau voor de container is ingesteld op Blob
Anonieme toegang is niet toegestaan voor het opslagaccount Geen anonieme toegang tot een container in het opslagaccount. Geen anonieme toegang tot een container in het opslagaccount. De instelling van het opslagaccount overschrijft de containerinstelling. Geen anonieme toegang tot een container in het opslagaccount. De instelling van het opslagaccount overschrijft de containerinstelling.
Anonieme toegang is toegestaan voor het opslagaccount Geen anonieme toegang tot deze container (standaardconfiguratie). Anonieme toegang is toegestaan voor deze container en de bijbehorende blobs. Anonieme toegang is toegestaan voor blobs in deze container, maar niet voor de container zelf.

Wanneer anonieme toegang is toegestaan voor een opslagaccount en geconfigureerd voor een specifieke container, accepteert de service een verzoek om een blob in die container te lezen die zonderAuthorization header wordt doorgegeven, en retourneert de blobgegevens in het antwoord. Als het verzoek echter met een Authorization header wordt doorgegeven, negeert de service anonieme toegang tot het opslagaccount en autoriseert het verzoek op basis van de verstrekte inloggegevens.

Sta anonieme leestoegang toe of verbied voor een opslagaccount

Wanneer je anonieme toegang toestaat voor een opslagaccount, kan een gebruiker met de juiste rechten de anonieme toegangsinstelling van een container aanpassen om anonieme toegang tot de gegevens in die container mogelijk te maken. Blobdata is nooit beschikbaar voor anonieme toegang tenzij de gebruiker de extra stap zet om expliciet de anonieme toegangsinstelling van de container te configureren.

Anonieme toegang tot een container is standaard altijd uitgeschakeld en moet expliciet worden geconfigureerd om anonieme verzoeken toe te staan. Ongeacht de instelling op het opslagaccount is uw data nooit anoniem toegankelijk, tenzij een gebruiker met de juiste rechten deze extra stap zet om anonieme toegang op de container mogelijk te maken.

Het niet toestaan van anonieme toegang voor het opslagaccount overschrijft de toegangsinstellingen voor alle containers in dat opslagaccount, waardoor anonieme toegang tot blobdata in dat account wordt voorkomen. Wanneer je anonieme toegang voor het account verbiedt, kun je de toegangsinstelling voor een container niet zo instellen dat anonieme toegang toestaat, en eventuele toekomstige anonieme verzoeken aan dat account mislukken. Voordat je deze instelling wijzigt, zorg ervoor dat je de impact op clientapplicaties begrijpt die mogelijk anoniem toegang krijgen tot gegevens in je opslagaccount. Zie Anonieme leestoegang tot containers en blobs voorkomen voor meer informatie.

Belangrijk

Nadat je anonieme toegang voor een opslagaccount hebt verboden, ontdekken clients die de anonymous bearer-uitdaging gebruiken dat Azure Storage een 403-fout (Verboden) teruggeeft in plaats van een 401-fout (Ongeautoriseerd). Maak alle containers privé om dit probleem te beperken. Voor meer informatie over het wijzigen van de anonieme toegangsinstelling voor containers, zie Het toegangsniveau instellen voor een container.

Het toestaan of verweigeren van anonieme toegang vereist versie 2019-04-01 of later van de Azure Storage resource provider. Zie de REST API van Azure Storage-resourceprovider voor meer informatie.

Machtigingen voor het ongedaan maken van anonieme toegang

Om de AllowBlobPublicAccess-eigenschap voor het opslagaccount in te stellen, heb je rechten nodig om opslagaccounts aan te maken en te beheren. Rollen voor op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) die deze machtigingen bieden, omvatten de actie Microsoft.Storage/storageAccounts/write . Ingebouwde rollen met deze actie zijn onder andere:

Roltoewijzingen moeten worden toegewezen aan het niveau van het opslagaccount of hoger, zodat een gebruiker anonieme toegang voor het opslagaccount niet toestaat. Zie Inzicht in het bereik voor Azure RBAC voor meer informatie over rolbereik.

Beperk de toewijzing van deze rollen alleen tot beheerders die de mogelijkheid nodig hebben om een opslagaccount aan te maken of de eigenschappen ervan bij te werken. Gebruik het principe van least privilege om ervoor te zorgen dat gebruikers zo min mogelijk rechten hebben om hun taken uit te voeren. Zie Best practices voor Azure RBAC voor meer informatie over het beheren van toegang met Azure RBAC.

Deze rollen bieden geen toegang tot gegevens in een opslagaccount via Microsoft Entra-id. Ze bevatten echter de Microsoft.Storage/storageAccounts/listkeys/action, die toegang verleent tot de accounttoegangssleutels. Door deze toestemming te gebruiken, kan een gebruiker de toegangssleutels van het account gebruiken om alle gegevens in een opslagaccount te benaderen.

De Microsoft. Storage/storageAccounts/listkeys/action zelf verleent data-toegang via de accountsleutels, maar geeft een gebruiker niet de mogelijkheid om de AllowBlobPublicAccess-eigenschap voor een opslagaccount te wijzigen. Voor gebruikers die toegang nodig hebben tot gegevens in uw opslagaccount, maar niet de mogelijkheid hebben om de configuratie van het opslagaccount te wijzigen, kunt u overwegen rollen toe te wijzen, zoals Inzender voor opslagblobgegevens, Opslagblobgegevenslezer of Lezer en Gegevenstoegang.

Opmerking

De klassieke abonnementsbeheerdersrollen Servicebeheerder en Medebeheerder bevatten het equivalent van de rol Azure Resource Manager-eigenaar. De rol Eigenaar bevat alle acties, zodat een gebruiker met een van deze beheerdersrollen ook opslagaccounts kan maken en accountconfiguratie kan beheren. Zie Azure-rollen, Microsoft Entra-rollen en klassieke abonnementsbeheerdersrollen voor meer informatie.

Stel de AllowBlobPublicAccess-eigenschap van het opslagaccount in

Om anonieme toegang voor een opslagaccount toe te staan of niet toe te staan, stel je de AllowBlobPublicAccess-eigenschap van het account in. Deze eigenschap is beschikbaar voor alle opslagaccounts die je aanmaakt met het Azure Resource Manager-implementatiemodel. Zie Opslagaccountoverzicht voor meer informatie.

Om anonieme toegang voor een opslagaccount in het Azure-portaal toe te staan of niet toe te staan, volgt u deze stappen:

  1. Ga naar uw opslagaccount in de Azure-portal.

  2. Zoek de configuratie-instelling onder Instellingen.

  3. Stel Blob anonieme toegang toestaan in op Ingeschakeld of Uitgeschakeld.

    Screenshot van hoe je anonieme toegang voor een opslagaccount wel of niet kunt toestaan.

Opmerking

Het verbieden van anonieme toegang voor een opslagaccount heeft geen invloed op statische websites die in dat opslagaccount worden gehost. De $web-container is altijd openbaar toegankelijk.

Nadat je de anonieme toegangsinstelling voor het opslagaccount hebt bijgewerkt, kan het tot 30 seconden duren voordat de wijziging volledig is doorgegeven.

Wanneer een container is geconfigureerd voor anonieme toegang, hoeven verzoeken om blobs in die container te lezen niet geautoriseerd te worden. Echter, alle firewallregels die je voor het opslagaccount configureert, blijven van kracht en blokkeren het verkeer in lijn met de geconfigureerde ACL's.

De volgende voorbeelden laten zien hoe je de eigenschap AllowBlobPublicAccess voor het opslagaccount kunt lezen om te bepalen of anonieme toegang momenteel is toegestaan of niet. Om te leren hoe je kunt verifiëren dat de anonieme toegangsinstelling van een account is ingesteld om anonieme toegang te voorkomen, zie Anonieme toegang remediëren voor het opslagaccount.

Stel het anonieme toegangsniveau in voor een container

Om anonieme gebruikers leestoegang te geven tot een container en zijn blobs, staat u eerst anonieme toegang toe voor het opslagaccount en stelt u vervolgens het anonieme toegangsniveau van de container in. Voordat je begint, zorg ervoor dat anonieme toegang is toegestaan op accountniveau (via de AllowBlobPublicAccess-eigenschap ) en dat je schrijfrechten hebt op de container. Als anonieme toegang wordt geweigerd voor het opslagaccount, kun je anonieme toegang niet instellen voor een container.

Caution

Microsoft raadt anonieme toegang tot blobdata in je opslagaccount af.

Wanneer je anonieme toegang voor een opslagaccount toestaat, kun je een container configureren met de volgende rechten:

  • Geen openbare leestoegang (portaal: Privé; PowerShell: Uit): De container en zijn blobs kunnen alleen worden benaderd met een geautoriseerd verzoek. Deze optie is standaard voor alle nieuwe containers.
  • Publieke leestoegang alleen voor blobs (portal en PowerShell: Blob): Blobs binnen de container kunnen anoniem worden gelezen, maar containerdata is niet anoniem beschikbaar. Anonieme clients kunnen de blobs binnen de container niet opsommen.
  • Publieke leestoegang voor container en zijn blobs (portaal en PowerShell: Container): Container- en blobgegevens kunnen anoniem worden gelezen, behalve voor containermachtigingen en containermetadata. Clients kunnen blobs binnen de container opsommen via anoniem verzoek, maar kunnen geen containers binnen het opslagaccount opsommen.

Je kunt het anonieme toegangsniveau voor een individuele blob niet wijzigen. Stel het anonieme toegangsniveau alleen in op containerniveau. Je kunt het anonieme toegangsniveau van de container instellen wanneer je de container aanmaakt, of je kunt de instelling aanpassen op een bestaande container.

Om het anonieme toegangsniveau voor een of meer bestaande containers in het Azure-portaal bij te werken, volgt u deze stappen:

  1. Ga naar het overzicht van je opslagaccount in het Azure-portaal.

  2. Selecteer onder Gegevensopslag op het menublad Containers.

  3. Selecteer de containers waarvoor je het anonieme toegangsniveau wilt instellen.

  4. Selecteer Toegangsniveau wijzigen om de anonieme toegangsinstellingen te openen.

  5. Selecteer het gewenste anonieme toegangsniveau uit het dropdown Anoniem toegangsniveau en selecteer OK om de wijziging toe te passen op de geselecteerde containers.

    Screenshot van hoe je het anonieme toegangsniveau voor een container in het portaal kunt instellen.

  6. Om de wijziging te verifiëren, open je het toegangsniveau wijzigen opnieuw en bevestig je dat het anonieme toegangsniveau je gekozen waarde toont.

Wanneer anonieme toegang voor het opslagaccount wordt verboden, kun je het anonieme toegangsniveau van een container niet instellen. Als je probeert het anonieme toegangsniveau van de container in te stellen, wordt deze instelling uitgeschakeld omdat anonieme toegang voor het account niet is toegestaan.

Screenshot van de anonieme toegangsniveau-instelling van een container die geblokkeerd wordt wanneer anonieme toegang wordt verboden voor het account.

Controleer de anonieme toegangsinstelling voor een set containers

Je kunt controleren welke containers in één of meer opslagaccounts zijn geconfigureerd voor anonieme toegang door de containers te vermelden en de anonieme toegangsinstelling aan te vinken. Deze aanpak is een praktische optie wanneer een opslagaccount niet veel containers bevat, of wanneer je de instellingen controleert over een klein aantal opslagaccounts. De prestaties kunnen echter lijden als je probeert een groot aantal containers op te sommen.

Het volgende voorbeeld gebruikt PowerShell om de anonieme toegangsinstelling voor alle containers in een opslagaccount te krijgen. Vergeet niet om de tijdelijke aanduidingen tussen haakjes te vervangen door uw eigen waarden:

$rgName = "<resource-group>"
$accountName = "<storage-account>"
$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
Get-AzStorageContainer -Context $ctx | Select Name, PublicAccess

Ondersteuning van functies

Ondersteuning voor deze functie kan worden beïnvloed door het inschakelen van Data Lake Storage Gen2, het NFS-protocol (Network File System) 3.0 of het SSH File Transfer Protocol (SFTP). Als u een van deze mogelijkheden hebt ingeschakeld, raadpleegt u Blob Storage functieondersteuning in Azure Storage accounts om ondersteuning voor deze functie te beoordelen.

Volgende stappen