Sobre o gerenciamento de usuários do banco de dados no AlloyDB para PostgreSQL

Esta página fornece uma visão geral sobre como gerenciar usuários do banco de dados no AlloyDB para PostgreSQL e ativar a autenticação do Identity and Access Management (IAM) para esses usuários.

Como funciona o gerenciamento de usuários do banco de dados

O AlloyDB compartilha os mesmos conceitos de papéis, usuários e grupos do PostgreSQL. Para uma breve explicação, consulte as seguintes descrições:

  • Função: designação de nível superior que descreve usuários e grupos de usuários de banco de dados em um cluster. As funções fornecem e restringem o acesso a objetos de banco de dados, como tabelas e funções.

  • Usuário: função que recebe o atributo LOGIN. Os usuários podem fazer a autenticação e fazer login nos clusters de banco de dados do AlloyDB.

  • Grupo: função concedida a um ou mais usuários. O objetivo dos grupos é controlar os privilégios que muitos usuários têm como um todo.

Como funciona a autenticação de banco de dados

Para autenticar e fazer login nos clusters de banco de dados do AlloyDB, você tem duas opções:

  • Autenticação padrão do PostgreSQL baseada em senha: verifica a identidade do usuário comparando as credenciais fornecidas com as senhas armazenadas e hashadas. Os métodos compatíveis incluem md5, scram-sha-256 e senha.
  • Autenticação do IAM: permite que os usuários do banco de dados façam a autenticação usando o IAM para melhorar a segurança e centralizar o controle de acesso em outros serviçosGoogle Cloud .

Papéis predefinidos

O PostgreSQL oferece papéis predefinidos com vários privilégios. Além desses papéis predefinidos, o AlloyDB fornece vários outros papéis predefinidos de usuários e grupos.

As tabelas a seguir listam os papéis e privilégios de papel que o AlloyDB oferece.

Nome do papel Privilégios
alloydbsuperuser CREATEROLE, CREATEDB e LOGIN.
postgres CREATEROLE, CREATEDB e LOGIN.
alloydbimportexport CREATEROLE e CREATEDB.
alloydbagent CREATEROLE e CREATEDB.
alloydbreplica REPLICATION
alloydbiamuser Por padrão, essa função não tem privilégios.

As subseções a seguir explicam a finalidade de algumas dessas funções.

Função de grupo alloydbsuperuser

O alloydbsuperuser permite configurar seu sistema de banco de dados e realizar outras tarefas de superusuário. Esse papel tem os seguintes privilégios:

  • Criar extensões que exigem privilégios de superusuário
  • Criar gatilhos de eventos
  • Criar usuários de replicação
  • Criar publicações e assinaturas de replicação

Como um serviço gerenciado, o AlloyDB não permite que você conceda aos usuários o papel superuser do PostgreSQL. Em vez disso, você pode conceder a qualquer usuário de banco de dados privilégios de superusuário do AlloyDB concedendo a ele o papel alloydbsuperuser.

Função de usuário postgres

A função do usuário postgres faz parte de alloydbsuperuser. Ao criar um cluster do AlloyDB, você atribui uma senha a postgres. Em seguida, faça login no sistema usando postgres para realizar tarefas como a criação de bancos de dados ou funções adicionais.

Função de usuário alloydbimportexport

Quando você cria um cluster do AlloyDB, o AlloyDB cria alloydbimportexport com o conjunto mínimo de privilégios que é necessário para as operações de importação e exportação.

É possível criar os próprios usuários para realizar essas operações. Se você não criar um usuário alloydbimportexport personalizado, o sistema vai usar o usuário alloydbimportexport padrão para operações de importação e exportação.

alloydbimportexport é um usuário do sistema. Isso significa que não é possível usar diretamente o usuário alloydbimportexport para fazer login ou realizar outras operações nos bancos de dados do PostgreSQL.

Função de grupo alloydbiamuser

Os usuários do banco de dados no grupo alloydbiamuser fazem a autenticação com uma instância do AlloyDB usando o IAM, em vez de usar a autenticação baseada em senha do PostgreSQL.

O AlloyDB não permite que você conceda alloydbiamuser aos usuários usando o comando GRANT do PostgreSQL ou métodos semelhantes. Em vez disso, use as ferramentas administrativas do AlloyDB para criar e gerenciar usuários de banco de dados baseados em IAM. Para mais informações, consulte Gerenciar a autenticação do IAM.

A seguir