O Azure Key Vault é serviço de cloud para armazenar e acessar secrets de maneira segura. Uma secret é qualquer coisa a qual você queira controlar rigidamente o acesso, como chaves de API, senhas, certificados ou chaves criptográficas.
Os cofres oferecem suporte ao armazenamento de keys, secrets e certificates.
Reafirmando o que falamos acima, o Azure Key Vault é um recurso que te ajuda a gerenciar de forma segura e controlada todos os “secrets” que seu ambiente precisa para funcionar.
Secret pra cá, secret pra lá, mais o que são “Secrets”?
É um nome dado para definir:
Keys: Tokens de acesso, chaves compartilhadas (tipo aquelas geradas pelo storage account), entre outros;
Credenciais: senhas, aquelas comuns mesmo, velhas conhecidas;
Certificates: Certificados em geral, aqueles que vocês utilizaria para seu site ou aplicação que solicita TLS para comunicação
O grande beneficio no uso do Azure Key Vault é abstrair e entregar de forma segura o que a aplicação ou acesso de forma geral precisa que a comunicação seja estabelecida. Trazendo para o habitual, o que muda é que ao invés de passar suas credenciais de acesso, você passa a informar o caminho do Azure Key Vault e lá sim, as suas credenciais passariam a consultadas de forma mais segura, sem que seja exposta.
Além desse controle, podemos até gerenciar por quanto tempo que essa secret será válida. Imagina que fantástico! Pensa em um cenário onde uma pessoa irá precisar acessar sua base de dados por 5 dias, você não precisa colocar alertas, basta configura-la para ser válida do dia X ao dia Y.
Configuração do Azure Key Vault
Vamos iniciar nesse momento o processo de configuração do nosso Azure Key Vault ou cofre!
Primeiro passo é você clicar no link abaixo para realizar o acesso a sua conta do Azure.
Caso não possua uma conta, deixo um link abaixo para apoiar você na criação da sua conta.
Após a realização do acesso, vamos seguir os passos abaixo.
(1) - Pesquisar por Key vaults;
(2) - Selecionar Key vaults.
Após selecionar Key Vaults, vamos clicar em Create.
Quando selecionamos CREATE, uma página com 5 abas (Basics, Acess policy, Networking, Tags e Review + create) será apresentada.
Na aba Basics, vamos informar os seguintes itens.
(1) Subscription
(2) Resource Group, caso não tenha criado um pode estar realizando nesse momento. Em nosso blog existe um post que explica com detalhes como realizar a criação do Resource Group. Para acessar basta clicar aqui;
(3) Nome para o nosso Key vault;
(4) Selecionar uma Region. Em nosso exemplo vamos manter a Region de nosso Resource Group;
(5) Avançar para próxima tela Next: Access policy.
Na aba Access policy não irei fazer nada durante a criação. Mais após a criação estaremos retornando nela para poder habilitar o acesso do Azure Data Factory.
Na aba Networking também não irei alterar nada.
Na aba Tag irei adicionar uma tag para o nosso Azure Key vault.
Na aba Review + create o Azure realizar uma validação das informações para poder permitir ou não a sua criação.
Recurso criado com sucesso.
O próximo passo é acessar nosso Azure Key Vault.
Muito bem guerreiro! Recurso criado e disponível! Vamos agora realizar algumas configurações para que o nosso querido Azure Data Factory tenha acesso ao nosso Azure Key Vault.
Configurando o Access Policies para acesso via Azure Data Factory
Vamos retornar no Azure Key Vault criado e permitir o acesso do Azure Data Factory.
(1) Configurações (Settings);
(2) Clicar em Access policies;
(3) E na clicar em + Add Access Policy (no centro da tela)
Após clicar em Add access policiy, seremos direcionado para a tela abaixo.
Nessa tela iremos seguir os seguintes passos.
(1) Em Select principal Clicar em None selected;
(2) Na lupa vamos digitar o nome do nosso Azure Data Factory;
(3) Caso tenha mais de um configurado favor escolher na lista;
(4) Clicar em Select
Permissão concedida para o Azure Data Factory, vamos selecionar as permissões para acessar as secrets.
(1) Em secret permissions, clicar para listar todas as permissões;
(2) Selecionar Get e List;
(3) Clicar em Add.
Feito isso basta clicar em Save (1).
Agora sim, toda as permissões concedidas para o Azure Data Factory. Agora vamos criar duas entradas de secrets, uma para acesso aos nosso arquivos e a outra para acesso ao Microsoft SQL Server On premise.
Essas que serão usadas nos nossos próximos exemplos no Azure Data Factory.
Criando uma Secret
Para realizar essa configuração, vamos seguir os seguintes passos.
(1) Na barra vertical a esquerda, vamos clicar em configurações (Settings);
(2) Após, clicar em Secrets;
(3) E por último em Generate/Import.
O nosso primeiro secret a ser criado será para acessa o servidor on premise de banco de dados.
(1) Em Upload options, deixar selecionado Manual;
(2) Em Name, vamos informar um nome para a secret;
(3) Em value, informaremos a senha propriamente dita;
(4) Em content type, uma descrição para a secret (Isso é bom importante pois em um momento de busca pode ajudar bastante, procure ser o mais claro possível);
(5) E para concluir, clicar em Create.
Mesma coisa para uma entrada para acessa o servidor de arquivos.
(1) Em Upload options, deixar selecionado Manual;
(2) Em Name, vamos informar um nome para a secret;
(3) Em value, informaremos a senha propriamente dita;
(4) Em content type, uma descrição para a secret (Isso é bom importante pois em um momento de busca pode ajudar bastante, procure ser o mais claro possível);
(5) E para concluir, clicar em Create.
Listando Secrets criadas
Pronto, configurações necessárias concluídas! Vamos partir agora para o nosso Azure Data Factory para apresentar como que fica.
Visualizando o conteúdo de uma Secret
Analisa comigo o seguinte cenário. Ocorreu um problema em um sistema e você precisa buscar qual a senha de acesso do servidor de banco de dados.
Por sorte nossa, essa senha está guardada dentro do nosso Azure Key Vault. Vamos visualizar como que buscamos essa informação.
Para esse exemplo, realizei a criação de uma secret. Acompanha aqui comigo.
Vamos listar as Secrets criadas em nosso cofre.
(1) Clicar na conta usrTesteDBAAssists.
(1) Vamos clicar sobre o Current Version.
Para identificar a senha, existem duas opções:
(1) Clicar em Show Secret Value;
(2) Ou no botão para copiar o valor.
E para esconder a senha, vamos fazer o seguinte passo:
(1) Clicar em Hide Secret Value;
Criando um Linked Service no Azure Data Factory usando Key Vault
Voltando ao nosso amigo Azure Data Factory, seguiremos os seguintes passos.
(1) Clicar no botão Monitor;
(2) Clicar em Linked Services;
(3) Clicar em New;
(4) Ao clicar em New, uma aba a sua direita será apresentada, na barra de pesquisa vamos digitar key e selecionar Azure Key Vault;
(5) Clicar em Azure Key Vault
Uma tela a direita será apresentada, vamos preencher as seguintes informações:
(1) Informar um nome para o Linked Service;
(2) Selecionar From Azure subscription;
(3) Selecionar a sua subscription;
(4) Selecionar o Key Vault criado;
(5) Clicar em Test connection para validar a configuração;
(6) Clicar em CREATE para sua criação.
Vamos seguir os passos abaixo para visualizar o nosso Linked Service criado.
(1) Clicar no botão Monitor;
(2) Clicar em Linked Services;
(3) Visualizar o Linked Service criado.
Linked Service com o Azure Key Vault configurado, agora vamos realizar a criação de outros dois: um para conectar com o Microsoft SQL Server On Premise e Servidor de Arquivo On Premise.
Vamos lá...
(1) Clicar no botão Monitor;
(2) Clicar em Linked Services;
(3) Clicar em New;
(4) Ao clicar em New, uma aba a sua direita será apresentada, na barra de pesquisa vamos digitar sql;
(5) Observe que várias opções serão apresentadas, vamos selecionar SQL Server;
Após selecionar SQL Server, uma tela será carregada a sua direita. Nessa tela vamos digitar as seguintes informações:
(1) Informar um nome para o Linked Service;
(2) Selecionar nossa IR pois estaremos acessando um servidor de banco de dados On Premise;
(3) Informar o nome do servidor;
(4) Informar o nome do banco de dados;
(5) Informar o método de autenticação;
(6) Informar o usuário do banco de dados;
(7) Selecionar Azure Key Vault e na combo selecionar o linked service referente ao Key Vault;
(8) Informar o nome da secret criada no Azure Key Vault que possui a senha dessa conta;
(9) Clicar em Test Connection para validar a conexão;
(10) Clicar em CREATE.
Muito bom, Linked Service para acesso ao banco de dados criado agora vamos realizar a criação do Linked Service para acessar o servidor de arquivos.
(1) Clicar no botão Monitor;
(2) Clicar em Linked Services;
(3) Clicar em New;
(4) Ao clicar em New, uma aba a sua direita será apresentada, na barra de pesquisa vamos digitar file;
(5) Observe que várias opções serão apresentadas, vamos selecionar File System;
É bem parecido com o outro.
Após selecionar File System, uma tela será carregada a sua direita. Nessa tela vamos digitar as seguintes informações:
(1) Informar um nome para o Linked Service;
(2) Selecionar nossa IR pois estaremos acessando um servidor de banco de dados On Premise;
(3) Informar o nome do servidor;
(4) Informar o usuário;
(5) Selecionar Azure Key Vault e na combo selecionar o linked service referente ao Key Vault;
(6) Informar o nome da secret criada no Azure Key Vault que possui a senha dessa conta;
(7) Clicar em Test Connection para validar a conexão;
(8) Clicar em CREATE.
Muito bem, linked services criados, vamos agora visualizar.
Podemos analisar na tela anterior que o linked service LS_KeyVault essa associado a dois itens.
Para poder verificar quais são as dependências, basta clicar no número da coluna Related que uma aba a sua direita será carregada.
Conclusão
Bem meu amigo concluímos aqui mais um post.
O Azure Key Vault é uma ferramenta de extrema importância dentro do Azure. Com ele conseguimos manter um grande controle sobre os acessos as nossos dados.
Além da parte da segurança, imagina você em um cenário onde você possui vários linked services que fazem a utilização de um mesmo usuário e por algum motivo você precisa realizar a alteração de senha.
Com o Azure Key Vault, sua alteração ficar restrita a apenas um lugar já quando você não possui um centralizador, você ira precisa realizar a alteração em diversos lugares.
Key Vault é um tema bastante sensível que deve ser bem aplicado para evitar ataques externos a sua empresa.