Partilhar via


Obter ACL de contêiner

A operação Get Container ACL obtém as permissões para o contêiner especificado. As permissões indicam se os dados do 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 público de leitura 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 público de leitura apenas 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 público de leitura: Os dados de contêiner e blob podem ser lidos apenas pelo proprietário da conta.

Get Container ACL também retorna detalhes sobre quaisquer políticas de acesso no nível de 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 armazenado.

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

Solicitar

O pedido Get Container ACL pode ser construído da seguinte forma. Recomendamos que você use HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento:

Método Solicitar URI 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

Quando você estiver fazendo uma solicitação no serviço de armazenamento emulado, especifique o nome do host do emulador e a porta de Armazenamento de Blob como 127.0.0.1:10000, seguido pelo nome da conta de armazenamento emulada:

Método Solicitar URI 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 o desenvolvimento do Armazenamento do Azure local.

Parâmetros de URI

Os seguintes parâmetros adicionais podem ser especificados 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 armazenamento de Blob.

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 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-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 se o ID não corresponder, 412 (Precondition Failed) será retornado.
x-ms-version Obrigatório para todos os pedidos autorizados. 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 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. Para obter mais informações, consulte Monitor Azure Blob Storage.

Corpo do pedido

Nenhuma.

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 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-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 acesso de leitura pública 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: Apenas versões anteriores a 2016-05-31. Indica que o contêiner foi marcado para acesso público total de leitura 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 marca de entidade para o contêiner. Se a versão da solicitação for 2011-08-18 ou posterior, o valor 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 de data segue o 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 ou 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 a solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API.
x-ms-version Indica a versão de serviço que foi usada para executar a solicitação. Este 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 é 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, esse cabeçalho não estará presente na resposta.

Corpo de resposta

Se uma política de acesso no nível de contêiner tiver sido especificada para o 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 da amostra

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 autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Você pode autorizar a operação Get Container ACL conforme descrito abaixo.

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.

O Armazenamento do Azure dá suporte ao uso da ID do Microsoft Entra para autorizar solicitações de dados de blob. Com o Microsoft Entra ID, você pode usar o controle de acesso baseado em função do Azure (Azure RBAC) para conceder permissões a uma entidade de segurança. A entidade de segurança pode ser um usuário, grupo, entidade de serviço de aplicativo ou identidade gerenciada do Azure. A entidade de segurança é autenticada pelo Microsoft Entra ID para retornar um token OAuth 2.0. O token pode ser usado para autorizar uma solicitação no serviço Blob.

Para saber mais sobre a autorização usando o Microsoft Entra ID, consulte Autorizar o acesso a blobs usando o Microsoft Entra ID.

Permissões

Abaixo estão listadas a ação RBAC necessária para que um usuário, grupo, identidade gerenciada ou entidade de serviço do Microsoft Entra chame a operação Get Container ACL e a função interna menos privilegiada do RBAC do Azure que inclui essa ação:

Para saber mais sobre como atribuir funções usando o RBAC do Azure, consulte Atribuir uma função do Azure para acesso a dados de blob.

Comentários

Nenhuma. Consulte informações de faturamento para obter detalhes sobre como essa operação afeta os custos.

Faturação

As solicitações de preços podem ser originadas de clientes que usam APIs de Armazenamento de Blob, diretamente por meio da API REST de Armazenamento de Blob ou de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam encargos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura são acumuladas para uma categoria de faturamento diferente das transações de gravação. A tabela a seguir mostra a categoria de faturamento para solicitações de Get Container ACL com base no tipo de conta de armazenamento:

Funcionamento Tipo de conta de armazenamento Categoria de faturação
Obter ACL de contêiner Blob de bloco premium
Padrão de uso geral v2
Outras operações
Obter ACL de contêiner Padrão de uso geral v1 Operações de leitura

Para saber mais sobre os preços para a categoria de cobrança especificada, consulte de preços do armazenamento de Blob do Azure .

Ver também

Restringir o acesso a contêineres e blobs
Definir uma política de acesso armazenado
Definir de ACL de contêiner
Autorizar solicitações ao de Armazenamento do Azure
Códigos de status e de erro
códigos de erro de armazenamento de Blob