Partilhar via


ID do Microsoft Entra e autenticação do PostgreSQL com o Azure Cosmos DB para PostgreSQL

APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)

O Azure Cosmos DB para PostgreSQL suporta autenticação e integração do PostgreSQL com o Microsoft Entra ID. Cada cluster do Azure Cosmos DB para PostgreSQL é criado com a autenticação PostgreSQL nativa habilitada e uma função interna do PostgreSQL chamada citus. Você pode adicionar mais funções PostgreSQL nativas após a conclusão do provisionamento de cluster.

Você também pode habilitar a autenticação do Microsoft Entra ID (anteriormente Azure Ative Directory) em um cluster além do método de autenticação PostgreSQL ou em vez dele. Você pode configurar métodos de autenticação em cada cluster do Azure Cosmos DB para PostgreSQL independentemente. Se precisar alterar o método de autenticação, você poderá fazê-lo a qualquer momento após a conclusão do provisionamento do cluster. A alteração dos métodos de autenticação não requer a reinicialização do cluster.

Autenticação PostgreSQL

O mecanismo PostgreSQL usa funções para controlar o acesso a objetos de banco de dados. Um cluster do Azure Cosmos DB para PostgreSQL recém-criado vem com várias funções predefinidas:

Como o Azure Cosmos DB para PostgreSQL é um serviço PaaS gerenciado, somente a Microsoft pode entrar com a postgres função de superusuário. Para acesso administrativo limitado, o Azure Cosmos DB para PostgreSQL fornece a citus função.

O serviço gerenciado precisa replicar todas as funções PostgreSQL para todos os nós em um cluster. Para facilitar esse requisito, todas as outras funções do PostgreSQL precisam ser criadas usando o Azure Cosmos DB para recursos de gerenciamento do PostgreSQL.

O papel do Citus

Permissões para a citus função:

  • Leia todas as variáveis de configuração, mesmo as variáveis normalmente visíveis apenas para superusuários.
  • Leia todas as visualizações pg_stat_* e use várias extensões relacionadas a estatísticas - até mesmo visualizações ou extensões normalmente visíveis apenas para superusuários.
  • Execute funções de monitoramento que podem ter bloqueios ACCESS SHARE em tabelas, potencialmente por um longo tempo.
  • Crie extensões PostgreSQL.

Notavelmente, o citus papel tem algumas restrições:

  • Não é possível criar funções
  • Não é possível criar bancos de dados

citus função não pode ser excluída, mas será desabilitada se o método de autenticação 'Microsoft Entra ID only' for selecionado no cluster.

Autenticação do Microsoft Entra ID

A autenticação do Microsoft Entra ID (anteriormente Azure Ative Directory) é um mecanismo de conexão com o Azure Cosmos DB para PostgreSQL usando identidades definidas no Microsoft Entra ID. Com a autenticação do Microsoft Entra ID, você pode gerenciar identidades de usuário do banco de dados e outros serviços da Microsoft em um local central, o que simplifica o gerenciamento de permissões.

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

  • Autenticação de usuários nos Serviços do Azure de maneira uniforme
  • Gerenciamento de políticas de senhas e rotação de senhas em um único lugar
  • Várias formas de autenticação suportadas pelo Microsoft Entra ID, que podem eliminar a necessidade de armazenar senhas
  • A autenticação de ID do Microsoft Entra usa funções de banco de dados PostgreSQL para autenticar identidades no nível do banco de dados
  • Suporte de autenticação baseada em token para aplicativos que se conectam ao Azure Cosmos DB para PostgreSQL

Gerenciar o acesso ao PostgreSQL para entidades de ID do Microsoft Entra

Quando a autenticação do Microsoft Entra ID está habilitada e a entidade de ID do Microsoft Entra é adicionada como um administrador do Microsoft Entra ID, a conta obtém os mesmos privilégios que a citus função. O início de sessão do administrador do Microsoft Entra ID pode ser um utilizador do Microsoft Entra ID, uma entidade de serviço ou uma identidade gerida. Vários administradores de ID do Microsoft Entra podem ser configurados a qualquer momento e, opcionalmente, você pode desabilitar a autenticação PostgreSQL (senha) no cluster do Azure Cosmos DB para PostgreSQL para melhores necessidades de auditoria e conformidade.

Além disso, qualquer número de funções não administrativas do Microsoft Entra ID pode ser adicionada a um cluster a qualquer momento assim que a autenticação do Microsoft Entra ID estiver habilitada. As permissões de banco de dados para funções não administrativas do Microsoft Entra ID são gerenciadas de forma semelhante às funções regulares.

Conectar-se usando identidades de ID do Microsoft Entra

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

  • Senha do Microsoft Entra ID
  • Microsoft Entra ID integrado
  • Microsoft Entra ID Universal com MFA
  • Usando certificados de aplicativo do Microsoft Entra ID ou segredos de cliente
  • Identidade Gerida

Depois de autenticado com a ID do Microsoft Entra, você recupera um token. Este token é a sua palavra-passe para iniciar sessão.

Outras considerações

  • Várias entidades de ID do Microsoft Entra (um usuário, entidade de serviço ou identidade gerenciada) podem ser configuradas como administrador de ID do Microsoft Entra para um cluster do Azure Cosmos DB para PostgreSQL a qualquer momento.
  • Se uma entidade de ID do Microsoft Entra for excluída do serviço de ID do Microsoft Entra, ela ainda permanecerá como uma função PostgreSQL no cluster, mas não poderá mais adquirir um novo token de acesso. Nesse caso, embora a função correspondente ainda exista no banco de dados Postgres, ela não pode se autenticar nos nós do cluster. Os administradores de banco de dados precisam transferir a propriedade e descartar essas funções manualmente.

Nota

O login com o usuário excluído do Microsoft Entra ID ainda pode ser feito até que o token expire (até 90 minutos a partir da emissão do token). Se você também remover o usuário do cluster do Azure Cosmos DB para PostgreSQL, esse acesso será revogado imediatamente.

  • O Azure Cosmos DB para PostgreSQL corresponde aos tokens de acesso à função de banco de dados usando a ID de usuário exclusiva do Microsoft Entra ID do usuário, em vez de usar o nome de usuário. Se um usuário do Microsoft Entra ID for excluído e um novo usuário for criado com o mesmo nome, o Azure Cosmos DB para PostgreSQL considerará que um usuário diferente. Portanto, se um usuário for excluído do Microsoft Entra ID e um novo usuário for adicionado com o mesmo nome, o novo usuário não poderá se conectar com a função existente.

Próximos passos