Introdução
Caso queira entender o que pode dar errado com o gerenciamento de segredos de configuração de um aplicativo, basta ler a história de Steve, um desenvolvedor sênior.
Steve estava trabalhando em uma empresa de entrega de comida para animais de estimação por algumas semanas. Enquanto estava explorando detalhes do aplicativo Web da empresa — um aplicativo Web do .NET Core que usava um banco de dados SQL do Azure para armazenar informações de pedidos e APIs de terceiros para a cobrança de cartão de crédito e o mapeamento de endereços de clientes —, Fábio colou a cadeia de conexão do banco de dados de pedidos em um fórum público por engano.
Dias depois, o departamento contábil notou que a empresa estava entregando muita comida para animais de estimação que não havia sido paga. Alguém usou a cadeia de conexão para acessar o banco de dados e criar pedidos atualizando o banco de dados diretamente.
Depois que Steve percebeu seu erro, ele rapidamente alterou a senha do banco de dados para bloquear o invasor. Depois que Steve alterou a senha, o site começou a retornar erros aos usuários. O servidor de aplicativos precisava de uma configuração atualizada com a nova senha. Steve se conectou diretamente ao servidor de aplicativos e alterou a configuração do aplicativo, em vez de executar uma reimplantação. No entanto, o servidor ainda mostrava solicitações com falha.
Steve esqueceu que várias instâncias do aplicativo foram executadas em servidores diferentes. Ele só mudou a configuração para um. Era necessária uma reimplantação completa, causando outros 30 minutos de tempo de inatividade.
Felizmente, para Steve, o departamento de contabilidade foi capaz de corrigir os erros rapidamente, e apenas um dia dos pedidos foi afetado. No entanto, Steve pode não ter tanta sorte no futuro e precisa encontrar uma maneira de melhorar a segurança e a manutenção do aplicativo.
O vazamento de uma cadeia de conexão de banco de dados, da chave de API ou da senha de serviço pode ser catastrófico. Os possíveis resultados incluem: roubo ou exclusão de dados, prejuízo financeiro, tempo de inatividade do aplicativo, além de danos irreparáveis aos ativos e à reputação da empresa. Infelizmente, os valores secretos costumam precisar ser implantados simultaneamente em vários lugares e alterados em momentos inoportunos. E é necessário armazená-los em algum lugar! Veja como Steve pode reduzir o risco e melhorar a segurança e a manutenção de seu aplicativo com o Azure Key Vault.
Objetivos de aprendizagem
Neste módulo, você vai:
- Explorar quais tipos de informações podem ser armazenados no Azure Key Vault
- Criar um Azure Key Vault e usá-lo para armazenar valores secretos de configuração
- Habilitar um acesso seguro ao Azure Key Vault de um aplicativo Web do Serviço de Aplicativo do Azure usando identidades gerenciadas para recursos do Azure
- Implementar um aplicativo Web que recupera segredos do Azure Key Vaul