Partilhar via


Conectividade segura com serviços e bancos de dados do Azure a partir do Serviço de Aplicativo do Azure

Seu serviço de aplicativo pode precisar se conectar a outros serviços do Azure, como um banco de dados, armazenamento ou outro aplicativo. Esta visão geral recomenda diferentes métodos de conexão e quando usá-los.

Hoje, a decisão por uma abordagem de conectividade está intimamente relacionada ao gerenciamento de segredos. O padrão comum de usar segredos de conexão em cadeias de conexão, como nome de usuário e senha, chave secreta, etc., não é mais considerado a abordagem mais segura para conectividade. O risco é ainda maior hoje porque os agentes de ameaças rastreiam regularmente repositórios públicos do GitHub em busca de segredos de conexão cometidos acidentalmente. Para aplicações na nuvem, a melhor gestão de segredos é não ter segredos nenhuns. Quando você migra para o Serviço de Aplicativo do Azure, seu aplicativo pode começar com conectividade baseada em segredos, e o Serviço de Aplicativo permite que você mantenha segredos com segurança. No entanto, o Azure pode ajudar a proteger a conectividade back-end do seu aplicativo por meio da autenticação Microsoft Entra, que elimina completamente os segredos em seu aplicativo.

Método de ligação Quando utilizar o
Conecte-se com uma identidade de aplicativo * Você deseja remover credenciais, chaves ou segredos completamente do seu aplicativo.
* O serviço downstream do Azure suporta a autenticação Microsoft Entra, como o Microsoft Graph.
* O recurso downstream não precisa conhecer o usuário conectado atual ou não precisa de autorização granular do usuário conectado atual.
Conectar-se em nome do usuário conectado * O aplicativo deve acessar um recurso downstream em nome do usuário conectado.
* O serviço downstream do Azure suporta a autenticação Microsoft Entra, como o Microsoft Graph.
* O recurso downstream deve executar a autorização granular do usuário conectado atual.
Conecte-se usando segredos * O recurso a jusante requer segredos de ligação.
* Seu aplicativo se conecta a serviços que não são do Azure, como um servidor de banco de dados local.
* O serviço downstream do Azure ainda não suporta a autenticação Microsoft Entra.

Conecte-se com uma identidade de aplicativo

Se seu aplicativo já usa um único conjunto de credenciais para acessar um serviço do Azure downstream, você pode converter rapidamente a conexão para usar uma identidade de aplicativo. Uma identidade gerenciada do Microsoft Entra ID permite que o Serviço de Aplicativo acesse recursos sem segredos e você pode gerenciar seu acesso por meio do RBAC (controle de acesso baseado em função). Uma identidade gerenciada pode se conectar a qualquer recurso do Azure que ofereça suporte à autenticação do Microsoft Entra e a autenticação ocorre com tokens de curta duração.

A imagem a seguir demonstra o seguinte: um Serviço de Aplicativo se conectando a outros serviços do Azure:

  • R: O usuário visita o site do serviço de aplicativo do Azure.
  • B: Conecte-se com segurança do Serviço de Aplicativo a outro serviço do Azure usando uma identidade gerenciada.
  • C: Conecte-se com segurança do Serviço de Aplicativo ao Microsoft Graph usando uma identidade gerenciada.

Diagrama mostrando a identidade gerenciada acessando um recurso com ou sem a identidade do usuário.

Exemplos de uso de segredos de aplicativo para se conectar a um banco de dados:

Conectar-se em nome do usuário conectado

Seu aplicativo pode precisar se conectar a um serviço downstream em nome do usuário conectado. O Serviço de Aplicativo permite que você autentique facilmente usuários usando os provedores de identidade mais comuns (consulte Autenticação e autorização no Serviço de Aplicativo do Azure e no Azure Functions). Se você usar o provedor da Microsoft (autenticação Microsoft Entra), poderá fazer o fluxo do usuário conectado para qualquer serviço downstream. Por exemplo:

  • Execute uma consulta de banco de dados que retorna dados confidenciais que o usuário conectado está autorizado a ler.
  • Recupere dados pessoais ou execute ações como o usuário conectado no Microsoft Graph.

A imagem a seguir demonstra um aplicativo acessando com segurança um banco de dados SQL em nome do usuário conectado.

Diagrama de arquitetura para cenário tutorial.

Alguns cenários comuns são:

Conecte-se usando segredos

Há duas maneiras recomendadas de usar segredos em seu aplicativo: usando segredos armazenados no Cofre da Chave do Azure ou segredos nas configurações do aplicativo do Serviço de Aplicativo.

Usar segredos do Cofre da Chave

O Azure Key Vault pode ser usado para armazenar segredos e chaves com segurança, monitorar o acesso e o uso de segredos e simplificar a administração de segredos de aplicativos. Se o serviço downstream não suportar a autenticação do Microsoft Entra ou exigir uma cadeia de conexão ou chave, use o Cofre da Chave para armazenar seus segredos e conectar seu aplicativo ao Cofre da Chave com uma identidade gerenciada e recuperar os segredos. Seu aplicativo pode acessar os segredos do cofre principal como referências do Cofre da Chave nas configurações do aplicativo.

Os benefícios das identidades gerenciadas integradas ao Key Vault incluem:

  • O acesso ao segredo do cofre de chaves é restrito ao aplicativo.
  • Os colaboradores do aplicativo, como administradores, podem ter controle total dos recursos do Serviço de Aplicativo e, ao mesmo tempo, não ter acesso aos segredos do cofre de chaves.
  • Nenhuma alteração de código será necessária se o código do aplicativo já acessar segredos de conexão com as configurações do aplicativo.
  • O Key Vault fornece monitoramento e auditoria de quem acessou segredos.
  • A rotação dos segredos do cofre de chaves não requer alterações no Serviço de Aplicativo.

A imagem a seguir demonstra o Serviço de Aplicativo se conectando ao Cofre da Chave usando uma identidade gerenciada e, em seguida, acessando um serviço do Azure usando segredos armazenados no Cofre da Chave:

Diagrama mostrando o serviço de aplicativo usando um segredo armazenado no Cofre da Chave e gerenciado com identidade gerenciada para se conectar aos serviços de IA do Azure.

Usar segredos nas configurações do aplicativo

Para aplicativos que se conectam a serviços usando segredos (como nomes de usuário, senhas e chaves de API), o Serviço de Aplicativo pode armazená-los com segurança nas configurações do aplicativo. Esses segredos são injetados no código do aplicativo como variáveis de ambiente na inicialização do aplicativo. As configurações do aplicativo são sempre criptografadas quando armazenadas (criptografadas em repouso). Para um gerenciamento de segredos mais avançado, como rotação de segredos, políticas de acesso e histórico de auditoria, tente usar o Cofre de Chaves.

Exemplos de uso de segredos de aplicativo para se conectar a um banco de dados:

Próximos passos

Aprenda a: