Partager via


Obtenir la liste de contrôle d’accès du conteneur

L’opération Get Container ACL obtient les autorisations pour le conteneur spécifié. Les autorisations indiquent si les données de conteneur sont accessibles publiquement.

À compter de la version 2009-09-19, les autorisations de conteneur fournissent les options suivantes pour gérer l’accès au conteneur :

  • accès en lecture public complet: les données de conteneur et d’objet blob peuvent être lues via une demande anonyme. Les clients peuvent énumérer des objets blob au sein du conteneur via une demande anonyme, mais ils ne peuvent pas énumérer les conteneurs dans le compte de stockage.

  • accès en lecture publique pour les objets blob uniquement: les données d’objet blob au sein de ce conteneur peuvent être lues via une requête anonyme, mais les données de conteneur ne sont pas disponibles. Les clients ne peuvent pas énumérer les objets blob au sein du conteneur via une demande anonyme.

  • Aucun accès en lecture public: les données de conteneur et d’objet blob ne peuvent être lues que par le propriétaire du compte.

Get Container ACL retourne également des détails sur les stratégies d’accès au niveau du conteneur spécifiées sur le conteneur qui peuvent être utilisées avec des signatures d’accès partagé. Pour plus d’informations, consultez Définir une stratégie d’accès stockée.

Tout accès public au conteneur est anonyme, tel qu’un accès via une signature d’accès partagé.

Demander

La requête Get Container ACL peut être construite comme suit. Nous vous recommandons d’utiliser HTTPS. Remplacez mon compte par le nom de votre compte de stockage :

Méthode URI de requête Version HTTP
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Demande de service de stockage émulée

Lorsque vous effectuez une requête sur le service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et le port Stockage Blob comme 127.0.0.1:10000, suivi du nom du compte de stockage émulé :

Méthode URI de requête Version HTTP
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Pour plus d’informations, consultez Utiliser l’émulateur Azurite pour le développement Azure Storage local.

Paramètres d’URI

Les paramètres supplémentaires suivants peuvent être spécifiés sur l’URI de requête :

Paramètre Description
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Définir des délais d’attente pour les opérations de stockage Blob.

Codes d’erreur de requête

Les en-têtes de requête obligatoires et facultatifs sont décrits dans le tableau suivant :

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie le temps universel coordonné (UTC) de la requête. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
x-ms-lease-id: <ID> Facultatif, version 2012-02-12 et ultérieure. S’il est spécifié, Get Container ACL réussit uniquement si le bail du conteneur est actif et correspond à cet ID. S’il n’y a pas de bail actif ou si l’ID ne correspond pas, 412 (Precondition Failed) est retourné.
x-ms-version Obligatoire pour toutes les demandes autorisées. Spécifie la version de l’opération à utiliser pour cette requête. Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.
x-ms-client-request-id Optionnel. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (KiB) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Monitor Stockage Blob Azure.

Corps de la demande

Aucun.

Réponse

La réponse inclut un code d’état HTTP, un ensemble d’en-têtes de réponse et un corps de réponse.

Code d’état

Une opération réussie retourne le code d’état 200 (OK).

Pour plus d’informations sur les codes d’état, consultez Les codes d’état et d’erreur.

Codes d’erreur de réponse

La réponse de cette opération inclut les en-têtes suivants. La réponse peut également inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification de protocole HTTP/1.1.

En-tête de réponse Description
x-ms-blob-public-access Indique si les données du conteneur sont accessibles publiquement et le niveau d’accès. Les valeurs possibles sont les suivantes :

- container: indique un accès en lecture public complet pour les données de conteneur et d’objet blob. Les clients peuvent énumérer des objets blob au sein du conteneur via une demande anonyme, mais ils ne peuvent pas énumérer les conteneurs dans le compte de stockage.
- blob: Indique l’accès en lecture public pour les objets blob. Les données blob de ce conteneur peuvent être lues via une requête anonyme, mais les données de conteneur ne sont pas disponibles. Les clients ne peuvent pas énumérer les objets blob au sein du conteneur via une demande anonyme.
- true: versions antérieures à 2016-05-31 uniquement. Indique que le conteneur a été marqué pour un accès en lecture public complet à l’aide d’une version antérieure à 2009-09-19. À compter de la version 2016-05-31, cette valeur est retournée en tant que container à la place.

