Sitemap

Se você ainda armazena segredos no appsettings.json, está na hora de parar!

4 min readSep 22, 2025
Se você ainda armazena segredos no appsettings.json, está na hora de parar!

Vários serviços de nuvem oferecem serviços para armazenar com maior segurança suas chaves e deixá-las longe do seu código, facilitando assim uma maior segurança até para que a equipe toda de devs não tenha acesso às chaves de produção.

As boas práticas prezam para que não sejam colocadas chaves de produção em repositórios de código (Github) e nem sejam disponíveis para desenvolvedores manipularem.

O que eu devo retirar do appsettings?

Os nomes de segredo não precisam ser considerados especialmente secretos em si. Você poderá armazená-los na configuração do aplicativo se a implementação exigir isso. O mesmo se aplica aos nomes de cofre e às URLs.

Mas as chaves de proteção, não devem serem mantidas em um arquivo, vimos que vazamentos no github tem sido recorrentes (caso recente), e isso implica em riscos de segurança e eventuais custos também.

Então como se proteger? Os serviços de nuvem possuem cofres de chaves que podem armazenar os segredos e assim mantê-los numa zona segura, longe de invasores.

Na nuvem Azure temos o Azure Key Vault, na Aws temos o Aws Secret Manager, além de outros (ver nas referências ao final).

Azure Key Vault

Press enter or click to view image in full size
Azure Key Vault

O Azure Key Vault é um repositório de segredos: um serviço de nuvem centralizado para armazenar segredos do aplicativo, como valores de configuração como senhas e cadeias de conexão devem permanecer sempre em segurança. O Key Vault ajuda você a controlar os segredos dos aplicativos mantendo-os em um único local central. Ele fornece acesso seguro, controle de permissões e log de acesso.

Os principais benefícios do uso do Key Vault são:

  • Separação de informações confidenciais do aplicativo de outras configurações e código, o que reduz o risco de vazamentos acidentais.
  • Um acesso restrito aos segredos com políticas de acesso adaptadas aos aplicativos e aos indivíduos que precisam deles.
  • Armazenamento de segredo centralizado, o que significa que as alterações necessárias só precisam ser feitas em um único lugar.
  • Log e monitoramento do acesso para ajudar você a entender como e quando os segredos são acessados.

Como inserir valores no cofre?

Qualquer interface administrativa do Azure, incluindo o portal do Azure, CLI do Azure e o Azure PowerShell pode ser utilizada para gerenciar segredos.

Através do CLI do Azure

comando para setar um valor via código no azure key vault

Ou diretamente pela interface do Azure acessando o Key Vault

Press enter or click to view image in full size

Clicando no botão “+” Gerar/importar, você pode inserir pela tela

Press enter or click to view image in full size

E depois para acessar?

Temos duas formas para acessar

  • Na inicialização: a configuração é lida quando a aplicação inicia e fica carregada no config da mesma forma com a qual fazemos carretamento do appsettings.
Press enter or click to view image in full size
leitura de azure key vault na inicialização
  • Durante a execução, fazendo a leitura da chave em tempo real, caso a aplicação não possa ser reinicializada ela irá no exemplo abaixo ler o valor que está naquele momento no Azure Key Vault.
Press enter or click to view image in full size

Importante

O Key Vault foi projetado para armazenar segredos de configuração para aplicativos do servidor. Ele não se destina a armazenar dados pertencentes aos usuários do aplicativo. Ele não deve ser usado na parte do lado do cliente de um aplicativo. Esse comportamento é refletido em suas características de desempenho, API e modelo de custo.

Os dados de usuário devem ser armazenados em outro lugar, como em um Banco de Dados SQL do Azure com a Transparent Data Encryption ou em uma conta de armazenamento com a Criptografia do Serviço de Armazenamento. Os segredos que seu aplicativo usa para acessar esses repositórios de dados podem ser mantidos no Key Vault.

--

--

Marcio Nizzola
Marcio Nizzola

Written by Marcio Nizzola

Microsoft MVP | Master Software Architect na CI&T | Prof. da Etec Itu | Membro Fundador da Comunidade Itu Developers.

No responses yet