Use o Microsoft Entra ID para autenticação com o PostgreSQL

APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL – Servidor Único está prestes a ser desativado. É altamente recomendável atualizar para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível. Para obter mais informações sobre a migração para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível, veja O que está acontecendo com o Banco de Dados do Azure para PostgreSQL Servidor único?.

A autenticação do Microsoft Entra ID é um mecanismo de conexão com o Banco de Dados do Azure para PostgreSQL que usa identidades definidas no Microsoft Entra ID. Com a autenticação do Microsoft Entra, você pode gerenciar as identidades de usuários do banco de dados e outros serviços da Microsoft em uma só localização central, o que simplifica o gerenciamento de permissões.

Os benefícios de usar o Microsoft Entra ID incluem:

  • Autenticação de usuários em Serviços do Azure de forma uniforme
  • Gerenciamento de políticas de senha e rotação de senhas em um único local
  • Várias formas de autenticação com suporte do Microsoft Entra ID, o que pode eliminar a necessidade de armazenar senhas
  • Os clientes podem gerenciar permissões de banco de dados usando grupos externos (Microsoft Entra ID).
  • A autenticação do Microsoft Entra usa funções de banco de dados PostgreSQL para autenticar as identidades no banco de dados
  • Suporte de autenticação baseada em token em aplicativos que se conectam ao Banco de Dados do Azure para PostgreSQL

Para configurar e usar a autenticação do Microsoft Entra, use o seguinte processo:

  1. Crie e preencha o Microsoft Entra ID com as identidades do usuário, conforme necessário.
  2. Opcionalmente, associe ou altere o Active Directory que está associado atualmente à sua assinatura do Azure.
  3. Crie um administrador do Microsoft Entra para o servidor do Banco de Dados do Azure para PostgreSQL.
  4. Crie usuários de banco de dados no seu banco de dados mapeados para as identidades do Microsoft Entra.
  5. Conecte-se ao seu banco de dados recuperando um token para uma identidade do Microsoft Entra e fazendo login.

Observação

Para saber como criar e preencher o Microsoft Entra ID e, a seguir, configurar o Microsoft Entra ID com o Banco de Dados do Azure para PostgreSQL, confira Configurar e fazer login com o Microsoft Entra ID para o Banco de Dados do Azure para PostgreSQL.

Arquitetura

O diagrama de alto nível a seguir resume como a autenticação funciona usando a autenticação do Microsoft Entra com o Banco de Dados do Azure para PostgreSQL. As setas indicam caminhos para comunicação.

fluxo de autenticação

Estrutura do administrador

Ao usar a autenticação do Microsoft Entra, você terá duas contas de Administrador para o servidor PostgreSQL: o administrador original do PostgreSQL e o administrador do Microsoft Entra. Somente o administrador com base em uma conta do Microsoft Entra ID pode criar o primeiro usuário de banco de dados independente do Microsoft Entra ID em um banco de dados de usuário. O logon do administrador do Microsoft Entra pode ser um usuário do Microsoft Entra ou um grupo do Microsoft Entra. Quando o administrador for uma conta de grupo, poderá ser usado por qualquer membro do grupo, permitindo diversos administradores do Microsoft Entra para o servidor PostgreSQL. Usar uma conta de grupo como um administrador aumenta a capacidade de gerenciamento ao permitir que você adicione e remova membros do grupo no Microsoft Entra centralmente, sem alterar os usuários ou permissões no servidor PostgreSQL. Somente um administrador do Microsoft Entra (um usuário ou grupo) pode ser configurado por vez, a qualquer momento.

estrutura de administrador

Observação

Uma Entidade de Serviço ou Identidade Gerenciada não podem atuar como um administrador do Microsoft Entra totalmente funcional no Servidor Único, e essa limitação foi corrigida no nosso Servidor Flexível

Permissões

Para criar novos usuários que podem se autenticar com o Microsoft Entra ID, você precisa ter a função de azure_ad_admin no banco de dados. Essa função é atribuída ao configurar a conta de Administrador do Microsoft Entra para um servidor específico do Banco de Dados do Azure para PostgreSQL.