Si cet en-tête n’est pas retourné dans la réponse, le conteneur est privé au propriétaire du compte.
ETag Balise d’entité pour le conteneur. Si la version de la demande est 2011-08-18 ou ultérieure, la valeur ETag est placée entre guillemets.
Last-Modified Retourne la date et l’heure de la dernière modification du conteneur. Le format de date suit RFC 1123. Pour plus d’informations, consultez Représenter les valeurs de date/heure dans les codes d’erreur.

Toute opération qui modifie le conteneur ou ses propriétés ou métadonnées met à jour l’heure de dernière modification. Les opérations sur les objets blob n’affectent pas l’heure de dernière modification du conteneur.
x-ms-request-id Identifie de manière unique la demande qui a été effectuée et peut être utilisée pour résoudre la demande. Pour plus d’informations, consultez Résoudre les problèmes d’opérations d’API.
x-ms-version Indique la version du service utilisée pour exécuter la requête. Cet en-tête est retourné pour les demandes effectuées par rapport à la version 2009-09-19 et ultérieures.
Date Valeur de date/heure UTC générée par le service, qui indique l’heure à laquelle la réponse a été lancée.
x-ms-client-request-id Peut être utilisé pour résoudre les demandes et leurs réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id s’il est présent dans la requête et que la valeur ne contient pas plus de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, cet en-tête n’est pas présent dans la réponse.

Corps de la réponse

Si une stratégie d’accès au niveau du conteneur a été spécifiée pour le conteneur, Get Container ACL retourne l’identificateur signé et la stratégie d’accès dans le corps de la réponse.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>  
    <Id>unique-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  

Exemple de réponse

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-blob-public-access: container  
Date: Sun, 25 Sep 2011 20:28:22 GMT  
ETag: "0x8CAFB82EFF70C46"  
Last-Modified: Sun, 25 Sep 2011 19:42:18 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2009-09-28T08:49:37.0000000Z</Start>  
      <Expiry>2009-09-29T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Autorisation

L’autorisation est requise lors de l’appel d’une opération d’accès aux données dans stockage Azure. Vous pouvez autoriser l’opération de Get Container ACL comme décrit ci-dessous.

Important

Microsoft recommande d’utiliser l’ID Microsoft Entra avec des identités managées pour autoriser les demandes adressées au stockage Azure. Microsoft Entra ID offre une sécurité et une facilité d’utilisation supérieures par rapport à l’autorisation de clé partagée.

Stockage Azure prend en charge l’utilisation de l’ID Microsoft Entra pour autoriser les demandes aux données d’objet blob. Avec l’ID Microsoft Entra, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité. Le principal de sécurité peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée Azure. Le principal de sécurité est authentifié par l’ID Microsoft Entra pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une demande auprès du service Blob.

Pour en savoir plus sur l’autorisation à l’aide de l’ID Microsoft Entra, consultez Autoriser l’accès aux objets blob à l’aide de Microsoft Entra ID.

Autorisations

Voici l’action RBAC nécessaire pour un utilisateur, un groupe, une identité managée ou un principal de service Microsoft Entra pour appeler l’opération de Get Container ACL et le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :

Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour accéder aux données blob.

Remarques

Aucun. Consultez informations de facturation pour plus d’informations sur la façon dont cette opération affecte les coûts.

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent des API Stockage Blob, directement via l’API REST Stockage Blob ou à partir d’une bibliothèque cliente Stockage Azure. Ces demandes accumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture s’accumulent dans une catégorie de facturation différente de celle des transactions en écriture. Le tableau suivant montre la catégorie de facturation pour les requêtes Get Container ACL en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Obtenir la liste de contrôle d’accès du conteneur Objet blob de blocs Premium
Standard v2 à usage général
Autres opérations
Obtenir la liste de contrôle d’accès du conteneur Standard v1 à usage général Opérations de lecture

Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez tarification du Stockage Blob Azure.

Voir aussi

restreindre l’accès aux conteneurs et aux objets blob
Définir une stratégie d’accès stockée
définir la liste de contrôle d’accès du conteneur
Autoriser les demandes adressées au stockage Azure
l’état et les codes d’erreur
codes d’erreur Stockage Blob