Definir tabela ACL
A operação Set Table ACL
define as políticas de acesso armazenado para a tabela que podem ser usadas com assinaturas de acesso compartilhado. Para obter mais informações, consulte Definir uma política de acesso armazenado.
Observação
A operação Set Table ACL
está disponível na versão 2012-02-12 e posterior.
Observação
Uma lista de controle de acesso (ACL) é uma lista de entradas de controle de acesso (ACEs). Cada ACE em uma ACL identifica um de administrador
Solicitar
Você pode construir a solicitação Set Table ACL
da seguinte maneira. Recomendamos HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento.
Método | Solicitar URI | Versão HTTP |
---|---|---|
PUT |
https://myaccount.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
URI do 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 Armazenamento de Tabela do Azure como 127.0.0.1:10002
. Em seguida, adicione o nome da conta de armazenamento emulada.
Método | Solicitar URI | Versão HTTP |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl |
HTTP/1.1 |
Para obter mais informações, consulte Usar o emulador Azurite para o desenvolvimento do Armazenamento do Azure local.
Parâmetros de URI
Você pode especificar os seguintes parâmetros adicionais no URI de solicitação:
Parâmetro | Descrição |
---|---|
timeout |
Opcional. Expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de armazenamento de tabela. |
Cabeçalhos de solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais:
Cabeçalho da 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 Tempo Universal Coordenado (UTC) 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 de 1 kibibyte (KiB) que é registrado nos logs do Storage Analytics quando o log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações que o servidor recebe. |
Corpo do pedido
Para especificar uma política de acesso armazenada, forneça um identificador exclusivo e uma política de acesso no corpo da solicitação para a operação Set Table ACL
.
O elemento SignedIdentifier
inclui o identificador exclusivo, conforme especificado no elemento Id
.
SignedIdentifier
também inclui os detalhes da política de acesso, conforme especificado no elemento AccessPolicy
. O comprimento máximo do identificador único é de 64 caracteres.
Os campos Start
e Expiry
devem ser expressos como horas UTC e devem aderir a um formato ISO 8061 válido. Os formatos ISO 8061 suportados incluem:
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 porção de tempo, hh
é a representação de hora em notação de 24 horas, mm
é a representação de minuto de dois dígitos, ss
é a segunda representação de dois dígitos e ffffff
é a representação de milissegundos de seis dígitos. O designador de hora T
separa as partes de data e hora da cadeia de caracteres. O 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>
Pedido de amostra
Request Syntax:
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2013-11-26T08:49:37.0000000Z</Start>
<Expiry>2013-11-27T08:49:37.0000000Z</Expiry>
<Permission>raud</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 informações sobre códigos de status, consulte Códigos de status e de erro.
Cabeçalhos de resposta
A resposta para esta operação inclui os seguintes cabeçalhos. 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 do protocolo HTTP/1.1.
Cabeçalho da resposta | Descrição |
---|---|
x-ms-request-id |
Identifica exclusivamente a solicitação que foi feita. Você também pode usá-lo para solucionar a solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API. |
x-ms-version |
Indica a versão do Armazenamento de Tabela usada para executar a solicitação. Este cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e posterior. |
Date |
Um valor de data/hora UTC que indica a hora em que o serviço enviou a resposta. |
x-ms-client-request-id |
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 for no máximo 1.024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, esse cabeçalho não estará presente na resposta. |
Resposta da amostra
Response Status:
HTTP/1.1 204 No Content
Response Headers:
Transfer-Encoding: chunked
Date: Mon, 25 Nov 2013 22:42:55 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Table/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 de Set Table ACL
usando o Microsoft Entra ID ou a Chave Compartilhada.
Para autorizar a operação de Set Table 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/tableServices/tables/setAcl/action
.
Importante
A Microsoft recomenda o uso do Microsoft Entra ID com identidades gerenciadas para autorizar solicitações ao Armazenamento do Azure. O Microsoft Entra ID oferece segurança superior e facilidade de uso em comparação com a autorização de chave compartilhada.
Comentários
Quando você define permissões para uma tabela, as permissões existentes são substituídas. Para atualizar as permissões da tabela, chame Obter ACL da Tabela para buscar todas as políticas de acesso associadas à tabela. Modifique a política de acesso que você deseja alterar e, em seguida, chame Set Table ACL
com o conjunto completo de dados para executar a atualização.
Estabelecendo políticas de acesso armazenado
Uma política de acesso armazenado pode especificar a hora de início, a hora de expiração e as permissões para as assinaturas de acesso compartilhado às quais está associada. Dependendo de como você deseja controlar o acesso ao seu recurso de compartilhamento ou arquivo, você pode:
- Especifique todos esses parâmetros na política de acesso armazenado e omita-os da URL da assinatura de acesso compartilhado. Isso permite modificar o comportamento da assinatura associada ou revogá-la a qualquer momento.
- Especifique um ou mais parâmetros da política de acesso dentro da política de acesso armazenada e especifique os outros parâmetros na URL.
- Especifique todos os parâmetros na URL. Nesse caso, você pode usar a política de acesso armazenado 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 armazenado.
Juntas, 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 obrigatório estiver faltando, a solicitação falhará. Da mesma forma, se um campo for especificado na URL da assinatura de acesso compartilhado e na política de acesso armazenado, a solicitação falhará com o código de status 400 (Solicitação incorreta). Para obter mais informações sobre os campos que compõem uma assinatura de acesso compartilhado, consulte Criar um serviço SAS.
Você pode definir um máximo de cinco políticas de acesso separadas para uma tabela 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).
Observação
Quando você estabelece uma política de acesso armazenado em uma tabela, ela pode levar até 30 segundos para entrar em vigor. Durante esse intervalo, uma assinatura de acesso compartilhado associada à política de acesso armazenado falhará com o código de status 403 (Proibido), até que a política de acesso fique ativa.
Ver também
Definir uma política de acesso armazenado
Criar e usar uma assinatura de acesso compartilhado
Delegar acesso com uma assinatura de acesso compartilhado
Obter Tabela ACL
Autorizar solicitações ao de Armazenamento do Azure
Códigos de status e de erro