Definir ACL de Tabela
A Set Table ACL
operação define as políticas de acesso armazenado para a tabela que podem ser utilizadas com assinaturas de acesso partilhado. Para obter mais informações, veja Definir uma política de acesso armazenado.
Nota
A Set Table ACL
operação está disponível na versão 2012-02-12 e posterior.
Nota
Uma lista de controlo de acesso (ACL) é uma lista de entradas de controlo de acesso (ACEs). Cada ACE numa ACL identifica um administrador e especifica os direitos de acesso permitidos, negados ou auditados para esse administrador. Para obter mais informações, veja Listas de controlo de acesso.
Pedir
Pode construir o pedido da Set Table ACL
seguinte forma. Recomendamos HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento.
Método | URI do pedido | Versão HTTP |
---|---|---|
PUT |
https://myaccount.table.core.windows.net/mytable?comp=acl |
HTTP/1.1 |
URI do serviço de armazenamento emulado
Quando estiver a fazer um pedido contra o serviço de armazenamento emulado, especifique o nome do anfitrião do emulador e a porta do Armazenamento de Tabelas do Azure como 127.0.0.1:10002
. Em seguida, adicione o nome da conta de armazenamento emulada.
Método | URI do pedido | Versão HTTP |
---|---|---|
PUT |
http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl |
HTTP/1.1 |
Para obter mais informações, veja Utilizar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.
Parâmetros URI
Pode especificar os seguintes parâmetros adicionais no URI do pedido:
Parâmetro | Description |
---|---|
timeout |
Opcional. Expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações de Armazenamento de Tabelas. |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais:
Cabeçalho do pedido | Description |
---|---|
Authorization |
Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure. |
Date ou x-ms-date |
Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure. |
x-ms-version |
Opcional. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure. |
x-ms-client-request-id |
Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos Análise de Armazenamento quando o registo está configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos 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 do pedido para a Set Table ACL
operação.
O SignedIdentifier
elemento inclui o identificador exclusivo, conforme especificado no Id
elemento.
SignedIdentifier
também inclui os detalhes da política de acesso, conforme especificado no AccessPolicy
elemento. O comprimento máximo do identificador exclusivo é de 64 carateres.
Os Start
campos e Expiry
têm de ser expressos como horas UTC e têm de cumprir 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 destes formatos, YYYY
é uma representação de quatro dígitos, MM
é uma representação de dois dígitos por mês e DD
é uma representação diária de dois dígitos. Para a parte do tempo, hh
é a representação de hora na notação de 24 horas, mm
é a representação ss
de dois dígitos, é a segunda representação de dois dígitos e ffffff
é a representação de milissegundos de seis dígitos. O designador T
de hora separa as partes de data e hora da cadeia. O designador de TZD
fuso horário 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 exemplo
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 estado HTTP e um conjunto de cabeçalhos de resposta.
Código de estado
Uma operação bem-sucedida devolve o código de estado 204 (Sem Conteúdo).
Para obter informações sobre códigos de estado, veja Códigos de estado 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 de resposta | Descrição |
---|---|
x-ms-request-id |
Identifica exclusivamente o pedido que foi feito. Também pode utilizá-lo para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API. |
x-ms-version |
Indica a versão do Armazenamento de Tabelas que é utilizada para executar o pedido. Este cabeçalho é devolvido para pedidos feitos 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 utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se estiver presente no pedido e o valor for, no máximo, 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, este cabeçalho não estará presente na resposta. |
Resposta de 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
Apenas o proprietário da conta pode chamar esta operação.
Observações
Apenas o proprietário da conta pode aceder a recursos numa tabela específica, a menos que o proprietário tenha emitido uma assinatura de acesso partilhado para um recurso dentro da tabela.
Quando define permissões para uma tabela, as permissões existentes são substituídas. Para atualizar as permissões da tabela, chame Obter ACL de Tabela para obter todas as políticas de acesso associadas à tabela. Modifique a política de acesso que pretende alterar e, em seguida, chame Set Table ACL
com o conjunto completo de dados para efetuar a atualização.
Estabelecer 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 das assinaturas de acesso partilhado às quais está associada. Consoante a forma como pretende controlar o acesso à sua partilha ou recurso de ficheiro, pode:
- Especifique todos estes parâmetros na política de acesso armazenado e omita-os do URL para a assinatura de acesso partilhado. Ao fazê-lo, permite-lhe modificar o comportamento da assinatura associada ou revogá-lo em qualquer altura.
- Especifique um ou mais dos parâmetros da política de acesso na política de acesso armazenado e especifique os outros parâmetros no URL.
- Especifique todos os parâmetros no URL. Neste caso, pode utilizar a política de acesso armazenado para revogar a assinatura, mas não para modificar o respetivo comportamento.
Para obter mais informações sobre como estabelecer políticas de acesso, veja Definir uma política de acesso armazenado.
Em conjunto, a assinatura de acesso partilhado e a política de acesso armazenado têm de incluir todos os campos necessários para autorizar a assinatura. Se existirem campos necessários em falta, o pedido falhará. Da mesma forma, se for especificado um campo no URL de assinatura de acesso partilhado e na política de acesso armazenado, o pedido falhará com o código de estado 400 (Pedido Incorreto). Para obter mais informações sobre os campos que compõem uma assinatura de acesso partilhado, consulte Criar uma SAS de serviço.
Pode definir um máximo de cinco políticas de acesso separadas para uma tabela em qualquer altura. Se forem transmitidas mais de cinco políticas de acesso no corpo do pedido, o serviço devolve o código de estado 400 (Pedido Incorreto).
Nota
Quando estabelece uma política de acesso armazenada numa tabela, pode demorar até 30 segundos a entrar em vigor. Durante este intervalo, uma assinatura de acesso partilhado associada à política de acesso armazenado falhará com o código de estado 403 (Proibido), até que a política de acesso fique ativa.
Ver também
Definir uma política de acesso armazenada
Criar e utilizar uma assinatura de acesso partilhado
Delegar o acesso com uma assinatura de acesso partilhado
Obter ACL de Tabela
Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro