Definir ACL de Fila
A operação Set Queue ACL
define políticas de acesso armazenadas para a fila que pode ser usada com uma SAS (assinatura de acesso compartilhado). Para obter mais informações, consulte Definir uma política de acesso armazenada.
Nota
A operação Set Queue ACL
está disponível na versão 2012-02-12 e posterior.
Pedir
Você pode construir a solicitação Set Queue ACL
da seguinte maneira. Recomendamos que você use HTTPS.
Substitua myaccount pelo nome da sua conta de armazenamento:
Método | URI de solicitação | Versão HTTP |
---|---|---|
PUT |
https://myaccount.queue.core.windows.net/myqueue?comp=acl |
HTTP/1.1 |
Solicitação de serviço de armazenamento emulado
Quando você estiver fazendo uma solicitação no serviço de armazenamento emulado, especifique o nome do host do emulador e a porta do serviço Fila como 127.0.0.1:10001
, seguido pelo nome da conta de armazenamento emulado:
Método | URI de solicitação | Versão HTTP |
---|---|---|
PUT |
http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl |
HTTP/1.1 |
Para obter mais informações, consulte Usar o emulador do Azurite paralocais de desenvolvimento do Armazenamento do Azure.
Parâmetros de URI
Você pode especificar os seguintes parâmetros adicionais no URI da solicitação:
Parâmetro | Descrição |
---|---|
timeout |
Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de serviço fila. |
Cabeçalhos de solicitação
Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:
Cabeçalho de solicitação | Descrição |
---|---|
Authorization |
Necessário. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure. |
Date ou x-ms-date |
Necessário. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure. |
x-ms-version |
Opcional. Especifica a versão da operação a ser usada para essa solicitação. Para obter mais informações, consulte Controle de versão para os serviços de Armazenamento do Azure. |
x-ms-client-request-id |
Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres kib (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar o Armazenamento de Filas do Azure. |
Corpo da solicitação
Para especificar uma política de acesso armazenado, forneça um identificador exclusivo e uma política de acesso no corpo da solicitação para a operação de Set Queue ACL
.
O elemento SignedIdentifier
inclui o identificador exclusivo, conforme especificado no elemento Id
e os detalhes da política de acesso, conforme especificado no elemento AccessPolicy
. O comprimento máximo do identificador exclusivo é de 64 caracteres.
Os campos Start
e Expiry
devem ser expressos como horários UTC e devem aderir a um formato ISO 8061 válido. Os formatos ISO 8061 com suporte incluem o seguinte:
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.ffffffTZD
Para a parte de data desses formatos, YYYY
é uma representação de ano de quatro dígitos, MM
é uma representação de mês de dois dígitos e DD
é uma representação de dia de dois dígitos. Para a parte de tempo, hh
é a representação de hora na notação de 24 horas, mm
é a representação de dois dígitos de minuto, ss
é a representação de dois dígitos e ffffff
é a representação de milissegundos de seis dígitos. Um designador de hora T
separa as partes de data e hora da cadeia de caracteres e um designador de fuso horário TZD
especifica um fuso horário.
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Solicitação de exemplo
Request Syntax:
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2012-02-12
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2009-09-28T08:49:37.0000000Z</Start>
<Expiry>2009-09-29T08:49:37.0000000Z</Expiry>
<Permission>raup</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 204 (Sem Conteúdo).
Para obter mais informações sobre códigos de status, consulte Status e códigos de erro.
Cabeçalhos de resposta
A resposta dessa operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação de protocolo HTTP/1.1 .
Cabeçalho de resposta | Descrição |
---|---|
x-ms-request-id |
Identifica exclusivamente a solicitação que foi feita e pode ser usada para solucionar problemas da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API. |
x-ms-version |
Indica a versão do serviço Fila usada para executar a solicitação. Esse cabeçalho é retornado para solicitações que foram feitas na versão 2009-09-19 e posterior. |
Date |
Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada. |
x-ms-client-request-id |
Esse cabeçalho pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do cabeçalho x-ms-client-request-id se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, ele não estará presente na resposta. |
Resposta de exemplo
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Sun, 25 Sep 2011 22:42:55 GMT
x-ms-version: 2012-02-12
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Autorização
A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a operação Set Queue ACL
usando a ID do Microsoft Entra ou a Chave Compartilhada.
Para autorizar a operação de Set Queue ACL
usando a ID do Microsoft Entra, a entidade de segurança precisa de uma função RBAC personalizada do Azure que inclua a seguinte ação RBAC: Microsoft.Storage/storageAccounts/queueServices/queues/setAcl/action
.
Importante
A Microsoft recomenda usar a ID do Microsoft Entra com identidades gerenciadas para autorizar solicitações ao Armazenamento do Azure. A ID do Microsoft Entra fornece segurança superior e facilidade de uso em comparação com a autorização de Chave Compartilhada.
Observações
Quando você define permissões para uma fila, as permissões existentes são substituídas. Para atualizar as permissões da fila, chame Obter ACL de Fila para buscar todas as políticas de acesso associadas à fila. Modifique a política de acesso que você deseja alterar e chame Set Queue ACL
com o conjunto completo de dados para executar a atualização.
Estabelecer políticas de acesso armazenadas
Uma política de acesso armazenada pode especificar a hora de início, a hora de expiração e as permissões para as assinaturas de acesso compartilhado com as quais está associada. Dependendo de como você deseja controlar o acesso ao recurso de fila, você pode especificar todos esses parâmetros dentro da política de acesso armazenado e omiti-los da URL para a assinatura de acesso compartilhado. Ao fazer isso, você pode modificar o comportamento da assinatura associada a qualquer momento ou revogá-la. Ou você pode especificar um ou mais parâmetros de política de acesso dentro da política de acesso armazenada e os outros na URL. Por fim, você pode especificar todos os parâmetros na URL. Nesse caso, você pode usar a política de acesso armazenada para revogar a assinatura, mas não para modificar seu comportamento. Para obter mais informações sobre como estabelecer políticas de acesso, consulte Definir uma política de acesso armazenada.
Juntos, a assinatura de acesso compartilhado e a política de acesso armazenado devem incluir todos os campos necessários para autorizar a assinatura. Se algum campo necessário estiver ausente, a solicitação falhará. Da mesma forma, se um campo for especificado na URL de assinatura de acesso compartilhado e na política de acesso armazenada, a solicitação falhará com o código de status 400 (Solicitação Incorreta).
No máximo, cinco políticas de acesso separadas podem ser definidas para uma única fila a qualquer momento. Se mais de cinco políticas de acesso forem passadas no corpo da solicitação, o serviço retornará o código de status 400 (Solicitação Incorreta).
Quando você estabelece uma política de acesso armazenada em uma fila, pode levar até 30 segundos para entrar em vigor. Durante esse intervalo, uma assinatura de acesso compartilhado associada à política de acesso armazenada falha com o código de status 403 (Proibido), até que a política de acesso se torne ativa.
Consulte também
Definir uma política de acesso armazenada
obter de ACL da fila
autorizar solicitações para o Armazenamento do Azure
status e códigos de erro