Definir uma política de acesso armazenada
Uma política de acesso armazenado fornece um nível adicional de controlo sobre as assinaturas de acesso partilhado ao nível do serviço (SASs) no lado do servidor. Estabelecer uma política de acesso armazenado serve para agrupar assinaturas de acesso partilhado e fornecer restrições adicionais para assinaturas vinculadas pela política.
Pode utilizar uma política de acesso armazenado para alterar a hora de início, a hora de expiração ou as permissões de uma assinatura. Também pode utilizar uma política de acesso armazenada para revogar uma assinatura depois de ter sido emitida.
Os seguintes recursos de armazenamento suportam políticas de acesso armazenado:
- Contentores de blobs
- Partilhas de ficheiros
- Filas
- Tabelas
Nota
Uma política de acesso armazenado num contentor pode ser associada a uma assinatura de acesso partilhado que concede permissões ao próprio contentor ou aos blobs que contém. Da mesma forma, uma política de acesso armazenado numa partilha de ficheiros pode ser associada a uma assinatura de acesso partilhado que concede permissões à própria partilha ou aos ficheiros que contém.
As políticas de acesso armazenado não são suportadas para a SAS de delegação de utilizador ou para a SAS da conta.
Criar ou modificar uma política de acesso armazenado
A política de acesso de uma assinatura de acesso partilhado consiste na hora de início, hora de expiração e permissões para a assinatura. Pode especificar uma das seguintes opções ou combiná-las:
- Todos estes parâmetros no URI de assinatura e nenhum na política de acesso armazenado
- Todos estes parâmetros na política de acesso armazenado e nenhum no URI
No entanto, não pode especificar um parâmetro no token de SAS e na política de acesso armazenado.
Para criar ou modificar uma política de acesso armazenado, chame a Set ACL
operação para o recurso (consulte Definir ACL de Contentor, Definir ACL de Fila, Definir ACL de Tabela ou Definir ACL de Partilha) com um corpo de pedido que especifica os termos da política de acesso. O corpo do pedido inclui um identificador exclusivo assinado à sua escolha, com até 64 carateres de comprimento. O corpo do pedido também inclui parâmetros opcionais da política de acesso, da seguinte forma:
<?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>
Pode definir um máximo de cinco políticas de acesso num contentor, tabela, fila ou partilha de cada vez. Cada SignedIdentifier
campo, com o seu campo exclusivo Id
, corresponde a uma política de acesso. Tentar definir mais de cinco políticas de acesso de uma só vez faz com que o serviço devolva o código de estado 400 (Pedido Incorreto).
Nota
Quando cria ou atualiza uma política de acesso armazenado num contentor, tabela, fila ou partilha, a alteração pode demorar até 30 segundos a entrar em vigor. Durante este intervalo, os pedidos contra uma assinatura de acesso partilhado associado à política de acesso armazenado podem falhar com o código de estado 403 (Proibido), até que a política de acesso fique ativa.
Não pode especificar restrições de intervalo para entidades de tabela (startpk
, , startrk
endpk
e endrk
) numa política de acesso armazenada.
Modificar ou revogar uma política de acesso armazenado
Para modificar os parâmetros de uma política de acesso armazenado, pode chamar a operação de lista de controlo de acesso (ACL) para o tipo de recurso substituir a política existente. Nessa operação, especifique uma nova hora de início, hora de expiração ou conjunto de permissões.
Por exemplo, se a política existente conceder permissões de leitura e escrita a um recurso, pode modificá-la para conceder apenas permissões de leitura para todos os pedidos futuros. Neste caso, o identificador assinado da nova política, conforme especificado pelo ID
campo, seria idêntico ao identificador assinado da política que está a substituir.
Para revogar uma política de acesso armazenado, pode eliminá-la, mudar o nome da mesma ao alterar o identificador assinado ou alterar o tempo de expiração para um valor no passado. Alterar o identificador assinado interrompe as associações entre as assinaturas existentes e a política de acesso armazenada. Alterar o tempo de expiração para um valor no passado faz com que todas as assinaturas associadas expirem. Eliminar ou modificar a política de acesso armazenado afeta imediatamente todas as assinaturas de acesso partilhado associadas à mesma.
Para remover uma única política de acesso, chame a operação do Set ACL
recurso. Transmita o conjunto de identificadores assinados que pretende manter no contentor. Para remover todas as políticas de acesso do recurso, chame a Set ACL
operação com um corpo de pedido vazio.