Compartilhar via


Conectividade segura com os serviços e bancos de dados do Azure por meio do Serviço de Aplicativo do Azure

Talvez o serviço de aplicativo precise se conectar a outros serviços do Azure, como um banco de dados, um armazenamento ou outro aplicativo. Essa visão geral recomenda métodos diferentes para se conectar e quando usá-los.

Hoje, a decisão de uma abordagem de conectividade está intimamente relacionada ao gerenciamento de segredos. O padrão comum de uso de 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 atores de ameaça rastreiam regularmente os repositórios públicos do GitHub em busca de segredos de conexão acidentalmente confirmados. Para aplicativos de nuvem, o melhor gerenciamento de segredos é não ter segredos. Quando você migra para o Serviço de Aplicativo do Azure, seu aplicativo pode começar com a conectividade baseada em segredos e o Serviço de Aplicativo permite manter os segredos com segurança. No entanto, o Azure pode ajudar a proteger a conectividade de back-end do aplicativo por meio da autenticação do Microsoft Entra, que elimina completamente os segredos do seu aplicativo.

Método de conexão Quando usar
Conectar-se com uma identidade de aplicativo * Você deseja remover credenciais, chaves ou segredos completamente do seu aplicativo.
* O serviço downstream do Azure dá suporte à autenticação do Microsoft Entra, como o Microsoft Graph.
* O recurso downstream não precisa saber 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 precisa acessar um recurso downstream em nome do usuário conectado.
* O serviço downstream do Azure dá suporte à autenticação do Microsoft Entra, como o Microsoft Graph.
* O recurso downstream precisa realizar a autorização granular do usuário conectado atual.
Conectar-se usando segredos * O recurso downstream exige segredos de conexã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 dá suporte à autenticação do Microsoft Entra.

Conectar-se com uma identidade de aplicativo

Se o seu aplicativo já usa um só conjunto de credenciais para acessar um serviço downstream do Azure, 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 dê suporte à autenticação do Microsoft Entra, e a autenticação ocorre com tokens de curta duração.

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

  • A: O usuário visita o site do Serviço de Aplicativo do Azure.
  • B: ele se conecta com segurança no Serviço de Aplicativo a outro serviço do Azure usando a identidade gerenciada.
  • C: ele se conecta com segurança no 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 como usar segredos do aplicativo para se conectar a um banco de dados:

Conectar-se em nome do usuário conectado

Talvez seu aplicativo precise se conectar a um serviço downstream em nome do usuário conectado. O Serviço de Aplicativo permite autenticar com facilidade os usuários usando os provedores de identidade mais comuns (confira 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 do Microsoft Entra), poderá permitir 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 o cenário do tutorial.

Os dois cenários mais comuns são:

Conectar-se usando segredos

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

Usar segredos do Key Vault

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 do aplicativo. Se o serviço downstream do seu aplicativo não der suporte à autenticação do Microsoft Entra ou exigir uma cadeia de conexão ou chave, use o Key Vault para armazenar seus segredos e conectar seu aplicativo ao Key Vault com uma identidade gerenciada e recuperar os segredos. Seu aplicativo pode acessar os segredos do cofre de chaves como referências do Key Vault nas configurações de aplicativo.

Os benefícios das identidades gerenciadas integradas com o 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 têm acesso aos segredos do cofre de chaves.
  • Se o código do aplicativo já acessar segredos de conexão com as configurações do aplicativo, nenhuma alteração será necessária.
  • O Key Vault oferece monitoramento e auditoria de quem acessou os segredos.
  • A rotação de segredos do cofre de chaves não exige alterações no Serviço de Aplicativo.

A seguinte imagem demonstra o Serviço de Aplicativo se conectando ao Key Vault usando uma identidade gerenciada e acessando um serviço do Azure usando segredos armazenados no Key Vault:

Diagrama que mostra o serviço de aplicativo usando um segredo armazenado no Key Vault e gerenciado com uma identidade gerenciada para se conectar aos serviços de IA do Azure.

Usar segredos nas configurações do aplicativo

No caso de aplicativos que se conectam aos 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 de 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 ter um gerenciamento de segredos mais avançado, como rotação de segredos, políticas de acesso e histórico de auditoria, experimente usar o Key Vault.

Exemplos de como usar segredos do aplicativo para se conectar a um banco de dados:

Próximas etapas

Saiba como: