Definir ACL do contêiner
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original.
Tradução
Original

Definir ACL do contêiner

 

A palavras-chave Async e Await no Visual Basic e a palavras-chave async e await em c# são o coração da programação assíncrona. As permissões indicam se os blobs 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: Dados de contêiner e blob podem ser lidos por 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.

  • Somente acesso de leitura público para blobs: Os dados do blob nesse contêiner podem ser lidos por 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: Dados de contêiner e blob podem ser lidos por apenas o proprietário da conta.

Set Container ACL também define uma política de acesso armazenada para uso com assinaturas de acesso compartilhado. Para obter mais informações, consulte usar uma política de acesso armazenado.

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

A palavras-chave Async e Await no Visual Basic e a palavras-chave async e await em c# são o coração da programação assíncrona. HTTPS é recomendado. Substitua myaccount com o nome da sua conta de armazenamento:

Método

URI de solicitação

Versão de HTTP

PUT

https://myaccount.blob.core.windows.net/mycontainer?restype=container&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 Blob como 127.0.0.1:10000, seguido pelo nome da conta de armazenamento emulado:

Método

URI de solicitação

Versão de HTTP

PUT

http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=acl

HTTP/1.1

Para obter mais informações, consulte usando o emulador de armazenamento do Azure para desenvolvimento e teste.

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

PARAMETER

Descrição

timeout

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

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

Cabeçalho de solicitação

Descrição

Authorization

Obrigatório. 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ório. 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 para os serviços de armazenamento do Azure.

x-ms-blob-public-access

Opcional. Especifica se os dados no contêiner podem ser acessados publicamente e o nível de acesso. Os valores possíveis incluem:

  • container: Especifica o 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: Especifica o acesso de leitura público para blobs. Os dados do blob nesse contêiner podem ser lidos por 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.

Se esse cabeçalho não for incluído na solicitação, os dados do contêiner serão privados do proprietário da conta.

Observe que não é permitido definir o acesso público para um contêiner em uma conta de Armazenamento Premium do Azure.

x-ms-lease-id: <ID>

Opcional, versão 2012-02-12 e mais recente. Se especificado, Set Container ACL só terá êxito se a concessão do contêiner estiver ativa e corresponde a essa ID. Se não houver nenhuma concessão ativa ou a ID não corresponder, o código 412 (Falha na Pré-condição) será retornado.

x-ms-client-request-id

Opcional. Fornece um valor opaco gerado pelo cliente com limite de caractere de 1 KB que será registrado nos logs de análise quando o registro em log da análise de armazenamento for habilitado. O uso desse cabeçalho é altamente recomendável para correlacionar atividades do lado 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 Azure: Usando Logs para rastrear solicitações de armazenamento.

Essa operação também oferece suporte ao uso de cabeçalhos condicionais para executar a operação somente se uma determinada condição for atendida. Para obter mais informações, consulte Especificando cabeçalhos condicionais para operações de serviço Blob.

Para especificar uma política de acesso armazenada, forneça uma política de acesso e o identificador exclusiva no corpo da solicitação para o Set Container ACL operação.

A palavras-chave Async e Await no Visual Basic e a palavras-chave async e await em c# são o coração da programação assíncrona. O comprimento máximo do identificador exclusivo é 64 caracteres.

A palavras-chave Async e Await no Visual Basic e a palavras-chave async e await em c# são o coração da programação assíncrona. 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.fffffffTZD

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. A 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 fffffff é a representação de milissegundo com sete 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.blob.core.windows.net/mycontainer?restype=container&comp=acl HTTP/1.1 Request Headers: x-ms-version: 2011-08-18 x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT x-ms-blob-public-access: container Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo= Request Body: <?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>

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 200 (OK).

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 a especificação de protocolo HTTP/1.1.

Cabeçalho de resposta

Descrição

ETag

A ETag do contêiner. Se a versão da solicitação for a 2011-08-18 ou mais recente, o valor de ETag será exibido 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 Representação de valores de data/hora em cabeçalhos.

Qualquer operação que modifica o contêiner, suas propriedades ou metadados atualiza a hora da última modificação, inclusive definindo as permissões do contêiner. As operações em blobs não afetam a hora da última modificação do contêiner.

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 nas operações de API 

x-ms-version

Indica a versão do serviço Blob 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 200 OK Response Headers: Transfer-Encoding: chunked Date: Sun, 25 Sep 2011 22:42:55 GMT ETag: "0x8CB171613397EAB" Last-Modified: Sun, 25 Sep 2011 22:42:55 GMT x-ms-version: 2011-08-18 Server: Windows-Azure-Blob/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 um contêiner específico, a menos que o proprietário tenha especificado que os recursos do contêiner estejam disponíveis para acesso público definindo as permissões no contêiner, ou que tenha emitido uma assinatura de acesso compartilhado para um recurso dentro do contêiner.

Quando você define permissões para um contêiner, as permissões existentes são substituídas. Para atualizar as permissões do contêiner, chame Obter ACL do contêiner para buscar todas as políticas de acesso associadas ao contêiner, modifique a política de acesso que você deseja alterar e, em seguida, chame Set Container ACL com o conjunto completo de dados para executar a atualização.

Habilitando o acesso público anônimo em dados do contêiner

Para habilitar o acesso de leitura público anônimo em dados do contêiner, chame Set Container ACL com o x-ms-blob-public-access cabeçalho definido como container ou blob. Para desabilitar o acesso anônimo, chame Set Container ACL sem especificar o x-ms-blob-public-access cabeçalho.

Se você definir x-ms-blob-public-access para blob, os clientes poderão chamar as seguintes operações anonimamente:

Se você definir x-ms-blob-public-access para container, os clientes poderão chamar as seguintes operações anonimamente:

Estabelecendo políticas de acesso no nível do contêiner

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 contêiner ou recurso de blob, 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 a especificação de um usar uma política de acesso armazenado 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).

No máximo, cinco políticas de acesso separadas podem ser definidas para um contêiner específico 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).

Uma assinatura de acesso compartilhado pode ser emitida em um contêiner ou um blob, independentemente de os dados do contêiner estarem disponíveis ou não para acesso de leitura anônimo. Uma assinatura de acesso compartilhado proporciona uma medida maior de controle de como, quando e para quem recurso se torna acessível.

System_CAPS_noteObservação

O estabelecimento de uma política de acesso armazenada em um contêiner 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 (Proibido) até que a política de acesso se torne ativa.

Mostrar:
© 2016 Microsoft