Prozkoumání uložených zásad přístupu
Uložené zásady přístupu poskytují další úroveň kontroly nad sdílenými přístupovými podpisy na úrovni služby (SAS) na straně serveru. Vytvoření uložené zásady přístupu pro skupiny SAS poskytuje další omezení pro podpisy, které jsou vázány touto zásadou. Uložené zásady přístupu můžete použít ke změně času spuštění, doby vypršení platnosti nebo oprávnění podpisu nebo k jeho odvolání po jeho vydání.
Následující prostředky úložiště podporují uložené zásady přístupu:
- Blob kontejnery
- Sdílené složky
- Fronty
- Tabulky
Vytvoření uložených zásad přístupu
Zásady přístupu pro SAS se skládají z počátečního času, doby vypršení platnosti a oprávnění podpisu. Všechny tyto parametry můžete zadat u identifikátoru URI podpisu a žádné v rámci uložených zásad přístupu; všechny uložené zásady přístupu a žádné v identifikátoru URI; nebo některé kombinace těchto dvou. U tokenu SAS i uložených zásad přístupu ale nemůžete zadat daný parametr.
Pokud chcete vytvořit nebo upravit uložené zásady přístupu, zavolejte Set ACL operaci pro prostředek (viz Nastavení seznamu ACL kontejneru, nastavení seznamu ACL fronty, nastavení seznamu ACL tabulky nebo nastavení seznamu ACL pro sdílení) s textem požadavku, který určuje podmínky zásad přístupu. Text požadavku obsahuje jedinečný podepsaný identifikátor podle vašeho výběru, délku až 64 znaků a volitelné parametry zásad přístupu:
Poznámka
Když vytvoříte uložené zásady přístupu v kontejneru, tabulce, frontě nebo sdílené složce, může trvat až 30 sekund, než se projeví. Během této doby můžou žádosti o SAS přidružené k uloženým zásadám přístupu selhat se stavovým kódem 403 (Zakázáno), dokud zásady přístupu nebudou aktivní. Omezení rozsahu entit tabulky (startpk, startrk, endpka endrk) nelze zadat v uložených zásadách přístupu.
Následuje příklad vytvoření uložených zásad přístupu pomocí .NET jazyka C# a Azure CLI.
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> \
Úprava nebo odvolání uložených zásad přístupu
Chcete-li upravit parametry uložených zásad přístupu, můžete volat operaci seznamu řízení přístupu pro typ prostředku a nahradit stávající zásady. Pokud například vaše stávající zásada uděluje oprávnění ke čtení a zápisu prostředku, můžete ho upravit tak, aby udělovat oprávnění jen ke čtení pro všechny budoucí žádosti.
Pokud chcete odvolat uložené zásady přístupu, můžete je odstranit, přejmenovat ho změnou podepsaného identifikátoru nebo změnit dobu vypršení platnosti na hodnotu v minulosti. Změna podepsaného identifikátoru přeruší přidružení mezi existujícími podpisy a uloženými zásadami přístupu. Změna doby vypršení platnosti na hodnotu v minulosti způsobí vypršení platnosti všech přidružených podpisů. Odstranění nebo úprava uložených zásad přístupu okamžitě ovlivní všechny přidružené SAS.
Pokud chcete odebrat jednu konkrétní zásadu přístupu, proveďte operaci Set ACL pro daný prostředek a předejte sadu podepsaných identifikátorů, které chcete, aby zůstaly na kontejneru zachovány. Pokud chcete z prostředku odebrat všechny zásady přístupu, zavolejte operaci Set ACL s prázdným textem požadavku.