Definiowanie przechowywanych zasad dostępu
Przechowywane zasady dostępu zapewniają dodatkowy poziom kontroli nad sygnaturami dostępu współdzielonego na poziomie usługi (SAS) po stronie serwera. Ustanowienie przechowywanych zasad dostępu służy do grupowania sygnatur dostępu współdzielonego i zapewnienia dodatkowych ograniczeń dla podpisów, które są powiązane z zasadami.
Możesz użyć przechowywanych zasad dostępu, aby zmienić godzinę rozpoczęcia, czas wygaśnięcia lub uprawnienia do podpisu. Możesz również użyć przechowywanych zasad dostępu, aby odwołać podpis 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
Przechowywane zasady dostępu w kontenerze mogą być skojarzone z sygnaturą dostępu współdzielonego, która przyznaje uprawnienia do samego kontenera lub do obiektów blob, które zawiera. Podobnie przechowywane zasady dostępu w udziale plików mogą być skojarzone z sygnaturą dostępu współdzielonego, która przyznaje uprawnienia do samego udziału lub do plików, które zawiera.
Przechowywane 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ółdzielonego składają się z czasu rozpoczęcia, czasu wygaśnięcia i uprawnień do podpisu. Możesz określić jedną z następujących opcji lub połączyć je:
- Wszystkie te parametry w identyfikatorze URI podpisu i żaden z przechowywanych zasad dostępu
- Wszystkie te parametry w zasadach dostępu przechowywanych i brak w identyfikatorze URI
Nie można jednak określić parametru zarówno dla tokenu SAS, jak i przechowywanych zasad dostępu.
Aby utworzyć lub zmodyfikować przechowywane zasady dostępu, wywołaj Set ACL
operację zasobu (zobacz Ustawianie listy ACL kontenerów, Ustaw listę ACL kolejek, Ustaw listę ACL tabel lub Ustaw listę ACL udziału) z treścią żądania, która określa warunki zasad dostępu. Treść żądania zawiera unikatowy podpisany identyfikator wybranego identyfikatora, maksymalnie 64 znaki. Treść żądania zawiera również 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>
Można ustawić maksymalnie pięć zasad dostępu w kontenerze, tabeli, kolejce lub udziale naraz. Każde SignedIdentifier
pole z unikatowym Id
polem odpowiada jednemu z zasad dostępu. Próba ustawienia więcej niż pięciu zasad dostępu jednocześnie powoduje zwrócenie przez usługę kodu stanu 400 (nieprawidłowe żądanie).
Uwaga
Podczas tworzenia lub aktualizowania przechowywanych zasad dostępu w kontenerze, tabeli, kolejce lub udziale zmiana może potrwać do 30 sekund. W tym interwale żądania względem sygnatury dostępu współdzielonego skojarzonej z zapisanymi zasadami dostępu mogą zakończyć się niepowodzeniem z kodem stanu 403 (Zabronione), dopóki zasady dostępu nie staną się aktywne.
Nie można określić ograniczeń zakresu dla jednostek tabeli (startpk
, startrk
, endpk
i endrk
) w przechowywanych zasadach dostępu.
Modyfikowanie lub odwoływanie przechowywanych zasad dostępu
Aby zmodyfikować parametry przechowywanych zasad dostępu, możesz wywołać operację listy kontroli dostępu (ACL) dla typu zasobu, aby zastąpić istniejące zasady. W tej operacji określ 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 je zmodyfikować, aby udzielić uprawnień tylko do odczytu dla wszystkich przyszłych żądań. W takim przypadku podpisany identyfikator nowych zasad, określony przez ID
pole, będzie identyczny z podpisanym identyfikatorem zasad, które zastępujesz.
Aby odwołać przechowywane zasady dostępu, możesz je usunąć, zmienić jego nazwę, zmieniając podpisany identyfikator lub zmieniając czas wygaśnięcia na wartość w przeszłości. Zmiana podpisanego identyfikatora powoduje przerwanie skojarzeń między istniejącymi podpisami a zapisanymi zasadami dostępu. Zmiana czasu wygaśnięcia na wartość w przeszłości powoduje wygaśnięcie wszelkich skojarzonych podpisów. Usunięcie lub zmodyfikowanie przechowywanych zasad dostępu natychmiast wpływa na wszystkie skojarzone z nim sygnatury dostępu współdzielonego.
Aby usunąć pojedyncze zasady dostępu, wywołaj operację zasobu Set ACL
. Przekaż zestaw podpisanych identyfikatorów, które chcesz zachować w kontenerze. Aby usunąć wszystkie zasady dostępu z zasobu, wywołaj operację Set ACL
z pustą treścią żądania.