Udostępnij za pośrednictwem


Ustawianie listy ACL tabel

Operacja Set Table ACL ustawia przechowywane zasady dostępu dla tabeli, które mogą być używane z sygnaturami dostępu współdzielonego. Aby uzyskać więcej informacji, zobacz Definiowanie przechowywanych zasad dostępu.

Uwaga

Operacja Set Table ACL jest dostępna w wersji 2012-02-12 lub nowszej.

Uwaga

Lista kontroli dostępu (ACL) to lista wpisów kontroli dostępu (ACL). Każda usługa ACE na liście ACL identyfikuje powiernik i określa prawa dostępu dozwolone, odrzucone lub poddane inspekcji dla tego zaufania. Aby uzyskać więcej informacji, zobacz Listy kontroli dostępu.

Żądanie

Żądanie można skonstruować Set Table ACL w następujący sposób. Zalecamy użycie protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu.

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

Identyfikator URI usługi magazynu emulowanego

Gdy wysyłasz żądanie względem emulowanej usługi magazynu, określ nazwę hosta emulatora i port usługi Azure Table Storage jako 127.0.0.1:10002. Następnie dodaj nazwę emulowanego konta magazynu.

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?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. Wyrażone w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi Table Storage.

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań:

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-version Opcjonalny. 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), który jest rejestrowany w dziennikach analityka magazynu podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer.

Treść żądania

Aby określić przechowywane zasady dostępu, podaj unikatowy identyfikator i zasady dostępu w treści żądania dla Set Table ACL operacji.

Element SignedIdentifier zawiera unikatowy identyfikator określony w elemecie Id . SignedIdentifier Zawiera również szczegóły zasad dostępu, jak określono w elemecie AccessPolicy . Maksymalna długość unikatowego identyfikatora wynosi 64 znaki.

Pola Start i Expiry muszą być wyrażone jako czas UTC i muszą być zgodne z prawidłowym formatem ISO 8061. Obsługiwane formaty ISO 8061 obejmują:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.ffffffTZD

W przypadku części dat tych formatów YYYY jest reprezentacją czterocyfrową roku, MM jest reprezentacją dwucyfrową miesiąca i DD jest reprezentacją dwucyfrową w ciągu dnia. Dla części hh czasu jest reprezentacją godziny w notacji 24-godzinnej, mm jest reprezentacją dwucyfrową minuty, ss dwucyfrową drugą reprezentacją i ffffff jest reprezentacją sześciocyfrową milisekundy. Wyznaczanie T godziny oddziela fragmenty daty i godziny ciągu. Wyznaczanie TZD strefy czasowej określa strefę czasową.

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

Przykładowe żądanie

Request Syntax:  
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2013-08-15  
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Reakcja

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.

Kod stanu

Pomyślna operacja zwraca kod stanu 204 (Brak zawartości).

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

Nagłówki 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-request-id Unikatowo identyfikuje żądanie, które zostało wykonane. Można go również 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 Table Storage, która jest używana do wykonania żądania. Ten nagłówek jest zwracany w przypadku żądań wysyłanych w wersji 2009-09-19 lub nowszej.
Date Wartość daty/godziny UTC wskazująca godzinę, o której usługa wysłała odpowiedź.
x-ms-client-request-id Może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id , jeśli jest obecna w żądaniu, a wartość wynosi najwyżej 1024 widoczne znaki ASCII. x-ms-client-request-id Jeśli nagłówek nie istnieje w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi.

Przykładowa odpowiedź

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 25 Nov 2013 22:42:55 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
  

Autoryzacja

Tylko właściciel konta może wywołać tę operację.

Uwagi

Tylko właściciel konta może uzyskać dostęp do zasobów w określonej tabeli, chyba że właściciel wystawił sygnaturę dostępu współdzielonego dla zasobu w tabeli.

Po ustawieniu uprawnień dla tabeli istniejące uprawnienia zostaną zastąpione. Aby zaktualizować uprawnienia tabeli, wywołaj metodę Pobierz listę ACL tabel , aby pobrać wszystkie zasady dostępu skojarzone z tabelą. Zmodyfikuj zasady dostępu, które chcesz zmienić, a następnie wywołaj Set Table ACL metodę z pełnym zestawem danych w celu przeprowadzenia aktualizacji.

Ustanawianie przechowywanych zasad dostępu

Przechowywane zasady dostępu mogą określać czas rozpoczęcia, czas wygaśnięcia i uprawnienia dla sygnatur dostępu współdzielonego, z którymi jest skojarzony. W zależności od tego, jak chcesz kontrolować dostęp do udziału lub zasobu plików, możesz:

  • Określ wszystkie te parametry w ramach przechowywanych zasad dostępu i pomiń je z adresu URL sygnatury dostępu współdzielonego. Dzięki temu można zmodyfikować zachowanie skojarzonego podpisu lub odwołać go w dowolnym momencie.
  • Określ co najmniej jeden parametr zasad dostępu w ramach przechowywanych zasad dostępu i określ inne parametry w adresie URL.
  • Określ wszystkie parametry w adresie URL. W takim przypadku można użyć zapisanych zasad dostępu, aby odwołać podpis, ale nie zmodyfikować jego zachowania.

Aby uzyskać więcej informacji na temat ustanawiania zasad dostępu, zobacz Definiowanie przechowywanych zasad dostępu.

Razem sygnatura dostępu współdzielonego i przechowywane zasady dostępu muszą zawierać wszystkie pola wymagane do autoryzowania podpisu. Jeśli brakuje żadnych wymaganych pól, żądanie zakończy się niepowodzeniem. Podobnie jeśli pole jest określone zarówno w adresie URL sygnatury dostępu współdzielonego, jak i w przechowywanych zasadach dostępu, żądanie zakończy się niepowodzeniem z kodem stanu 400 (nieprawidłowe żądanie). Aby uzyskać więcej informacji na temat pól tworzących sygnaturę dostępu współdzielonego, zobacz Tworzenie sygnatury dostępu współdzielonego usługi.

W dowolnym momencie można ustawić maksymalnie pięć oddzielnych zasad dostępu dla tabeli. Jeśli w treści żądania zostanie przekazanych więcej niż pięć zasad dostępu, usługa zwróci kod stanu 400 (nieprawidłowe żądanie).

Uwaga

Po ustanowieniu przechowywanych zasad dostępu w tabeli może upłynąć do 30 sekund. W tym interwale sygnatura dostępu współdzielonego skojarzona z zapisanymi zasadami dostępu zakończy się niepowodzeniem z kodem stanu 403 (Zabronione), dopóki zasady dostępu nie staną się aktywne.

Zobacz też

Definiowanie przechowywanych zasad dostępu
Tworzenie i używanie sygnatury dostępu współdzielonego
Delegowanie dostępu za pomocą sygnatury dostępu współdzielonego
Uzyskiwanie listy ACL tabel
Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów