Eksplorowanie 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 przechowywanej grupy zasad dostępu SAS i zapewnia więcej ograniczeń dla podpisów powiązanych z zasadami. Możesz użyć przechowywanych zasad dostępu, aby zmienić czas rozpoczęcia, czas wygaśnięcia lub uprawnienia do podpisu lub odwołać je po jego wydaniu.
Następujące zasoby magazynu obsługują przechowywane zasady dostępu:
- Kontenery obiektów blob
- Udziały plików
- Kolejki
- Tabele
Tworzenie 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. Wszystkie te parametry można określić dla identyfikatora URI podpisu i brak w przechowywanych zasadach dostępu; wszystkie przechowywane zasady dostępu i brak w identyfikatorze URI; lub niektóre kombinacje tych dwóch. Nie można jednak określić danego parametru zarówno dla tokenu SYGNATURy dostępu współdzielonego, jak i przechowywanych zasad dostępu.
Aby utworzyć lub zmodyfikować przechowywane zasady dostępu, wywołaj Set ACL
operację dla zasobu (zobacz Ustawianie listy ACL kontenerów, Ustawianie listy ACL kolejek, Ustawianie listy ACL tabel lub Ustawianie listy ACL udziału) z treścią żądania określającą warunki zasad dostępu. Treść żądania zawiera unikatowy podpisany identyfikator wybranego elementu, maksymalnie 64 znaki oraz opcjonalne parametry zasad dostępu w następujący sposób:
Uwaga
Po ustanowieniu przechowywanych zasad dostępu w kontenerze, tabeli, kolejce lub udziale może upłynąć do 30 sekund. W tym czasie żą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 jednostek tabeli (startpk
, startrk
, endpk
i endrk
) w przechowywanych zasadach dostępu.
Poniżej przedstawiono przykłady tworzenia przechowywanych zasad dostępu przy użyciu platformy .NET języka C# i interfejsu wiersza polecenia platformy Azure.
BlobSignedIdentifier identifier = new BlobSignedIdentifier
{
Id = "stored access policy identifier",
AccessPolicy = new BlobAccessPolicy
{
ExpiresOn = DateTimeOffset.UtcNow.AddHours(1),
Permissions = "rw"
}
};
blobContainer.SetAccessPolicy(permissions: new BlobSignedIdentifier[] { identifier });
az storage container policy create \
--name <stored access policy identifier> \
--container-name <container name> \
--start <start time UTC datetime> \
--expiry <expiry time UTC datetime> \
--permissions <(a)dd, (c)reate, (d)elete, (l)ist, (r)ead, or (w)rite> \
--account-key <storage account key> \
--account-name <storage account name> \
Modyfikowanie lub odwołowanie 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. Jeśli na przykład istniejące zasady przyznają uprawnienia do odczytu i zapisu do zasobu, możesz zmodyfikować je tak, aby przyznać tylko uprawnienia do odczytu dla wszystkich przyszłych żądań.
Aby odwołać przechowywane zasady dostępu, można 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 nią sygnatury dostępu współdzielonego.
Aby usunąć pojedyncze zasady dostępu, wywołaj operację zasobu Set ACL
, przekazując zestaw podpisanych identyfikatorów, które mają być utrzymywane w kontenerze. Aby usunąć wszystkie zasady dostępu z zasobu, wywołaj operację Set ACL
z pustą treścią żądania.