Definiowanie przechowywanych zasad dostępu

Przechowywane zasady dostępu zapewniają dodatkowy poziom kontroli nad sygnaturami dostępu współdzielonego (SAS) na poziomie usługi po stronie serwera. Ustanowienie przechowywanych zasad dostępu służy do grupowania sygnatur dostępu współdzielonych i zapewnienia dodatkowych ograniczeń dla podpisów powiązanych przez zasady. Zapisane zasady dostępu mogą umożliwiać zmianę czasu rozpoczęcia, czasu wygaśnięcia lub uprawnień do podpisu albo odwołanie go po jego wystawieniu.

Następujące zasoby magazynu obsługują przechowywane zasady dostępu:

  • Kontenery obiektów blob
  • Udziały plików
  • Kolejki
  • Tabele

Uwaga

Należy pamiętać, że przechowywane zasady dostępu w kontenerze mogą być skojarzone z sygnaturą dostępu współdzieloną, która przyznaje uprawnienia do samego kontenera lub do obiektów blob, które zawiera. Podobnie przechowywane zasady dostępu do udziału plików można skojarzyć z sygnaturą dostępu współdzieloną, która udziela uprawnień do samego udziału lub do plików, które zawiera.

Zapisane zasady dostępu nie są obsługiwane w przypadku sygnatury dostępu współdzielonego delegowania użytkownika ani sygnatury dostępu współdzielonego konta.

Tworzenie lub modyfikowanie przechowywanych zasad dostępu

Zasady dostępu dla sygnatury dostępu współdzielone składają się z czasu rozpoczęcia, czasu wygaśnięcia i uprawnień do sygnatury. Można określić wszystkie te parametry w sygnaturze URI i brak w ramach przechowywanych zasad dostępu; wszystkie na przechowywanych zasadach dostępu i brak w zakresie URI; lub ich kombinację. Nie można jednak określić danego parametru zarówno dla tokenu SAS, jak i przechowywanych zasad dostępu.

Aby utworzyć lub zmodyfikować przechowywane zasady dostępu, wywołaj operację Ustaw listy ACL dla zasobu (zobacz Set Container ACL, Set Queue ACL, Set Table ACL, or Set Share ACL) z treścią żądania określającą warunki zasad dostępu. Treść żądania zawiera unikatowy identyfikator ze znakiem,o długości do 64 znaków oraz opcjonalne parametry zasad dostępu w następujący sposób:

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

W danym momencie dla kontenera, tabeli, kolejki lub udziału można ustawić maksymalnie pięć zasad dostępu. Każde SignedIdentifier pole z jego unikatowym Id polem odpowiada jednemu zasadom dostępu. Próba ustawienia więcej niż pięciu zasad dostępu jednocześnie powoduje, że usługa zwraca kod stanu 400 (Złe żądanie).

Uwaga

W przypadku ustanowienia przechowywanych zasad dostępu dla kontenera, tabeli, kolejki lub udziału może upłynieć do 30 sekund. W tym interwale żądania względem sygnatury dostępu współdzielone skojarzonego z zapisanymi zasadami dostępu mogą nie powieść się z kodem stanu 403 (Zabronione), dopóki zasady dostępu nie będą aktywne.

Ograniczeń zakresu jednostek tabeli (, , i ) nie startpk można określić w zapisanych zasadach startrk endpk endrk dostępu.

Modyfikowanie lub odwoływanie przechowywanych zasad dostępu

Aby zmodyfikować parametry przechowywanych zasad dostępu, można wywołać operację listy kontroli dostępu dla typu zasobu, aby zastąpić istniejące zasady, określając nowy czas rozpoczęcia, czas wygaśnięcia lub zestaw uprawnień. Jeśli na przykład istniejące zasady przyznają uprawnienia do odczytu i zapisu do zasobu, można go zmodyfikować, aby przyznać tylko uprawnienia do odczytu dla wszystkich przyszłych żądań. W takim przypadku podpisany identyfikator nowych zasad określony przez pole będzie identyczny z podpisanym identyfikatorem ID zamienianych zasad.

Aby odwołać przechowywane zasady dostępu, możesz je usunąć, zmienić ich nazwę, zmieniając podpisany identyfikator lub zmienić czas wygaśnięcia na wartość z przeszłości. Zmiana podpisanego identyfikatora przerywa skojarzenia między istniejącymi podpisami i zapisanymi zasadami dostępu. Zmiana czasu wygaśnięcia na wartość z przeszłości powoduje wygaśnięcie wszystkich skojarzonych podpisów. Usunięcie lub zmodyfikowanie przechowywanych zasad dostępu natychmiast wpływa na wszystkie skojarzone z nimi sygnatury dostępu współdzielone.

Aby usunąć pojedyncze zasady dostępu, wywołaj operację zasobu, przekazując zestaw podpisanych identyfikatorów, które chcesz Set ACL zachować w kontenerze. Aby usunąć wszystkie zasady dostępu z zasobu, wywołaj operację Ustawianie listy ACL z pustą treścią żądania.

Zobacz też