Criar uma SAS de conta

Começando pela versão 2015-04-05, o Azure Armazenamento suporta a criação de um novo tipo de assinatura de acesso partilhado (SAS) ao nível da conta de armazenamento. Criar uma conta SAS permite-lhe:

  • Delegar acesso a operações de nível de serviço que não estão atualmente disponíveis com um SAS específico de serviço, como o Get/Set Service Properties e Get Service Stats operações.

  • Delegar acesso a mais de um serviço numa conta de armazenamento de cada vez. Por exemplo, pode delegar o acesso aos recursos nos serviços Blob e File com uma conta SAS.

  • Delegar acesso a escrever e apagar operações para contentores, filas, tabelas e partilhas de ficheiros, que não estão disponíveis com um SAS específico para objetos.

  • Especifique um endereço IP ou um leque de endereços IP a partir dos quais aceitar pedidos.

  • Especifique o protocolo HTTP a partir do qual aceitar pedidos (HTTPS ou HTTP/HTTPS).

Atualmente, as políticas de acesso armazenadas não são suportadas para a conta SAS.

Atenção

A assinatura de acesso partilhado são chaves que concedem permissões aos recursos de armazenamento, e devem ser protegidas da mesma forma que uma chave de conta. É importante proteger um SAS de uso malicioso ou não intencional. Use discrição na distribuição de um SAS, e tenha um plano em vigor para revogar um SAS comprometido. As operações que utilizam assinaturas de acesso partilhado só devem ser realizadas por uma ligação HTTPS, e os URIs de assinatura de acesso partilhado só devem ser distribuídos numa ligação segura, como HTTPS.

Autorização de uma conta SAS

Uma conta SAS é segura usando a chave da conta de armazenamento. Para criar uma conta SAS, um pedido de cliente deve possuir a chave de conta.

Para utilizar credenciais Azure AD para garantir um SAS para um recipiente ou bolha, crie uma delegação de utilizador SAS. Para mais informações, consulte Criar uma delegação de utilizador SAS.

Construção da Conta SAS URI

A conta SAS URI consiste no URI ao recurso para o qual o SAS delegará o acesso, seguido do token SAS. O token SAS é o cadeia de consulta que inclui todas as informações necessárias para autorizar um pedido ao recurso, bem como especificar o serviço, o recurso e permissões disponíveis para acesso, e o intervalo de tempo sobre o qual a assinatura é válida.

Especificar parâmetros SAS de conta

A tabela seguinte descreve os parâmetros necessários e opcionais para o token SAS.

Parâmetro de consulta SAS Description
api-version Opcional. Especifica a versão do serviço de armazenamento para executar o pedido feito usando a conta SAS URI.
SignedVersion (sv) Obrigatório. Especifica a versão de serviço de armazenamento assinada para usar para autorizar pedidos feitos com esta conta SAS. Deve ser definido para a versão 2015-04-05 ou mais tarde.
SignedServices (ss) Obrigatório. Especifica os serviços assinados acessíveis com a conta SAS. Valores possíveis incluem:

- Blob b ( )
- Fila q ( )
- Tabela t ( )
- Arquivo f ( )

Pode combinar valores para fornecer acesso a mais de um serviço. Por exemplo, ss=bf especifica o acesso aos pontos finais blob e File.
SignedResourceTypes (srt) Obrigatório. Especifica os tipos de recursos assinados que estão acessíveis com a conta SAS.

- Serviço s (): Acesso a APIs de nível de serviço (por exemplo, Obter/Definir Propriedades de Serviço, Obter Estatísticas de Serviço, Contentores de Lista/Filas/Tabelas/Partilhas)
- Contentor c (): Acesso a APIs de nível de contentores (por exemplo, criar/eliminar recipientes, criar/eliminar fila, criar/eliminar tabela, criar/eliminar partilha, listar blobs/ficheiros e diretórios)
- Objeto o (): Acesso a APIs de nível de objetos para bolhas, mensagens de fila, entidades de tabelas e ficheiros(por exemplo, Put Blob, Consulta, Obter Mensagens, Criar Ficheiros, etc.)

