Melhores práticas para o gerenciamento de segredos no Key Vault
O Azure Key Vault permite armazenar credenciais de serviço ou aplicativo com segurança, como senhas e chaves de acesso como segredos. Todos os segredos em seu cofre de chaves são criptografados com uma chave de software. Ao usar um cofre de chaves, você não precisa mais armazenar informações de segurança em seus aplicativos. A falta de necessidade de armazenar informações de segurança em aplicativos elimina a necessidade de inserir essas informações como parte do código.
Exemplos de segredos que devem ser armazenados no Key Vault:
- Segredos de aplicativo cliente
- Cadeias de conexão
- Senhas
- Chaves de acesso (Cache Redis, Hubs de Eventos do Azure, Microsoft Azure Cosmos DB)
- Chaves SSH
Qualquer outra informação confidencial, como endereços IP, nomes de serviço e outras definições de configuração, deve ser armazenada na Configuração de Aplicativos do Azure, não no Key Vault.
Cada cofre de chaves individual define limites de segurança para segredos. Para um único cofre de chaves por aplicativo, por região, por ambiente, recomendamos fornecer isolamento granular de segredos para um aplicativo.
Para obter mais informações sobre as melhores práticas para o Key Vault, confira Práticas recomendadas para usar o Key Vault.
Configuração e armazenamento
Armazene as informações de credenciais necessárias para acessar o banco de dados ou serviço no valor secreto. No caso de credenciais compostas como nome de usuário/senha, elas podem ser armazenadas como uma cadeia de conexão ou um objeto JSON. Outras informações necessárias para o gerenciamento devem ser armazenadas em marcas, ou seja, a configuração de rotação.
Para obter mais informações sobre segredos, confira Sobre segredos do Azure Key Vault.
Rotação de segredos
Muitas vezes, os segredos são armazenados na memória do aplicativo como variáveis de ambiente ou parâmetros de configuração para todo o ciclo de vida do aplicativo, o que os torna sensíveis à exposição indesejada. Como os segredos são sensíveis ao vazamento ou à exposição, é importante girá-los com frequência, pelo menos a cada 60 dias.
Para obter mais informações sobre o processo de rotação de segredos, confira Automatizar a rotação de um segredo para recursos que têm dois conjuntos de credenciais de autenticação.
Acesso e isolamento de rede
Reduza a exposição de seus cofres especificando quais endereços IP têm acesso a eles. Configure o firewall para permitir que somente aplicativos e serviços relacionados acessem segredos no cofre para reduzir a capacidade de que os invasores acessem segredos.
Para obter mais informações sobre segurança de rede, confira Definir configurações de rede do Azure Key Vault.
Além disso, os aplicativos devem seguir o acesso com privilégios mínimos, tendo acesso somente à leitura dos segredos. O acesso aos segredos pode ser controlado com as políticas de acesso ou com o controle de acesso baseado em função do Azure.
Para obter mais informações sobre o controle de acesso no Azure Key Vault, consulte:
- Fornecer acesso a chaves, certificados e segredos do Key Vault com controle de acesso baseado em função do Azure
- Atribuir uma política de acesso do Key Vault
Limites de serviço e armazenamento em cache
O Key Vault foi criado originalmente com os limites especificados nos limites de serviço do Azure Key Vault. Para maximizar suas taxas de transferência, aqui estão duas melhores práticas:
- Armazenar em cache segredos no aplicativo por pelo menos oito horas.
- Implementar a lógica da repetição de retirada exponencial para controlar cenários quando os limites de serviço forem excedidos.
Para obter mais informações sobre orientação de limites, confira Diretrizes de limitação do Azure Key Vault.
Monitoramento
Para monitorar o acesso aos segredos e ao seu ciclo de vida, ative o registro em log do Key Vault. Use o Azure Monitor para monitorar todas as atividades de segredos em todos os cofres em um só lugar. Ou use a Grade de Eventos do Azure para monitorar o ciclo de vida dos segredos, pois ela tem fácil integração com Aplicativos Lógicos do Azure e Azure Functions.
Para obter mais informações, consulte:
- Azure Key Vault como uma fonte da Grade de Eventos
- Log do Azure Key Vault
- Monitoramento e alertas para o Azure Key Vault
Backup e proteção contra limpeza
Ative a proteção contra limpeza para proteger contra a exclusão mal-intencionada ou acidental dos segredos. Em cenários em que a proteção contra limpeza não é uma opção possível, recomendamos segredos de backup, que não podem ser recriados de outras fontes.