Udostępnij za pośrednictwem


Uzyskiwanie listy ACL kontenerów

Operacja Get Container ACL pobiera uprawnienia dla określonego kontenera. Uprawnienia wskazują, czy dane kontenera mogą być dostępne publicznie.

Od wersji 2009-09-19 uprawnienia kontenera zapewniają następujące opcje zarządzania dostępem do kontenera:

  • Pełny publiczny dostęp do odczytu: dane kontenera i obiektu blob można odczytywać za pośrednictwem żądania anonimowego. Klienci mogą wyliczać obiekty blob w kontenerze za pośrednictwem żądania anonimowego, ale nie mogą wyliczać kontenerów na koncie magazynu.

  • Publiczny dostęp do odczytu tylko dla obiektów blob: dane obiektów blob w tym kontenerze można odczytywać za pośrednictwem żądania anonimowego, ale dane kontenera nie są dostępne. Klienci nie mogą wyliczać obiektów blob w kontenerze za pośrednictwem żądania anonimowego.

  • Brak publicznego dostępu do odczytu: dane kontenera i obiektu blob mogą być odczytywane tylko przez właściciela konta.

Get Container ACL Zwraca również szczegółowe informacje o wszelkich zasadach dostępu na poziomie kontenera określonych w kontenerze, które mogą być używane z sygnaturami dostępu współdzielonego. Aby uzyskać więcej informacji, zobacz Definiowanie przechowywanych zasad dostępu.

Cały publiczny dostęp do kontenera jest anonimowy, podobnie jak dostęp za pośrednictwem sygnatury dostępu współdzielonego.

Żądanie

Żądanie Get Container ACL może być skonstruowane w następujący sposób. Zalecamy korzystanie z protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu:

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Żądanie usługi magazynu emulowanego

Gdy wysyłasz żądanie względem usługi emulowanego magazynu, określ nazwę hosta emulatora i port usługi Blob Storage jako 127.0.0.1:10000, a następnie nazwę emulowanego konta magazynu:

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Aby uzyskać więcej informacji, zobacz Use the Azurite emulator for local Azure Storage development (Używanie emulatora Azurite do lokalnego programowania w usłudze Azure Storage).

Parametry identyfikatora URI

Dla identyfikatora URI żądania można określić następujące dodatkowe parametry:

Parametr Opis
timeout Opcjonalny. Parametr jest wyrażony timeout w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Blob Storage.

Kody błędów żądania

Wymagane i opcjonalne nagłówki żądań zostały opisane w poniższej tabeli:

Nagłówek żądania Opis
Authorization Wymagane. Określa schemat autoryzacji, nazwę konta i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
Date lub x-ms-date Wymagane. Określa dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
x-ms-lease-id: <ID> Opcjonalnie, wersja 2012-02-12 lub nowsza. Jeśli jest określony, powiedzie się tylko wtedy, Get Container ACL gdy dzierżawa kontenera jest aktywna i jest zgodna z tym identyfikatorem. Jeśli nie ma aktywnej dzierżawy lub identyfikator nie jest zgodny, 412 (Precondition Failed) zostanie zwrócony.
x-ms-version Wymagane dla wszystkich autoryzowanych żądań. Określa wersję operacji do użycia dla tego żądania. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage.
x-ms-client-request-id Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB) rejestrowanym w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitorowanie Azure Blob Storage.

Treść żądania

Brak.

Reakcja

Odpowiedź zawiera kod stanu HTTP, zestaw nagłówków odpowiedzi i treść odpowiedzi.

Kod stanu

Pomyślna operacja zwraca kod stanu 200 (OK).

Aby uzyskać informacje o kodach stanu, zobacz Kody stanu i błędów.

Kody błędów odpowiedzi

Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.

Nagłówek odpowiedzi Opis
x-ms-blob-public-access Wskazuje, czy dostęp do danych w kontenerze może być uzyskiwany publicznie i na poziomie dostępu. Możliwe wartości to:

