Introdução
Se você quiser entender o que pode dar errado ao gerenciar os segredos de configuração de um aplicativo, não procure mais do que a história de Steve, um desenvolvedor sênior.
Steve estava trabalhando em uma empresa de entrega de ração para animais de estimação por algumas semanas. Enquanto explorava os detalhes do aplicativo Web da empresa — um aplicativo Web .NET Core que usava um banco de dados SQL do Azure para armazenar informações de pedidos e APIs de terceiros para cobrança de cartão de crédito e mapeamento de endereços de clientes — Steve colou acidentalmente a cadeia de conexão do banco de dados de pedidos em um fórum público.
Dias depois, o departamento de contabilidade notou que a empresa estava entregando uma quantidade substancial de ração para animais de estimação que não foi paga. Alguém usou a cadeia de conexão para acessar o banco de dados e criar ordens atualizando o banco de dados diretamente.
Depois que Steve percebeu seu erro, ele mudou apressadamente a senha do banco de dados para bloquear o invasor. Depois que Steve alterou a senha, o site começou a retornar erros para os usuários. O servidor do aplicativo precisava de uma configuração atualizada com a nova senha. Steve iniciou sessão diretamente no servidor da aplicação e mudou a configuração da aplicação em vez de voltar a implementar, mas o servidor continuava a mostrar pedidos falhados.
Steve esqueceu que várias instâncias do aplicativo eram executadas em servidores diferentes. Ele só mudou a configuração para um. Foi necessário voltar a implementar tudo, causando mais 30 minutos de inatividade.
Felizmente para Steve, o departamento de contabilidade foi capaz de corrigir os erros rapidamente, e apenas um dia de pedidos foi afetado. Steve pode não ter tanta sorte no futuro, no entanto, e precisa encontrar uma maneira de melhorar a segurança e a capacidade de manutenção do aplicativo.
Se uma cadeia de conexão de banco de dados, chave de API ou senha de serviço for vazada, isso pode ser catastrófico. Um vazamento pode potencialmente levar a dados roubados ou excluídos, danos financeiros, tempo de inatividade do aplicativo e danos irreparáveis aos ativos e à reputação da empresa. Infelizmente, é frequente ter de se implementar valores secretos em múltiplos locais e em simultâneo, e alterá-los em alturas inoportunas. E têm de ser armazenados em algum lado! Veja como Steve pode reduzir o risco e melhorar a segurança e a capacidade de manutenção de seu aplicativo com o Azure Key Vault.
Objetivos de aprendizagem
Neste módulo, irá:
- Explorar que tipos de informações podem ser armazenados no Azure Key Vault.
- Criar um Azure Key Vault e utilizá-lo para armazenar valores de configuração secretos.
- Habilite o acesso seguro ao Cofre da Chave do Azure a partir de um aplicativo Web do Serviço de Aplicativo do Azure com identidades gerenciadas para recursos do Azure.
- Implemente um aplicativo Web que recupere segredos do Cofre da Chave do Azure.