Condividi tramite


Ottenere l'ACL del contenitore

L'operazione Get Container ACL ottiene le autorizzazioni per il contenitore specificato. Le autorizzazioni indicano se è possibile accedere pubblicamente ai dati del contenitore.

A partire dalla versione 2009-09-19, le autorizzazioni del contenitore forniscono le opzioni seguenti per la gestione dell'accesso al contenitore:

  • l'accesso in lettura pubblico completo: i dati del contenitore e dei BLOB possono essere letti tramite richiesta anonima. I client possono enumerare i BLOB all'interno del contenitore tramite una richiesta anonima, ma non possono enumerare i contenitori all'interno dell'account di archiviazione.

  • Accesso in lettura pubblico solo per i BLOB: i dati BLOB all'interno di questo contenitore possono essere letti tramite richiesta anonima, ma i dati del contenitore non sono disponibili. I client non possono enumerare i BLOB all'interno del contenitore tramite una richiesta anonima.

  • Nessun accesso in lettura pubblico: i dati contenitore e BLOB possono essere letti solo dal proprietario dell'account.

Get Container ACL restituisce anche informazioni dettagliate sui criteri di accesso a livello di contenitore specificati nel contenitore che possono essere usati con firme di accesso condiviso. Per altre informazioni, vedere Definire un criterio di accesso archiviato.

Tutto l'accesso pubblico al contenitore è anonimo, così come è l'accesso tramite una firma di accesso condiviso.

Richiesta

La richiesta di Get Container ACL può essere costruita nel modo seguente. È consigliabile usare HTTPS. Sostituire myaccount con il nome dell'account di archiviazione:

Metodo URI della richiesta Versione HTTP
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Richiesta del servizio di archiviazione emulata

Quando si effettua una richiesta per il servizio di archiviazione emulato, specificare il nome host dell'emulatore e la porta di archiviazione BLOB come 127.0.0.1:10000, seguito dal nome dell'account di archiviazione emulato:

Metodo URI della richiesta Versione HTTP
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Per altre informazioni, vedere Usare l'emulatore Azurite per lo sviluppo locale di Archiviazione di Azure.

Parametri URI

È possibile specificare i parametri aggiuntivi seguenti nell'URI della richiesta:

Parametro Descrizione
timeout Opzionale. Il parametro timeout è espresso in secondi. Per altre informazioni, vedere Impostare i timeout per le operazioni di archiviazione BLOB.

Codici di errore della richiesta

Le intestazioni di richiesta obbligatorie e facoltative sono descritte nella tabella seguente:

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica l'ora UTC (Coordinated Universal Time) per la richiesta. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
x-ms-lease-id: <ID> Facoltativo, versione 2012-02-12 e successive. Se è specificato, Get Container ACL ha esito positivo solo se il lease del contenitore è attivo e corrisponde a questo ID. Se non è presente alcun lease attivo o l'ID non corrisponde, viene restituito 412 (Precondition Failed).
x-ms-version Obbligatorio per tutte le richieste autorizzate. Specifica la versione dell'operazione da utilizzare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
x-ms-client-request-id Opzionale. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando viene configurata la registrazione. È consigliabile usare questa intestazione per correlare le attività sul lato client alle richieste ricevute dal server. Per altre informazioni, vedere Monitorare l'archiviazione BLOB di Azure.

Corpo della richiesta

Nessuno.

Risposta

La risposta include un codice di stato HTTP, un set di intestazioni di risposta e un corpo della risposta.

Codice di stato

Un'operazione riuscita restituisce il codice di stato 200 (OK).

Per informazioni sui codici di stato, vedere Stato e codici di errore.

Codici di errore di risposta

La risposta per questa operazione include le intestazioni seguenti. La risposta può includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1 .

Intestazione della risposta Descrizione
x-ms-blob-public-access Indica se è possibile accedere pubblicamente ai dati nel contenitore e al livello di accesso. I valori possibili includono:

