Compartilhar via


Tokens SAS para os contêineres de armazenamento

Saiba como criar delegação de usuário, tokens SAS, usando o portal do Azure. Os tokens SAS de delegação de usuário são protegidos com credenciais do Microsoft Entra. Um token SAS oferece acesso seguro e delegado aos recursos da conta de armazenamento do Azure.

Captura de tela de um URL de armazenamento com token SAS anexado.

Dica

O Controle de acesso baseado em função (identidades gerenciadas) fornece um método alternativo para conceder acesso aos dados de armazenamento sem a necessidade de incluir tokens SAS com solicitações HTTP.

  • Você pode usar identidades gerenciadas para conceder acesso a qualquer recurso que dê suporte à autenticação do Microsoft Entra, incluindo seus próprios aplicativos.
  • O uso de identidades gerenciadas substitui o requisito para incluir tokens de assinatura de acesso compartilhado (SAS) nas suas URLs de origem e destino.
  • Não há nenhum custo adicional para usar identidades gerenciadas no Azure.

Em linhas gerais, veja como os tokens SAS funcionam:

  • O aplicativo envia o token SAS ao Armazenamento do Azure como parte de uma solicitação de API REST.

  • Se o serviço de armazenamento verificar que a SAS é válida, a solicitação será autorizada.

  • Se o token SAS for considerado inválido, a solicitação será recusada e o código de erro 403 (Proibido) será retornado.

O Armazenamento de Blobs do Azure oferece três tipos de recursos:

  • As contas de armazenamento fornecem um namespace exclusivo no Azure para os dados.
  • Os contêineres de armazenamento de dadosestão localizados em contas de armazenamento e organizam conjuntos de blobs (arquivos, texto ou imagens).
  • Os blobs estão localizados em contêineres e armazenam dados binários e de texto, como arquivos, texto e imagens.

Importante

  • Os tokens SAS são usados para conceder permissões aos recursos de armazenamento e devem ser protegidos da mesma maneira que uma chave de conta.

  • As operações que usam tokens SAS só devem ser executadas em uma conexão HTTPS e URIs de SAS só devem ser distribuídos em uma conexão segura como HTTPS.

Pré-requisitos

Para começar, você precisa dos seguintes recursos:

Criar tokens SAS no portal do Azure

Acesse o portal do Azure e navegue até seu contêiner ou arquivo específico da seguinte maneira e continue com as etapas abaixo:

Fluxo de trabalho: Sua conta de armazenamentocontêineresseu contêinerseu arquivo

  1. Clique com o botão direito do mouse no contêiner ou arquivo e selecione Gerar SAS no menu suspenso.

  2. Selecione Método de assinaturaChave de delegação do usuário.

  3. Defina as Permissões marcando e/ou desmarcando a caixa de seleção apropriada:

    • Seu arquivo de origem deve designar o acesso de leitura e à lista.

    • Seu arquivo de destino deve designar o acesso de gravação e à lista.

  4. Especifique a hora de Início e de Expiração da chave assinada.

    • Quando você cria uma assinatura de acesso compartilhado (SAS), a duração padrão é de 48 horas. Após 48 horas, você precisará criar um novo token.
    • Considere definir um período de duração maior para o tempo que usa a conta de armazenamento para operações de Serviço de linguagem.
    • O valor do tempo de expiração é determinado pelo fato de você estar usando uma Chave de conta ou Chave de delegação de usuário Método de assinatura:
      • Chave de conta: sem limite de tempo máximo imposto; no entanto, as melhores práticas recomendam que você configure uma política de expiração para limitar o intervalo e minimizar o comprometimento. Configurar uma política de expiração para assinaturas de acesso compartilhado.
      • Chave de delegação de usuário: o valor máximo do período de expiração é de sete dias a partir da criação do token SAS. Como a chave de delegação de usuário expira em sete dias e invalida a SAS depois disso, mesmo que uma SAS tenha o tempo de expiração superior a sete dias, ainda assim ela será válida apenas durante esse período. Para obter mais informações, veja Usar credenciais do Microsoft Entra para proteger um SAS.
  5. O campo Endereços IP permitidos é opcional e especifica um endereço IP ou intervalo de endereços IP do qual aceitar solicitações. Se o endereço IP da solicitação não for igual ao endereço IP ou intervalo de endereços especificados no token SAS, a autorização falhará. O endereço IP ou um intervalo de endereços IP devem ser IPs públicos, não privados. Para obter mais informações, consulte, Especificar um endereço IP ou intervalo de IP.

  6. O campo Protocolos permitidos é opcional e especifica o protocolo permitido para uma solicitação feita com a SAS. O valor padrão é HTTPS.

  7. Confira os dados e selecione Gerar token SAS e URL.

  8. A cadeia de caracteres de consulta do Token SAS do Blob e a URL SAS do Blob serão exibidas na área inferior da janela.

  9. Copie e cole o token SAS do blob e os valores da URL em um local seguro. Eles são exibidos apenas uma vez e não podem ser recuperados depois que a janela é fechada.

  10. Para criar uma URL SAS, acrescente o token SAS (URI) à URL de um serviço de armazenamento.

Usar a URL SAS para permitir acesso

A URL SAS inclui um conjunto especial de parâmetros de consulta. Esses parâmetros indicam como o cliente acessa os recursos.

Você pode incluir sua URL da SAS com solicitações de API REST de duas maneiras:

  • Use a URL da SAS como seus valores de sourceURL e targetURL.

  • Acrescente a cadeia de caracteres de consulta da SAS aos valores de sourceURL e targetURL existentes.

Aqui está uma amostra de solicitação da API REST:

{
  "analysisInput": {
    "documents": [
      {
        "id": "doc_0",
        "language": "en",
        "source": {
          "location": "myaccount.blob.core.windows.net/sample-input/input.pdf?{SAS-Token}"
        },
        "target": {
          "location": "https://myaccount.blob.core.windows.net/sample-output?{SAS-Token}"
        }
      }
    ]
  }
}

É isso! Você aprendeu a criar tokens SAS para autorizar como os clientes a acessam seus dados.

Próximas etapas