Configurando o Azure Key Vault no Node.js

Hoje vou falar um pouco sobre segurança de informações sensíveis no Azure (usuários, senhas, chaves, connection string, etc) e unificação das variáveis das aplicações do Azure.

Um dos maiores desafios é centralizar com segurança as informações das aplicações e controlar o acesso de distribuição. Para isso utilizaremos o Azure Key Valt que utilizado no gerenciamento de segredos, chaves e certificados, tudo isso com controle de permissões e histórico de modificações.

Proteger o gerenciamento de chaves é fundamental para proteger os dados na nuvem. Use o Azure Key Vault para criptografar chaves e pequenos segredos, como senhas, que usam chaves armazenadas em HSMs (módulos de segurança de hardware). Para obter maior garantia, importe ou gere chaves em HSMs e a Microsoft processará suas chaves em HSMs FIPS 140–2 de nível 2 validados (hardware e firmware). Com o Key Vault, a Microsoft não pode ver nem extrair as suas chaves. Execute o monitoramento e a auditoria do uso das suas chaves com o registro em log do Azure. Redirecione logs no Azure HDInsight ou em sua solução SIEM (gerenciamento de eventos e de informações de segurança) para obter mais análises e detecções de ameaças.

https://azure.microsoft.com/pt-br/services/key-vault

Agenda

  1. Criar um usuário no Azure Active Directory para leitura do Key Vault.
  2. Configurar o Access Policy para o usuário AD ter apenas a permissão de leitura.
  3. Criar um novo Secret no Azure Key Vault.
  4. Criar o código em Node.js para leitura de chave no Azure Key Vault.

1.1 — Abra o Azure Active Directory.

1.2 — Clique em App Registrations.

1.3 — Em New application registration, digite o nome, selecione o tipo para Web app / API e insira Sign-on URL de exemplo.

1.4 — Com o app registrado, clique em Keys para gerar a chave de acesso que será utilizada com o Application ID.

1.5 — Ao configurar a chave e salvar, é exibido o secret que será utilizado com o Application ID para leitura no Key Vault.

2.1 — Com o Azure Key Vault criado, clique em Access Policy e insira uma nova policy com acesso apenas Get no Secret.

3.1 — Com a Policy configurada, crie um novo secret com o nome ChaveTeste e insira o valor “123456”

4.1 — Crie um novo projeto em Node.js no VS Code e inclua os dois require para autenticação e leitura do key vault.

4.2 — Inclua o código de autenticação no Azure KeyVault utilizando o ClientID e ClienteSecret do passo “1.4” para obter o secret de exemplo:

4.3 — Testando

Pronto, agora é possível ter o controle de suas chaves em um cofre no Azure, com total controle de segurança e histórico de modificações.

O exemplo final do código você confere aqui: https://github.com/hgmauri/sample-azurekeyvault

Deixe uma resposta