Definir ACL de Partilha

A Set Share ACL operação define uma política de acesso armazenada para utilização com assinaturas de acesso partilhado. Para obter mais informações sobre como definir políticas de acesso, veja Conceder acesso limitado aos recursos do Armazenamento do Azure com assinaturas de acesso partilhado.

Disponibilidade do protocolo

Protocolo de partilha de ficheiros ativado Disponível
SMB Yes
NFS No

Pedir

Pode construir o pedido da Set Share 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1

Parâmetros URI

Pode especificar os seguintes parâmetros adicionais no URI do pedido:

Parâmetro Description
timeout Opcional. O timeout parâmetro é expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações de Ficheiros do Azure.

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 Necessário para todos os pedidos autorizados. Especifica a versão da operação a utilizar para este pedido. Esta operação só está disponível na versão 2015-02-21 e posterior.

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. Para obter mais informações, veja Monitorizar Armazenamento de Blobs do Azure.
x-ms-lease-id:<ID> Necessário se a partilha de ficheiros de destino tiver uma concessão ativa. Disponível para a versão 2020-02-10 e posterior. Se o pedido não incluir o ID de concessão ou não for válido, a operação falhará com o código de estado 412 (Falha na Pré-condição).

Se este cabeçalho for especificado e a partilha de ficheiros de destino não tiver atualmente uma concessão ativa, a operação falha com o código de estado 412 (Falha na Pré-condição).

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 Share 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.fffffffTZD

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 fffffff é a representação de sete dígitos de milissegundos. 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.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2015-02-21  
x-ms-date: <date>  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2015-07-01T08:49:37.0000000Z</Start>  
      <Expiry>2015-07-02T08:49:37.0000000Z</Expiry>  
      <Permission>rwd</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 200 (OK).

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
ETag Devolve a data e hora em que o contentor foi modificado pela última vez. O formato de data segue RFC 1123. Para obter mais informações, veja Representação dos valores de data/hora nos cabeçalhos.
Last-Modified Qualquer operação que modifique a partilha ou as respetivas propriedades ou metadados atualiza a hora da última modificação, incluindo a definição das permissões do ficheiro. As operações em ficheiros não afetam a hora da última modificação da partilha.
x-ms-request-id Identifica exclusivamente o pedido que foi feito e pode ser utilizado 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 Ficheiros do Azure que foi utilizada para executar o pedido.
Date ou x-ms-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 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: <date>  
ETag: "0x8CB171613397EAB"  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-File/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 determinada partilha, a menos que uma das seguintes condições seja verdadeira:

  • O proprietário especificou que os recursos de partilha estão disponíveis para acesso público ao definir as permissões na partilha.
  • O proprietário emitiu uma assinatura de acesso partilhado para um recurso na partilha.

Quando define permissões para um contentor, as permissões existentes são substituídas. Para atualizar as permissões do contentor, chame Obter ACL de Partilha para obter todas as políticas de acesso associadas ao contentor. Modifique a política de acesso que pretende alterar e, em seguida, chame Set Share ACL com o conjunto completo de dados para efetuar a atualização.

Estabelecer políticas de acesso ao nível da partilha

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, pode 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 armazenada e especifique os outros parâmetros no URL.
  • Especifique todos os parâmetros no URL. Neste caso, pode utilizar a política de acesso armazenada para revogar a assinatura, mas não para modificar o respetivo comportamento.

Para obter mais informações sobre como definir políticas de acesso, veja Conceder acesso limitado aos recursos do Armazenamento do Microsoft Azure com assinaturas de acesso partilhado.

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 da assinatura de acesso partilhado e na política de acesso armazenada, 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 Utilizar uma assinatura de acesso partilhado.

Pode definir um máximo de cinco políticas de acesso separadas para uma partilha 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).

Uma assinatura de acesso partilhado pode ser emitida numa partilha ou num ficheiro, independentemente de os dados do contentor estarem disponíveis para acesso de leitura anónimo. Uma assinatura de acesso partilhado fornece mais controlo sobre como, quando e a quem um recurso é tornado acessível.

Não pode definir ou obter uma política de acesso para um instantâneo de partilha. Se tentar definir uma política de acesso, o serviço devolve o código de estado 400 (InvalidQueryParameterValue).

Nota

Quando estabelece uma política de acesso armazenada num contentor, 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é a política de acesso ficar ativa.

Ver também

Operações nos recursos FileShare (Ficheiros do Azure)