Pode combinar valores para fornecer acesso a mais de um tipo de recurso. Por exemplo, srt=sc especifica o acesso aos recursos de serviço e contentores.
SignedPermission (sp) Obrigatório. Especifica as permissões assinadas para a conta SAS. As permissões só são válidas se corresponderem ao tipo de recurso assinado especificado; caso contrário, são ignorados.

- Ler r (): Válido para todos os tipos de recursos assinados (Serviço, Contentor e Objeto). As autorizações de leitura para o tipo de recurso especificado.
- Escrever w (): Válido para todos os tipos de recursos assinados (Serviço, Contentor e Objeto). As autorizações de escrita para o tipo de recurso especificado.
- Excluir d (): Válido para tipos de recursos de contentores e objetos, com exceção das mensagens de fila.
- Exclusão Permanente y (): Válido apenas para o tipo de recurso de objeto de Blob.
- Lista l (): Válido apenas para tipos de recursos de serviço e contentores.
- Adicionar ( a ): Válido apenas para os seguintes tipos de recursos objeto: mensagens de fila, entidades de mesa e bolhas de apêndice.
- Criar c (): Válido apenas para os seguintes tipos de recursos objeto: bolhas e ficheiros. Os utilizadores podem criar novas bolhas ou ficheiros, mas podem não substituir as bolhas ou ficheiros existentes.
- Atualização u (): Válido apenas para os seguintes tipos de recursos objeto: mensagens de fila e entidades de tabela.
- Processo p (): Válido apenas para o seguinte tipo de recurso objeto: mensagens de fila.
SignedStart (st) Opcional. O momento em que o SAS se torna válido, expresso num dos formatos ACEITES ISO 8601 UTC. Se omitido, presume-se que a hora de início é a hora em que o serviço de armazenamento recebe o pedido. Para obter mais informações sobre os formatos UTC aceites, consulte os valores de Hora de Data de Formatação.
SignedExpiry (se) Obrigatório. O momento em que a assinatura de acesso partilhado se torna inválida, expressa num dos formatos ACEITES ISO 8601 UTC. Para obter mais informações sobre os formatos UTC aceites, consulte os valores de Hora de Data de Formatação.
SignedIP (sip) Opcional. Especifica um endereço IP ou um conjunto de endereços IP a partir dos quais aceitar pedidos. Ao especificar um intervalo, note que o alcance é inclusivo.

Por exemplo, sip=168.1.5.65 ou sip=168.1.5.60-168.1.5.70.
SignedProtocol (spr) Opcional. Especifica o protocolo permitido para um pedido feito com a conta SAS. Os valores possíveis são apenas HTTPS e https,http HTTPS () ou HTTPS https (). O valor predefinido é https,http.

Note que HTTP apenas não é um valor permitido.
Signature (sig) Obrigatório. A parte de assinatura do URI é utilizada para autorizar o pedido feito com a assinatura de acesso partilhado.

O string-to-sign é uma corda única construída a partir dos campos que deve ser verificada para autorizar o pedido. A assinatura é um HMAC calculado sobre a corda-a-sinal e chave usando o algoritmo SHA256, e, em seguida, codificado usando codificação Base64.

Construindo a corda de assinatura

Para construir a cadeia de assinatura para uma conta SAS, primeiro construa o string-to-sign a partir dos campos que compõem o pedido, em seguida, codificar a cadeia como UTF-8 e calcular a assinatura usando o algoritmo HMAC-SHA256. Note que os campos incluídos no string-to-sign devem ser descodificados por URL.

Para construir o string-to-sign para uma conta SAS, utilize o seguinte formato:

StringToSign = accountname + "\n" +  
    signedpermissions + "\n" +  
    signedservice + "\n" +  
    signedresourcetype + "\n" +  
    signedstart + "\n" +  
    signedexpiry + "\n" +  
    signedIP + "\n" +  
    signedProtocol + "\n" +  
    signedversion + "\n"  
  

Contas sas permissões por operação

