Exportar (0) Imprimir
Expandir Tudo

Definir ACL da tabela (API REST)

Atualizado: novembro de 2013

A operação Set Table ACL define as políticas de acesso armazenadas para a tabela que podem ser usadas com Assinaturas de Acesso Compartilhado. Para obter mais informações, consulte Estabelecendo uma política de acesso armazenada.

noteObservação
A operação Set Table ACL está disponível na versão 2012-02-12 e mais recente.

noteObservação
Uma lista de controle de acesso (ACL) é uma lista de entradas de controle de acesso (ACE). Cada ACE em uma ACL identifica um objeto de confiança e especifica os direitos de acesso permitidos, negados ou auditados para esse objeto de confiança. Para obter mais informações, consulte Listas de Controle de Acesso.

A solicitação Set Table ACL pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da sua conta de armazenamento:

 

Método URI de solicitação Versão de HTTP

PUT

https://myaccount.table.core.windows.net/mytable?comp=acl

HTTP/1.1

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome de host do emulador e a porta do serviço Tabela como 127.0.0.1:10002, seguido pelo nome da conta de armazenamento emulado:

 

Método URI de solicitação Versão de HTTP

PUT

http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl

HTTP/1.1

Para obter mais informações, consulte About Development Storage e Diferenças entre o emulador de armazenamento e os serviços de armazenamento do Azure.

Os seguintes parâmetros adicionais podem ser especificados no URI de solicitação.

 

Parâmetro Descrição

timeout

Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definindo tempos limite para operações de serviço Fila.

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

 

Cabeçalho de solicitação Descrição

Authorization

Obrigatória. Especifica o esquema de autenticação, o nome da conta e a assinatura. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

Date ou x-ms-date

Obrigatória. Especifica o Tempo Universal Coordenado (UTC) para a solicitação. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

x-ms-version

Opcional. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão dos serviços Blob, Fila e Tabela no Windows Azure.

x-ms-client-request-id

Opcional. Fornece um valor opaco, gerado pelo cliente, com um limite de caracteres de 1 KB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. É altamente recomendável usar esse cabeçalho para correlacionar atividades do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log da Análise de Armazenamento e Log do Windows Azure: Usando logs para rastrear solicitações de armazenamento.

Para especificar uma política de acesso armazenada, forneça um identificador exclusivo e uma política de acesso no corpo da solicitação da operação Set Table 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 é 64 caracteres.

Os campos Start e Expiry devem ser expressos como hora UTC e devem atender a um formato ISO 8061 válido. Os formatos ISO 8061 com suporte incluem os seguintes:

  • 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 com quatro dígitos, MM é uma representação de mês com dois dígitos e DD é uma representação de dia com dois dígitos. Na parte de hora, hh é a representação de hora na notação de 24 horas, mm é a representação de minuto com dois dígitos, ss é a representação de segundos com dois dígitos e ffffff é a representação de milissegundo com seis dígitos. Um designador de hora T separa as partes de data e hora da cadeia de caracteres, enquanto 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>

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>

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

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 Status e códigos de erro.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

x-ms-request-id

Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na solicitação. Para obter mais informações, consulte Solucionando problemas de operações de API

x-ms-version

Indica a versão do serviço Tabela usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.

Date

Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.

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

Somente o proprietário da conta pode chamar essa operação.

Somente o proprietário da conta pode acessar recursos em uma tabela específica, a menos que o proprietário tenha emitido uma Assinatura de Acesso Compartilhado para um recurso na tabela.

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 (API REST) 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 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 às quais ela está associada. Dependendo de como você deseja controlar o acesso ao recurso de tabela, você pode especificar todos esses parâmetros na política de acesso armazenada e omiti-los da URL da Assinatura de Acesso Compartilhado. Fazer isso permite modificar o comportamento da assinatura associada a qualquer momento, bem como revogá-la. Ou você pode especificar um ou mais dos parâmetros de política de acesso na política de acesso armazenada e os outros na URL. Por fim, você pode especificar todos os parâmetros na URL. Nesse caso, é possível usar a política de acesso armazenada para revogar a assinatura, mas não para modificar seu comportamento. Consulte Usar uma política de acesso armazenada para obter mais informações sobre como estabelecer políticas de acesso.

Juntas, a Assinatura de Acesso Compartilhado e a política de acesso armazenada devem incluir todos os campos necessários para autenticar a assinatura. Se qualquer campo obrigatório estiver ausente, 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 armazenada, ocorrerá uma falha na solicitação com o código de status 400 (Solicitação Incorreta). Consulte Construindo a URI de assinatura de acesso compartilhado para obter mais informações sobre os campos que incluem uma Assinatura de Acesso Compartilhado.

Observe que é possível definir, no máximo, cinco políticas de acesso separadas para uma tabela específica a qualquer momento. Se mais de cinco políticas de acesso forem transmitidas no corpo da solicitação, o serviço retornará o código de status 400 (Solicitação Incorreta).

noteObservação
O estabelecimento de uma política de acesso armazenada em uma tabela pode levar até 30 segundos para ter efeito. Durante esse intervalo, uma assinatura de acesso compartilhado que esteja associada à política de acesso armazenada falhará com o código de status 403 (Forbidden), até que a política de acesso se torne ativa.

Mostrar:
© 2015 Microsoft