Get Container ACL

A operação Get Container ACL obtém as permissões para o contêiner especificado. As permissões indicam se os dados de um contêiner podem ser acessados publicamente.

A partir da versão 2009-09-19, as permissões de contêiner fornecem as seguintes opções para gerenciar o acesso ao contêiner:

  • Acesso de leitura público completo: os dados de contêiner e blob podem ser lidos por meio de solicitação anônima. Os clientes podem enumerar blobs dentro do contêiner por meio de solicitação anônima, mas não podem enumerar contêineres dentro da conta de armazenamento.

  • Acesso de leitura público somente para blobs: os dados de blob dentro desse contêiner podem ser lidos por meio de solicitação anônima, mas os dados do contêiner não estão disponíveis. Os clientes não podem enumerar blobs dentro do contêiner por meio de solicitação anônima.

  • Sem acesso de leitura público: os dados de contêiner e blob só podem ser lidos pelo proprietário da conta.

Get Container ACL também retorna detalhes sobre as políticas de acesso no nível do contêiner especificadas no contêiner que podem ser usadas com assinaturas de acesso compartilhado. Para obter mais informações, consulte Definir uma política de acesso armazenada.

Todo o acesso público ao contêiner é anônimo, assim como o acesso por uma assinatura de acesso compartilhado.

Solicitação

A solicitação Get Container ACL pode ser criada da seguinte maneira. Recomendamos que você use HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento:

Método URI da solicitação Versão HTTP
GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1

Solicitação de serviço de armazenamento emulado

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

Método URI da solicitação Versão HTTP
GET/HEAD http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl HTTP/1.1

Para obter mais informações, consulte Usar o emulador Azurite para desenvolvimento local do armazenamento do Azure.

Parâmetros do URI

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 Definir tempos limite para operações de Armazenamento de Blobs.

Solicitar códigos de erro

Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date ou x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-lease-id: <ID> Opcional, versão 2012-02-12 e posterior. Se for especificado, Get Container ACL terá êxito somente se a concessão do contêiner estiver ativa e corresponder a essa ID. Se não houver nenhuma concessão ativa ou a ID não corresponder, 412 (Precondition Failed) será retornado.
x-ms-version Necessário para todas as solicitações autorizadas. Especifica a versão da operação a ser usada para esta 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 Armazenamento de Blobs do Azure.

Corpo da solicitação

Nenhum.

Resposta

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

Código de status

Uma operação bem-sucedida retorna o código de status 200 (OK).

Para obter informações sobre códigos de status, consulte Códigos de status e de erro.

Códigos de erro de resposta

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 estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
x-ms-blob-public-access Indica se os dados no contêiner podem ser acessados publicamente e o nível de acesso. Os valores possíveis incluem:

- container: indica acesso de leitura público completo para dados de contêiner e blob. Os clientes podem enumerar blobs dentro do contêiner por meio de solicitação anônima, mas não podem enumerar contêineres dentro da conta de armazenamento.
- blob: Indica o acesso de leitura público para blobs. Os dados de blob dentro desse contêiner podem ser lidos por meio de solicitação anônima, mas os dados do contêiner não estão disponíveis. Os clientes não podem enumerar blobs dentro do contêiner por meio de solicitação anônima.
- true: Somente versões anteriores a 31/05/2016. Indica que o contêiner foi marcado para acesso de leitura público completo usando uma versão anterior a 2009-09-19. A partir da versão 2016-05-31, esse valor é retornado como container em vez disso.

Se esse cabeçalho não for retornado na resposta, o contêiner será privado para o proprietário da conta.
ETag A tag de entidade do contêiner. Se a versão da solicitação for 2011-08-18 ou posterior, o valor de ETag será colocado entre aspas.
Last-Modified Retorna a data e a hora em que o contêiner foi modificado pela última vez. O formato da data segue RFC 1123. Para obter mais informações, consulte Representar valores de data/hora em códigos de erro.

Qualquer operação que modifique o contêiner, suas propriedades ou metadados atualiza a hora da última modificação. As operações em blobs não afetam a hora da última modificação do contêiner.
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 que foi 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 Pode ser usado para solucionar problemas de solicitações e suas respostas correspondentes. O valor desse cabeçalho será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, esse cabeçalho não estará presente na resposta.

Corpo da resposta

Se uma política de acesso no nível do contêiner tiver sido especificada no contêiner, Get Container ACL retornará o identificador assinado e a política de acesso no corpo da resposta.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>  
    <Id>unique-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  

Resposta de exemplo

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-blob-public-access: container  
Date: Sun, 25 Sep 2011 20:28:22 GMT  
ETag: "0x8CAFB82EFF70C46"  
Last-Modified: Sun, 25 Sep 2011 19:42:18 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  
<?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>rwd</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Autorização

A Get Container ACL operação só dá suporte à autorização de Chave Compartilhada.

Comentários

Somente o proprietário da conta pode ler dados em uma conta de armazenamento específica, a menos que o proprietário da conta tenha especificado que os blobs dentro do contêiner estão disponíveis para acesso público de leitura ou disponibilizou recursos no contêiner por meio de uma assinatura de acesso compartilhado.

Confira também

Restringir o acesso a contêineres e blobs
Definir uma política de acesso armazenada
Definir ACL do contêiner
Autorizar solicitações para o Armazenamento do Azure
Status e códigos de erro
Códigos de erro do Armazenamento de Blobs