As tabelas nas secções seguintes listam várias APIs para cada serviço e os tipos de recursos assinados e permissões assinadas apoiadas para cada operação.

Serviço Blob

A tabela que se segue lista as operações de serviço blob e indica quais o tipo de recurso assinado e permissões assinadas para especificar para delegar o acesso a essas operações.

Operação Serviço Assinado Tipo de Recurso Assinado Autorização assinada
Recipientes de lista Blob (b) Serviço (s) Lista (l)
Obtenha propriedades de serviço Blob Blob (b) Serviço (s) Ler (r)
Definir propriedades de serviço blob Blob (b) Serviço (s) Escrever (w)
Obtenha estatísticas de serviço blob Blob (b) Serviço (s) Ler (r)
Criar Contentor Blob (b) Contentor (c) Criar(c) ou Escrever (w)
Obter propriedades de contentores Blob (b) Contentor (c) Ler (r)
Obtenha metadados de contentores Blob (b) Contentor (c) Ler (r)
Conjunto de metadados de contentores Blob (b) Contentor (c) Escrever (w)
Recipiente de Arrendamento Blob (b) Contentor (c) Escrever (w) ou Eliminar (d)1
Eliminar Contentor Blob (b) Contentor (c) Excluir (d)
Blobs de lista Blob (b) Contentor (c) Lista (l)
Coloque Blob (crie uma nova bolha de bloco) Blob (b) Objeto (o) Criar (c) ou escrever (w)
Coloque Blob (sobrepor bolha de bloco existente) Blob (b) Objeto (o) Escrever (w)
Coloque Blob (crie uma nova bolha de página) Blob (b) Objeto (o) Criar (c) ou escrever (w)
Coloque Blob (substitua a bolha de página existente) Blob (b) Objeto (o) Escrever (w)
Obter Blob Blob (b) Objeto (o) Ler (r)
Get Blob Properties (Obter Propriedades do Blob) Blob (b) Objeto (o) Ler (r)
Definir propriedades blob Blob (b) Objeto (o) Escrever (w)
Obtenha metadados blob Blob (b) Objeto (o) Ler (r)
Definir metadados blob Blob (b) Objeto (o) Escrever (w)
Obter Tags Blob Blob (b) Objeto (o) Etiquetas (t)
Definir tags blob Blob (b) Objeto (o) Etiquetas (t)
Encontre Blobs por Tags Blob (b) Objeto (o) Encontrar (f)
Eliminar Blob Blob (b) Objeto (o) Excluir (d)
Eliminar permanentemente instantâneo /versão Blob (b) Objeto (o) Eliminação Permanente (y)
Lease Blob (Blob de Concessão) Blob (b) Objeto (o) Escrever (w) ou Eliminar (d)1
Blob de Instantâneo Blob (b) Objeto (o) Criar (c) ou escrever (w)
Copy Blob (destino é novo blob) Blob (b) Objeto (o) Criar (c) ou escrever (w)
Copy Blob (destino é uma bolha existente) Blob (b) Objeto (o) Escrever (w)
Cópia incremental Blob (b) Objeto (o) Criar (c) ou escrever (w)
Abortar Bolha de Cópia Blob (b) Objeto (o) Escrever (w)
Colocar Bloco Blob (b) Objeto (o) Escrever (w)
Colocar Lista de Blocos (criar novo blob) Blob (b) Objeto (o) Escrever (w)
Colocar Lista de Blocos (atualizar bolha existente) Blob (b) Objeto (o) Escrever (w)
Obter Lista de Blocos Blob (b) Objeto (o) Ler (r)
Colocar página Blob (b) Objeto (o) Escrever (w)
Obter Gamas de Páginas Blob (b) Objeto (o) Ler (r)
Bloco de Apêndice Blob (b) Objeto (o) Adicionar (a) ou Escrever (w)
Página clara Blob (b) Objeto (o) Escrever (w)

Nota

A Delete permissão permite quebrar um arrendamento em uma bolha ou recipiente com a versão 2017-07-29 e mais tarde.

Serviço de fila

