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

Esta página apresenta uma visão geral de 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: 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: função que recebe o atributo LOGIN. Os usuários podem autenticar e fazer login em 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 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 para aumentar a segurança e o controle de acesso centralizado 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 a finalidade de alguns desses papéis.

Função no grupo alloydbsuperuser

O alloydbsuperuser permite configurar o sistema de banco de dados e realizar outras tarefas de superusuário. Essa função 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 a qualquer usuário do banco de dados privilégios de superusuário do AlloyDB atribuindo a ele o papel alloydbsuperuser.

postgres função do usuário

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

alloydbimportexport função do usuário

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

É possível criar seus próprios usuários para realizar 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

O papel alloydbagent é um papel interno do sistema AlloyDB. Ele é gerenciado pelo serviço AlloyDB e não pode ser concedido manualmente a contas de banco de dados, o que garante o funcionamento adequado do banco de dados e dos recursos dele.

alloydbreplica função do usuário

O papel alloydbreplica é um papel interno do sistema AlloyDB. Ele é gerenciado pelo serviço AlloyDB e não pode ser concedido manualmente a contas de banco de dados, o que garante o funcionamento adequado do banco de dados e dos recursos dele.

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 padrão baseada em senha do PostgreSQL.

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

A seguir