Criar tokens SAS para os contêineres de armazenamento

Neste artigo, aprenda a criar tokens SAS (Assinatura de Acesso Compartilhado) de delegação de usuário usando o portal do Azure ou o Gerenciador de Armazenamento 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.

Screenshot of a storage url with SAS token appended.

Dica

As identidades gerenciadas fornecem um método alternativo para que você conceda acesso aos seus dados de armazenamento sem a necessidade de incluir tokens SAS com solicitações HTTP. Confira, Identidades gerenciadas para Tradução de Documento.

  • 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:

  • Um aplicativo envia o token SAS ao 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, a solicitação será autorizada.

  • A solicitação será recusada se o token SAS for considerado inválido. Nesse caso, 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:

  • Uma conta do Azure ativa. Se você não tiver uma, poderá criar uma conta gratuita.

  • Um recurso Tradutor.

  • O Desempenho Standard de uma conta de Armazenamento de Blobs do Azure. Você também precisa criar contêineres para armazenar e organizar arquivos em sua conta de armazenamento. Se você não sabe como criar uma conta de armazenamento do Azure com um contêiner de armazenamento, siga este início rápido:

    • Criar uma conta de armazenamento. Ao criar sua a conta de armazenamento, selecione desempenho Standard no campo Detalhes da instância>Desempenho.
    • Criar um contêiner. Ao criar seu contêiner, defina o Nível de acesso público como Contêiner (acesso de leitura anônimo de contêineres e arquivos) na janela Novo contêiner.

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:

Criar token SAS para um contêiner Criar token SAS para um arquivo específico
Sua conta de armazenamentocontêineresseu contêiner 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:

    • O contêiner ou o arquivo de origem deve designar o acesso de leitura e listagem.

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

  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 Tradução.
    • O valor do tempo de expiração é determinado por se você está usando uma Chave de conta ou um Método de assinatura de chave de delegação de usuário:
      • Chave de conta: embora um limite de tempo máximo não seja imposto, 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, consulteUsar credenciais do Microsoft Entra para proteger uma 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 de SAS, acrescente o token SAS (URI) à URL de um serviço de armazenamento.

Criar tokens SAS com o Gerenciador de Armazenamento do Azure

O Gerenciador de Armazenamento do Azure é uma ferramenta gratuita autônoma para o gerenciamento de recursos do armazenamento em nuvem do Azure do seu desktop.

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

  • Após instalar o aplicativo Gerenciador de Armazenamento do Azure, conecte-o à conta de armazenamento que você está usando para a tradução de documento. 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 no computador 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 Obtenha 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 é nenhuma política).
    • Especifique a data e a hora de Início e de Expiração da chave assinada. Recomendamos usar um período de vida útil curto, pois não é possível revogar uma SAS depois de gerada.
    • Selecione o Fuso horário da data e hora de início e de expiração (o padrão é Local).
    • Defina as Permissões do contêiner marcando e/ou desmarcando a caixa de seleção apropriada.
    • Confira os dados e selecione Criar.
  6. Uma nova janela será 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, de URI e de cadeia de caracteres de consulta em uma localização segura. Eles são exibidos apenas uma vez e não podem ser recuperados depois que a janela é fechada.

  8. Para criar uma URL de 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:

{
    "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"
                }
            ]
        }
    ]
}

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

Próximas etapas