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

Nesta página, explicamos como gerenciar usuários de 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 de 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 descrições a seguir:

  • Função:a designação de nível superior que descreve usuários e grupos de usuários do 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:a função que recebe o atributo LOGIN. Os usuários podem autenticar e fazer login em clusters de banco de dados do AlloyDB.

  • Grupo:a 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 integrada baseada em senha do PostgreSQL: para verificar a identidade do usuário, o AlloyDB compara as credenciais fornecidas com senhas armazenadas e com hash. Os métodos compatíveis incluem md5, scram-sha-256 e password.
  • Autenticação do IAM: permite que os usuários do banco de dados se autentiquem usando o IAM. Isso oferece mais segurança e centraliza o controle de acesso em outros serviços doGoogle Cloud .

Papéis predefinidos

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

As tabelas a seguir listam os papéis e os privilégios de papel fornecidos pelo AlloyDB:

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 os usos dessas funções.

Função no grupo alloydbsuperuser

alloydbsuperuser permite configurar o 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 conceder aos usuários a função superuser do PostgreSQL. Em vez disso, é possível conceder privilégios de superusuário do AlloyDB a qualquer usuário do banco de dados se você atribuir a ele a função alloydbsuperuser.

postgres função do usuário

A função de 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 criar bancos de dados ou funções adicionais.

alloydbimportexport função do usuário

Ao criar um cluster do AlloyDB, o serviço cria alloydbimportexport com o conjunto mínimo de privilégios necessários para operações de importação e exportação.

É possível criar os próprios usuários para executar essas operações. Se você não criar um usuário alloydbimportexport personalizado, o sistema 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 PostgreSQL.

alloydbagent função do usuário

A função alloydbagent é uma função interna do sistema AlloyDB. O serviço AlloyDB gerencia a função, e não é possível concedê-la manualmente a contas de banco de dados. Esse gerenciamento garante que o banco de dados e os recursos dele funcionem corretamente.

alloydbreplica função do usuário

A função alloydbreplica é uma função interna do sistema AlloyDB. O serviço AlloyDB gerencia a função, e não é possível concedê-la manualmente a contas de banco de dados. Esse gerenciamento garante que o banco de dados e os recursos dele funcionem corretamente.

Função no grupo alloydbiamuser

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

O AlloyDB não permite conceder alloydbiamuser a 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 no IAM. Para mais informações, consulte Gerenciar a autenticação do IAM.

A seguir