Crie tokens SAS para seus contêineres de armazenamento

Neste artigo, você aprenderá a criar delegação de usuário, tokens de assinatura de acesso compartilhado (SAS), usando o portal do Azure ou o Gerenciador de Armazenamento do Azure. Os tokens SAS de delegação de usuários são protegidos com credenciais do Microsoft Entra. Os tokens SAS fornecem acesso seguro e delegado a recursos em sua conta de armazenamento do Azure.

Screenshot of a storage url with SAS token appended.

Gorjeta

As identidades gerenciadas fornecem um método alternativo para você conceder acesso aos dados de armazenamento sem a necessidade de incluir tokens SAS em suas solicitações HTTP. Consulte Identidades gerenciadas para tradução de documentos.

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

Em um alto nível, veja como os tokens SAS funcionam:

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

  • O serviço de armazenamento verifica se a SAS é válida. Em caso afirmativo, o pedido é autorizado.

  • A solicitação será recusada se o token SAS for considerado inválido. Em caso afirmativo, o código de erro 403 (Proibido) é retornado.

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

  • As contas de armazenamento fornecem um namespace exclusivo no Azure para seus dados.
  • Os contêineres de armazenamento de dados estã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 texto e dados binários , como arquivos, texto e imagens.

Importante

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

  • As operações que usam tokens SAS devem ser executadas somente em uma conexão HTTPS, e os URIs 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

Vá para o portal do Azure e navegue até seu contêiner ou um arquivo específico da seguinte maneira e continue com estas etapas:

Criar token SAS para um contêiner Criar token SAS para um arquivo específico
A sua conta de armazenamento → contentores → o seu contentor A sua conta de armazenamento → contentores → o seu contentoro seu ficheiro
  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 permissões marcando e/ou desmarcando a caixa de seleção apropriada:

    • Seu contêiner ou arquivo de origem deve designar acesso de leitura e lista.

    • Seu contêiner ou arquivo de destino deve designar acesso de gravação e lista.

  4. Especifique a chave assinada Tempos de início e expiração .

    • 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 mais longo para o tempo em que você estiver usando sua conta de armazenamento para operações do Serviço de Tradutor.
    • O valor do tempo de expiração é determinado pelo fato de você estar usando uma chave de conta ou um método de assinatura de chave de delegação de usuário:
      • Chave da conta: embora um limite máximo de tempo não seja imposto, as práticas recomendadas recomendam que você configure uma política de expiração para limitar o intervalo e minimizar o comprometimento. Configure uma política de expiração para assinaturas de acesso compartilhado.
      • Chave de delegação do usuário: o valor para o tempo de expiração é de no máximo sete dias a partir da criação do token SAS. A SAS é inválida depois que a chave de delegação do usuário expira, portanto, uma SAS com um tempo de expiração superior a sete dias ainda será válida apenas por sete dias. Para obter mais informações, consulteUsar credenciais do Microsoft Entra para proteger uma SAS.
  5. O campo Endereços IP permitidos é opcional e especifica um endereço IP ou um intervalo de endereços IP a partir dos quais aceitar solicitações. Se o endereço IP da solicitação não corresponder ao endereço IP ou intervalo de endereços especificado no token SAS, a autorização falhará. O endereço IP ou um intervalo de endereços IP deve ser IP público, não privado. 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 o SAS. O valor padrão é HTTPS.

  7. Revise e selecione Gerar token SAS e URL.

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

  9. Copie e cole o token SAS de Blob e os valores de URL em um local seguro. Eles só serão exibidos uma vez e não podem ser recuperados quando a janela for fechada.

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

Criar tokens SAS com o Azure Storage Explorer

O Azure Storage Explorer é um aplicativo autônomo gratuito que permite gerenciar facilmente seus recursos de armazenamento em nuvem do Azure a partir de sua área de trabalho.

  • Você precisa do aplicativo Gerenciador de Armazenamento do Azure instalado em seu ambiente de desenvolvimento Windows, macOS ou Linux.

  • Depois que o aplicativo Gerenciador de Armazenamento do Azure for instalado, conecte-o à conta de armazenamento que você está usando para Tradução de Documentos. Siga estas etapas para criar tokens para um contêiner de armazenamento ou um arquivo de blob específico:

  1. Abra o aplicativo Gerenciador de Armazenamento do Azure em sua máquina local e navegue até suas Contas de Armazenamento conectadas.

  2. Expanda o nó Contas de Armazenamento e selecione Contêineres de Blob.

  3. Expanda o nó Contêineres de Blob e clique com o botão direito do mouse em um nó de contêiner de armazenamento para exibir o menu de opções.

  4. Selecione Obter assinatura de acesso compartilhado... no menu de opções.

  5. Na janela Assinatura de Acesso Compartilhado , faça as seguintes seleções:

    • Selecione sua política de acesso (o padrão é nenhum).
    • Especifique a chave assinada Data e hora de início e expiração . Recomenda-se uma vida útil curta porque, uma vez gerado, um SAS não pode ser revogado.
    • Selecione o fuso horário para a data e hora de início e expiração (o padrão é Local).
    • Defina suas Permissões de contêiner marcando e/ou desmarcando a caixa de seleção apropriada.
    • Reveja e selecione Criar.
  6. Uma nova janela é exibida com o nome do contêiner, o URI e a cadeia de caracteres de consulta do contêiner.

  7. Copie e cole os valores de contêiner, URI e cadeia de caracteres de consulta em um local seguro. Eles só serão exibidos uma vez e não poderão ser recuperados quando a janela for fechada.

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

Use sua URL SAS para conceder acesso

O 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 SAS com solicitações de API REST de duas maneiras:

  • Use o URL SAS como seus valores sourceURL e targetURL.

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

Aqui está um exemplo de solicitação de API REST:

{
    "inputs": [
        {
            "storageType": "File",
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "es"
                },
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "de"
                }
            ]
        }
    ]
}

Está feito! Você acabou de aprender como criar tokens SAS para autorizar como os clientes acessam seus dados.

Próximos passos