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.
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 existem custos adicionais para usar identidades geridas 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:
Uma conta ativa do Azure. Se não tiver uma, poderá criar uma conta gratuita.
Um recurso de tradutor .
Uma conta de Armazenamento de Blob do Azure de desempenho padrão. Você também precisa criar contêineres para armazenar e organizar seus arquivos em sua conta de armazenamento. Se você não souber como criar uma conta de armazenamento do Azure com um contêiner de armazenamento, siga estes inícios rápidos:
- Criar uma conta de armazenamento. Ao criar sua conta de armazenamento, selecione Desempenho padrão no campo Detalhes>da instância Desempenho.
- Crie um contêiner. Ao criar seu contêiner, defina Nível de acesso público como Contêiner (acesso de leitura anônimo para contêineres e arquivos) na janela Novo contêiner .
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 contentor→ o seu ficheiro |
Clique com o botão direito do mouse no contêiner ou arquivo e selecione Gerar SAS no menu suspenso.
Selecione Método de assinatura → Chave de delegação do usuário.
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 .
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, consulte Usar credenciais do Microsoft Entra para proteger uma SAS.
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.
O campo Protocolos permitidos é opcional e especifica o protocolo permitido para uma solicitação feita com o SAS. O valor padrão é HTTPS.
Revise e selecione Gerar token SAS e URL.
A cadeia de caracteres de consulta do token Blob SAS e a URL do Blob SAS são exibidas na área inferior da janela.
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.
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:
Abra o aplicativo Gerenciador de Armazenamento do Azure em sua máquina local e navegue até suas Contas de Armazenamento conectadas.
Expanda o nó Contas de Armazenamento e selecione Contêineres de Blob.
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.
Selecione Obter assinatura de acesso compartilhado... no menu de opções.
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.
Uma nova janela é exibida com o nome do contêiner, o URI e a cadeia de caracteres de consulta do contêiner.
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.
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.