A tabela que se segue lista as operações de serviço de fila e indica qual o tipo de recurso assinado e permissões assinadas para especificar para delegar o acesso a essas operações.

Operação Serviço Assinado Tipo de Recurso Assinado Autorização assinada
Obtenha propriedades de serviço de fila Fila (q) Serviço (s) Ler (r)
Definir propriedades de serviço de fila Fila (q) Serviço (s) Escrever (w)
Lista de filas Fila (q) Serviço (s) Lista (l)
Obtenha estatísticas de serviço de fila Fila (q) Serviço (s) Ler (r)
Criar fila Fila (q) Contentor (c) Criar(c) ou Escrever (w)
Apagar fila Fila (q) Contentor (c) Excluir (d)
Obtenha metadados de fila Fila (q) Contentor (c) Ler (r)
Definir metadados de fila Fila (q) Contentor (c) Escrever (w)
Colocar mensagem Fila (q) Objeto (o) Adicionar (a)
Receber mensagens Fila (q) Objeto (o) Processo (p)
Mensagens de espreitar Fila (q) Objeto (o) Ler (r)
Eliminar mensagem Fila (q) Objeto (o) Processo (p)
Mensagens Claras Fila (q) Objeto (o) Excluir (d)
Atualizar Mensagem Fila (q) Objeto (o) Atualização (u)

Serviço de mesa

A tabela que se segue lista as operações de serviço de mesa e indica qual o tipo de recurso assinado e permissões assinadas para especificar para delegar o acesso a essas operações.

Operação Serviço Assinado Tipo de Recurso Assinado Autorização assinada
Obtenha propriedades de serviço de mesa Tabela (t) Serviço (s) Ler (r)
Definir propriedades de serviço de mesa Tabela (t) Serviço (s) Escrever (w)
Obter estatísticas de serviço de mesa Tabela (t) Serviço (s) Ler (r)
Tabelas de Consultas Tabela (t) Contentor (c) Lista (l)
Criar a Tabela Tabela (t) Contentor (c) Criar (c) ou escrever (w)
Eliminar Tabela Tabela (t) Contentor (c) Excluir (d)
Entidades de Consulta Tabela (t) Objeto (o) Ler (r)
Inserir Entidade Tabela (t) Objeto (o) Adicionar (a)
Inserir ou Fundir Entidade Tabela (t) Objeto (o) Adicionar (a) e Atualizar (u)1
Insira ou substitua a entidade Tabela (t) Objeto (o) Adicionar (a) e Atualizar (u)1
Entidade de Atualização Tabela (t) Objeto (o) Atualização (u)
Entidade de Fusão Tabela (t) Objeto (o) Atualização (u)
Eliminar Entidade Tabela (t) Objeto (o) Excluir (d)

1 São necessárias permissões de adicionar e atualizar para operações de atualização no Serviço de Tabela.

Serviço de Arquivos

A tabela que se segue lista as operações de serviço de ficheiros e indica qual o tipo de recurso assinado e permissões assinadas para especificar para delegar o acesso a essas operações.