- container: indica l'accesso in lettura pubblico completo per i dati di contenitori e BLOB. I client possono enumerare i BLOB all'interno del contenitore tramite una richiesta anonima, ma non possono enumerare i contenitori all'interno dell'account di archiviazione.
- blob: Indica l'accesso in lettura pubblico per i BLOB. I dati BLOB all'interno di questo contenitore possono essere letti tramite richiesta anonima, ma i dati del contenitore non sono disponibili. I client non possono enumerare i BLOB all'interno del contenitore tramite una richiesta anonima.
- true: Versioni precedenti alla versione 2016-05-31. Indica che il contenitore è stato contrassegnato per l'accesso in lettura pubblico completo usando una versione precedente al 2009-09-19. A partire dalla versione 2016-05-31, questo valore viene restituito come container.

Se questa intestazione non viene restituita nella risposta, il contenitore è privato del proprietario dell'account.
ETag Tag di entità per il contenitore. Se la versione della richiesta è 2011-08-18 o successiva, il valore ETag è racchiuso tra virgolette.
Last-Modified Restituisce la data e l'ora dell'ultima modifica del contenitore. Il formato della data segue RFC 1123. Per altre informazioni, vedere Rappresentare valori di data/ora nei codici di errore.

Qualsiasi operazione che modifica il contenitore o le relative proprietà o metadati aggiorna l'ora dell'ultima modifica. Le operazioni sui BLOB non influiscono sull'ora dell'ultima modifica del contenitore.
x-ms-request-id Identifica in modo univoco la richiesta effettuata e può essere usata per risolvere i problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni API.
x-ms-version Indica la versione del servizio utilizzata per eseguire la richiesta. Questa intestazione viene restituita per le richieste effettuate rispetto alla versione 2009-09-19 e successive.
Date Valore di data/ora UTC generato dal servizio, che indica l'ora di avvio della risposta.
x-ms-client-request-id Può essere usato per risolvere i problemi relativi alle richieste e alle risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id se è presente nella richiesta e il valore non contiene più di 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non è presente nella risposta.

Corpo della risposta

Se è stato specificato un criterio di accesso a livello di contenitore per il contenitore, Get Container ACL restituisce l'identificatore firmato e i criteri di accesso nel corpo della risposta.

<?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>  

Risposta di esempio

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>  
  

Autorizzazione

L'autorizzazione è necessaria quando si chiama un'operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione di Get Container ACL come descritto di seguito.

Importante

Microsoft consiglia di usare l'ID Microsoft Entra con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre maggiore sicurezza e facilità d'uso rispetto all'autorizzazione con chiave condivisa.

  • Microsoft Entra ID (scelta consigliata)
  • chiave condivisa

Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta sul servizio BLOB.

Per altre informazioni sull'autorizzazione con Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

Di seguito è riportata l'azione controllo degli accessi in base al ruolo necessaria per un utente, un gruppo, un'identità gestita o un'entità servizio di Microsoft Entra per chiamare l'operazione di Get Container ACL e il ruolo controllo degli accessi in base al ruolo di Azure con privilegi minimi che include questa azione:

Per altre informazioni sull'assegnazione dei ruoli tramite il controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Osservazioni

Nessuno. Per informazioni dettagliate su come questa operazione influisce sui costi, vedere informazioni sulla fatturazione.

Fatturazione

Le richieste di prezzi possono provenire dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST dell'archiviazione BLOB o da una libreria client di Archiviazione di Azure. Queste richieste accumulano addebiti per transazione. Il tipo di transazione influisce sulla modalità di addebito dell'account. Ad esempio, le transazioni di lettura si accumulano in una categoria di fatturazione diversa rispetto alle transazioni di scrittura. La tabella seguente illustra la categoria di fatturazione per Get Container ACL richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Ottenere l'ACL del contenitore BLOB in blocchi Premium
Standard per utilizzo generico v2
Altre operazioni
Ottenere l'ACL del contenitore Standard per utilizzo generico v1 Operazioni di lettura

Per informazioni sui prezzi per la categoria di fatturazione specificata, vedere prezzi di Archiviazione BLOB di Azure.

Vedere anche

Limitare l'accesso a contenitori e BLOB
Definire un criterio di accesso archiviato
Set Container ACL
Autorizzare le richieste ad Archiviazione di Azure
codici di errore e stato
codici di errore dell'archiviazione BLOB