- container: wskazuje pełny publiczny dostęp do odczytu dla danych kontenera i obiektów blob. Klienci mogą wyliczać obiekty blob w kontenerze za pośrednictwem żądania anonimowego, ale nie mogą wyliczać kontenerów na koncie magazynu.
- blob: Wskazuje publiczny dostęp do odczytu dla obiektów blob. Dane obiektów blob w tym kontenerze można odczytywać za pośrednictwem żądania anonimowego, ale dane kontenera nie są dostępne. Klienci nie mogą wyliczać obiektów blob w kontenerze za pośrednictwem żądania anonimowego.
- true: Tylko wersje starsze niż 2016-05-31. Wskazuje, że kontener został oznaczony do pełnego publicznego dostępu do odczytu przy użyciu wersji starszej niż 2009-09-19. Od wersji 2016-05-31 ta wartość jest zwracana jako container zamiast.

Jeśli ten nagłówek nie zostanie zwrócony w odpowiedzi, kontener jest prywatny dla właściciela konta.
ETag Tag jednostki dla kontenera. Jeśli wersja żądania to 2011-08-18 lub nowsza, wartość elementu ETag jest ujęta w cudzysłów.
Last-Modified Zwraca datę i godzinę ostatniej modyfikacji kontenera. Format daty jest zgodny z dokumentem RFC 1123. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości daty/godziny w kodach błędów.

Każda operacja modyfikując kontener lub jego właściwości lub metadane aktualizuje czas ostatniej modyfikacji. Operacje na obiektach blob nie mają wpływu na czas ostatniej modyfikacji kontenera.
x-ms-request-id Unikatowo identyfikuje żądanie, które zostało wykonane, i może służyć do rozwiązywania problemów z żądaniem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z operacjami interfejsu API.
x-ms-version Wskazuje wersję usługi, która została użyta do wykonania żądania. Ten nagłówek jest zwracany w przypadku żądań, które zostały wykonane w wersji 2009-09-19 lub nowszej.
Date Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę zainicjowania odpowiedzi.
x-ms-client-request-id Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości x-ms-client-request-id nagłówka, jeśli jest obecna w żądaniu, a wartość zawiera nie więcej niż 1024 widoczne znaki ASCII. x-ms-client-request-id Jeśli nagłówek nie znajduje się w żądaniu, ten nagłówek nie jest obecny w odpowiedzi.

Treść odpowiedzi

Jeśli dla kontenera określono zasady dostępu na poziomie kontenera, Get Container ACL zwraca podpisany identyfikator i zasady dostępu w treści odpowiedzi.

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

Przykładowa odpowiedź

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>  
  

Autoryzacja

Operacja Get Container ACL obsługuje tylko autoryzację klucza współużytkowanego.

Uwagi

Tylko właściciel konta może odczytywać dane na określonym koncie magazynu, chyba że właściciel konta określił, że obiekty blob w kontenerze są dostępne dla publicznego dostępu do odczytu lub udostępnił zasoby w kontenerze za pośrednictwem sygnatury dostępu współdzielonego.

Rozliczenia

Żądania cen mogą pochodzić od klientów korzystających z interfejsów API usługi Blob Storage bezpośrednio za pośrednictwem interfejsu API REST usługi Blob Storage lub biblioteki klienta usługi Azure Storage. Te żądania naliczają opłaty za transakcję. Typ transakcji wpływa na sposób naliczania opłat za konto. Na przykład transakcje odczytu są naliczane w innej kategorii rozliczeniowej niż transakcje zapisu. W poniższej tabeli przedstawiono kategorię rozliczeń dla Get Container ACL żądań na podstawie typu konta magazynu:

Operacja Typ konta magazynu Kategoria rozliczeń
Uzyskiwanie listy ACL kontenerów Blokowy obiekt blob w warstwie Premium
Standardowa ogólnego przeznaczenia, wersja 2
Inne operacje
Uzyskiwanie listy ACL kontenerów Standardowa ogólnego przeznaczenia, wersja 1 Operacje odczytu

Aby dowiedzieć się więcej o cenach dla określonej kategorii rozliczeniowej, zobacz Azure Blob Storage Cennik.

Zobacz też

Ograniczanie dostępu do kontenerów i obiektów blob
Definiowanie przechowywanych zasad dostępu
Ustawianie listy ACL kontenerów
Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów
Kody błędów usługi Blob Storage