Operação Serviço Assinado Tipo de Recurso Assinado Autorização assinada
Ações da Lista Arquivo (f) Serviço (s) Lista (l)
Obtenha propriedades de serviço de ficheiros Arquivo (f) Serviço (s) Ler (r)
Definir propriedades de serviço de arquivo Arquivo (f) Serviço (s) Escrever (w)
Obter Estatísticas de Partilha Arquivo (f) Contentor (c) Ler (r)
Criar Partilha Arquivo (f) Contentor (c) Criar (c) ou escrever (w)
Partilha instantânea Arquivo (f) Contentor (c) Criar (c) ou escrever (w)
Obter Propriedades de Partilha Arquivo (f) Contentor (c) Ler (r)
Definir propriedades de partilha Arquivo (f) Contentor (c) Escrever (w)
Obtenha metadados de partilha Arquivo (f) Contentor (c) Ler (r)
Definir Metadados de partilha Arquivo (f) Contentor (c) Escrever (w)
Eliminar Partilha Arquivo (f) Contentor (c) Excluir (d)
Listas e Ficheiros Arquivo (f) Contentor (c) Lista (l)
Criar Diretório Arquivo (f) Objeto (o) Criar (c) ou escrever (w)
Obter Propriedades de Diretório Arquivo (f) Objeto (o) Ler (r)
Obtenha metadados do Diretório Arquivo (f) Objeto (o) Ler (r)
Definir Metadados de Diretório Arquivo (f) Objeto (o) Escrever (w)
Excluir Diretório Arquivo (f) Objeto (o) Excluir (d)
Criar Ficheiro (criar novo) Arquivo (f) Objeto (o) Criar (c) ou escrever (w)
Criar Ficheiro (substituir a existência) Arquivo (f) Objeto (o) Escrever (w)
Obter Arquivo Arquivo (f) Objeto (o) Ler (r)
Obter propriedades de arquivo Arquivo (f) Objeto (o) Ler (r)
Obtenha metadados de ficheiros Arquivo (f) Objeto (o) Ler (r)
Definir metadados de ficheiros Arquivo (f) Objeto (o) Escrever (w)
Eliminar Ficheiro Arquivo (f) Objeto (o) Excluir (d)
Colocar Gama Arquivo (f) Objeto (o) Escrever (w)
Intervalos de lista Arquivo (f) Objeto (o) Ler (r)
Abortar Ficheiro de Cópia Arquivo (f) Objeto (o) Escrever (w)
Copiar Ficheiro Arquivo (f) Objeto (o) Escrever (w)
Gama Clara Arquivo (f) Objeto (o) Escrever (w)

Exemplo SAS URI da conta

O exemplo a seguir mostra uma conta SAS URI que fornece permissões de leitura e escrita para uma bolha. A tabela decompõe cada parte do URI:

https://myaccount.blob.core.windows.net/?restype=service&comp=properties&sv=2019-02-02&ss=bf&srt=s&st=2019-08-01T22%3A18%3A26Z&se=2019-08-10T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=F%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkkAg8P6HESXwmf%4B
Name Porção SAS Descrição
URI de recursos https://myaccount.blob.core.windows.net/?restype=service&comp=properties O ponto final de serviço, com parâmetros para obter propriedades de serviço (quando chamados com GET) ou definir propriedades de serviço (quando chamado com SET). Com base no valor do campo de serviços assinados , ss este SAS pode ser utilizado quer com o armazenamento blob, quer com os Ficheiros Azure.
versão de serviços Armazenamento sv=2019-02-02 Para serviços de armazenamento versão 2012-02-12 e posteriormente, este parâmetro indica a versão a utilizar.
Serviços ss=bf O SAS aplica-se aos serviços Blob e File
Tipos de recurso srt=s O SAS aplica-se a operações de nível de serviço.
Hora de início st=2019-08-01T22%3A18%3A26Z Especificado no tempo utc. Se quiser que o SAS seja válido imediatamente, omita a hora de início.
Prazo de validade se=2019-08-10T02%3A23%3A26Z Especificado no tempo utc.
Permissões sp=rw As permissões concedem acesso a operações de leitura e escrita.
Gama IP sip=168.1.5.60-168.1.5.70 O leque de endereços IP a partir dos quais um pedido será aceite.
Protocolo spr=https Apenas são permitidos pedidos de utilização https.
Assinatura sig=F%6GRVAZ5Cdj2Pw4tgU7IlSTkWgn7bUkkAg8P6HESXwmf%4B Usado para autorizar o acesso à bolha. A assinatura é um HMAC calculado sobre uma corda-a-sinal e chave usando o algoritmo SHA256, e, em seguida, codificado usando codificação Base64.

Dado que as permissões se restringem ao nível de serviço, as operações acessíveis com este SAS são Get Blob Service Properties (ler) e set Blob Service Properties (escreva). No entanto, com um recurso diferente URI, o mesmo token SAS também poderia ser usado para delegar o acesso a Obter Estatísticas de Serviço Blob (ler).

Ver também