Ideias de soluções
Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.
Este artigo descreve uma solução para criar um aplicativo robusto e escalável em um ambiente distribuído. A solução usa a Configuração de Aplicativo do Azure e o Cofre da Chave do Azure para gerenciar e armazenar definições de configuração de aplicativos, sinalizadores de recursos e configurações de acesso seguro em um só lugar.
Arquitetura
Os diagramas a seguir mostram como a Configuração do Aplicativo e o Cofre da Chave podem trabalhar juntos para gerenciar e proteger aplicativos em ambientes de desenvolvimento e do Azure .
Ambiente de desenvolvimento
No ambiente de desenvolvimento, o aplicativo usa uma identidade via Visual Studio ou versão 2.0 da CLI do Azure para entrar e enviar uma solicitação de autenticação para o Microsoft Entra ID.
Baixe um arquivo Visio desta arquitetura.
Ambiente de preparação ou produção do Azure
Os ambientes de preparação e produção do Azure usam uma identidade gerenciada para entrada e autenticação.
Baixe um arquivo Visio desta arquitetura.
Fluxo de dados
- O aplicativo envia uma solicitação de autenticação durante a depuração no Visual Studio ou autentica por meio do MSI no Azure.
- Após a autenticação bem-sucedida, o Microsoft Entra ID retorna um token de acesso.
- O SDK de Configuração do Aplicativo envia uma solicitação com o token de acesso para ler o valor secretURI do Cofre da Chave de Configuração do Aplicativo do aplicativo para o cofre de chaves do aplicativo.
- Após a autorização bem-sucedida, a Configuração do Aplicativo envia o valor de configuração.
- Utilizando a identidade de login, o aplicativo envia uma solicitação ao Cofre da Chave para recuperar o segredo do aplicativo para o secretURI que a Configuração do Aplicativo enviou.
- Após a autorização bem-sucedida, o Cofre da Chave retorna o valor secreto.
Componentes
- O Microsoft Entra ID é uma plataforma universal para gerenciar e proteger identidades.
- A Configuração de Aplicativo fornece uma maneira de armazenar configurações para todos os seus aplicativos do Azure em um local universal hospedado.
- As identidades gerenciadas fornecem uma identidade para os aplicativos usarem ao se conectarem a recursos que oferecem suporte à autenticação do Microsoft Entra.
- O Cofre de Chaves protege chaves criptográficas e outros segredos que são usados por aplicativos e serviços na nuvem.
Detalhes do cenário
Os aplicativos baseados em nuvem geralmente são executados em várias máquinas virtuais ou contêineres em várias regiões e usam vários serviços externos. Criar um aplicativo robusto e escalável em um ambiente distribuído apresenta um desafio significativo.
Usando a Configuração do aplicativo, você pode gerenciar e armazenar todas as definições de configuração do seu aplicativo, sinalizadores de recursos e configurações de acesso seguro em um só lugar. A Configuração do Aplicativo funciona perfeitamente com o Cofre de Chaves, que armazena senhas, chaves e segredos para acesso seguro.
Potenciais casos de utilização
Qualquer aplicativo pode usar a Configuração do Aplicativo, mas os seguintes tipos de aplicativos são os que mais se beneficiam dela:
- Microsserviços em execução no Serviço Kubernetes do Azure (AKS) ou em outros aplicativos em contêineres implantados em uma ou mais regiões.
- Aplicativos sem servidor, que incluem o Azure Functions ou outros aplicativos de computação sem estado controlados por eventos.
- Aplicativos que usam um pipeline de implantação contínua (CD).
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
É melhor usar um cofre de chaves diferente para cada aplicativo em cada ambiente: desenvolvimento, pré-produção do Azure e produção do Azure. O uso de cofres diferentes ajuda a evitar o compartilhamento de segredos entre ambientes e reduz as ameaças em caso de violação.
Para usar esses cenários, a identidade de entrada deve ter a função Leitor de Dados de Configuração do Aplicativo no recurso Configuração do Aplicativo e ter políticas de acesso explícitas para recuperar os segredos no Cofre da Chave.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Sowmyan Soman - Brasil | Arquiteto Principal de Soluções na Nuvem
Próximos passos
Saiba mais sobre as tecnologias de componentes:
- Configuração do Aplicativo do Azure
- Azure Key Vault
- Usar referências do Cofre da Chave para o Serviço de Aplicativo e o Azure Functions
- Usar identidades gerenciadas para acessar a Configuração do Aplicativo
- Desenvolvimento local e segurança