Para criar um novo usuário de banco de dados do Microsoft Entra, você precisa se conectar como o administrador do Microsoft Entra. Isso é demonstrado em Configurar e fazer login com o Microsoft Entra ID para Banco de Dados do Azure para PostgreSQL.

Qualquer autenticação do Microsoft Entra só será possível se o administrador do Microsoft Entra tiver sido criado para o Banco de Dados do Azure para PostgreSQL. Se o administrador do Microsoft Entra tiver sido removido do servidor, os usuários existentes do Microsoft Entra criados anteriormente não poderão mais se conectar ao banco de dados usando as respectivas credenciais do Microsoft Entra.

Como se conectar usando as identidades do Microsoft Entra

A autenticação do Microsoft Entra ID dá suporte aos seguintes métodos de conexão a um banco de dados usando identidades do Microsoft Entra ID:

  • Senha do Microsoft Entra
  • Microsoft Entra integrado
  • Microsoft Entra Universal com MFA
  • Usar certificados de aplicativos do Active Directory ou segredos de cliente
  • Identidade gerenciada

Depois de estar autenticado no Active Directory, você recuperará um token. Esse token é sua senha para entrar.

Observe que, neste momento, as operações de gerenciamento, como adicionar novos usuários, têm suporte apenas para funções de usuário do Microsoft Entra.

Observação

Para obter mais detalhes sobre como se conectar com um token do Active Directory, confira Configurar e fazer login com o Microsoft Entra ID para Banco de Dados do Azure para PostgreSQL.

Considerações adicionais

  • Para aumentar a capacidade de gerenciamento, é recomendável que você provisione um grupo dedicado do Microsoft Entra como administrador.
  • Somente um administrador do Microsoft Entra (um usuário ou um grupo) pode ser configurado para um servidor do Banco de Dados do Azure para PostgreSQL a qualquer momento.
  • Somente um administrador do Microsoft Entra para PostgreSQL pode, inicialmente, se conectar ao Banco de Dados do Azure para PostgreSQL usando uma conta do Microsoft Entra. O administrador do Active Directory pode configurar os próximos usuários do banco de dados do Microsoft Entra.
  • Se um usuário for excluído do Microsoft Entra ID, esse usuário não poderá mais se autenticar com o Microsoft Entra ID e, portanto, não será mais possível adquirir um token de acesso para esse usuário. Nesse caso, embora a função correspondente ainda esteja no banco de dados, não será possível se conectar ao servidor com essa função.

Observação

Ainda será possível fazer login com o usuário do Microsoft Entra excluído até a expiração do token (até 60 minutos após a emissão do token). Se você também remover o usuário do Banco de Dados do Azure para PostgreSQL, esse acesso será revogado imediatamente.

  • Se o administrador do Microsoft Entra for removido do servidor, o servidor não estará mais associado a um locatário do Microsoft Entra e, portanto, todos os logins do Microsoft Entra serão desabilitados para o servidor. O acréscimo de um novo administrador do Microsoft Entra do mesmo locatário habilitará novamente os logins do Microsoft Entra.
  • O Banco de Dados do Azure para PostgreSQL equipara os tokens de acesso à função do Banco de Dados do Azure para PostgreSQL que estiver usando a ID de usuário exclusiva do usuário do Microsoft Entra, em vez do nome de usuário. Isso significa que, se um usuário do Microsoft Entra for excluído no Microsoft Entra ID e um novo usuário for criado com o mesmo nome, o Banco de Dados do Azure para PostgreSQL irá considerá-lo um usuário diferente. Portanto, se um usuário for excluído do Microsoft Entra ID e um novo usuário com o mesmo nome for adicionado, o novo usuário não conseguirá se conectar com a função existente. Para permitir isso, o administrador do Microsoft Entra do Banco de Dados do Azure para PostgreSQL precisará revogar e, em seguida, conceder a função "azure_ad_user" ao usuário para atualizar a ID de usuário do Microsoft Entra.

Próximas etapas