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ółdzielonych. Aby uzyskać więcej informacji, zobacz Define a stored access policy (Definiowanie zapisanych zasad dostępu).

Uwaga

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

Uwaga

Lista kontroli dostępu (ACL) to lista wpisów kontroli dostępu (ACE). Każdy ace na listach ACL identyfikuje powierni i określa prawa dostępu dozwolone, odmowa lub inspekcji dla tego trustee. Aby uzyskać więcej informacji, zobacz Access Control List .

Żądanie

Żądanie Set Table ACL może zostać skonstruowane w następujący sposób. Protokół HTTPS jest zalecany. Zastąp myaccount nazwą swojego konta magazynu:

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

Emulowany Storage URI usługi

Podczas tworzenia żądania względem emulowanej usługi magazynu określ nazwę hosta emulatora i port usługi Table Jako , a następnie 127.0.0.1:10002 nazwę emulowanej 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 Differences Between the Storage Emulator and Azure Storage Services (Różnice między usługami Azure Storage Emulator i Azure Storage Services).

Parametry identyfikatora URI

W żądaniu URI można określić następujące dodatkowe parametry.

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

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 Versioning for the Azure Storage Services (Wersjeusług Azure Storage Services).
x-ms-client-request-id Opcjonalny. Zapewnia wygenerowaną przez klienta nieprzezroczystą wartość z limitem znaków 1 KiB, który jest rejestrowany w dziennikach analizy po włączeniu rejestrowania analizy magazynu. Używanie tego nagłówka jest wysoce zalecane do korelowania działań po stronie klienta z żądaniami odebranymi przez serwer. Aby uzyskać więcej informacji, zobacz About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests (Informacje o rejestrowaniu usługi Azure Analytics i rejestrowaniu na platformie Azure: używanie dzienników do śledzenia Storage żądań).

Treść żądania

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

Element zawiera unikatowy identyfikator określony w elemencie oraz szczegóły zasad dostępu, jak SignedIdentifier Id określono w AccessPolicy elemencie . Maksymalna długość unikatowego identyfikatora to 64 znaki.

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

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

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

W przypadku daty w tych formatach jest to czterocyfrowa reprezentacja roku, dwucyfrowa reprezentacja miesiąca i dwucyfrowa reprezentacja YYYY MM DD dnia. Część czasowa to reprezentacja godzinowa w notacji 24-godzinnej, dwucyfrowa reprezentacja minutowa, dwucyfrowa reprezentacja sekundy i 6-cyfrowa reprezentacja w hh mm milisekundach. ss ffffff Zaprojektator czasu oddziela część daty i czasu ciągu, podczas gdy program do projektowania strefy czasowej T TZD 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 Ten nagłówek jednoznacznie 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 Table Service używaną do wykonania żądania. Ten nagłówek jest zwracany w przypadku żądań względem wersji 2009-09-19 i nowszych.
Date Wartość daty/czasu UTC wygenerowana przez usługę, która wskazuje czas, o której została zainicjowana odpowiedź.
x-ms-client-request-id Ten nagłówek 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, jeśli jest obecny w żądaniu, a wartość jest co najwyżej 1024 widocznych znaków x-ms-client-request-id ASCII. Jeśli nagłówek nie jest obecny w żądaniu, ten nagłówek nie x-ms-client-request-id 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ółdzielonych dla zasobu w tabeli.

Po skonfigurowaniu uprawnień dla tabeli istniejące uprawnienia są zastępowane. Aby zaktualizować uprawnienia tabeli, wywołaj pozycję 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 wywołanie z kompletnym zestawem danych w celu przeprowadzenia Set Table ACL aktualizacji.

Ustanawianie zapisanych zasad dostępu

Zapisane zasady dostępu mogą określać czas rozpoczęcia, czas wygaśnięcia i uprawnienia dla sygnatur dostępu współdzielonych, z którymi są skojarzone. W zależności od tego, jak chcesz kontrolować dostęp do zasobu tabeli, możesz określić wszystkie te parametry w ramach przechowywanych zasad dostępu i pominąć je w adresie URL sygnatury dostępu współdzielonych. Pozwala to na modyfikowanie zachowania skojarzonego podpisu w dowolnym momencie, a także odwołanie go. Możesz też określić jeden lub więcej parametrów zasad dostępu w ramach przechowywanych zasad dostępu, a inne w adresie URL. Na koniec możesz określić wszystkie parametry w adresie URL. W takim przypadku można użyć zapisanych zasad dostępu, aby odwołać podpis, ale nie w celu zmodyfikowania jego zachowania. Aby uzyskać więcej informacji na temat ustanawiania zasad dostępu, zobacz Define a stored access policy (Definiowanie zapisanych zasad dostępu).

Razem sygnatura dostępu współdzielona i przechowywane zasady dostępu muszą zawierać wszystkie pola wymagane do autoryzowania podpisu. Jeśli brakuje wymaganych pól, żądanie nie powiedzie się. Podobnie jeśli pole zostanie określone zarówno w adresie URL sygnatury dostępu współdzielonych, jak i w przechowywanych zasadach dostępu, żądanie nie powiedzie się z kodem stanu 400 (Złe żą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.

Należy pamiętać, że w dowolnym momencie dla danej tabeli można ustawić co najwyżej pięć oddzielnych zasad dostępu. Jeśli w treści żądania przekazano więcej niż pięć zasad dostępu, usługa zwraca kod stanu 400 (Złe żądanie).

Uwaga

W przypadku ustanowienia zapisanych zasad dostępu do tabeli może upłynieć do 30 sekund. W tym interwale sygnatura dostępu współdzielona skojarzona z zapisanymi zasadami dostępu nie powiedzie się z kodem stanu , dopóki zasady dostępu nie 403 (Forbidden) zostaną aktywne.

Zobacz też

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