Para controlar o acesso aos bancos de dados do AlloyDB para PostgreSQL, crie e gerencie usuários, papéis e grupos de bancos de dados usando a autenticação integrada do PostgreSQL ou do Identity and Access Management (IAM).
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:
Papel:a designação de nível superior que descreve os usuários e grupos de usuários do banco de dados em um cluster. Os papéis fornecem e restringem o acesso a objetos de banco de dados, como tabelas e funções.
Usuário:o papel que recebe o atributo
LOGIN. Os usuários podem se autenticar e fazer login nos clusters de banco de dados do AlloyDB.Grupo:o papel concedido 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 do 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 as senhas armazenadas e com hash. Os métodos compatíveis
incluem
md5,scram-sha-256epassword. - 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 tem 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 de grupo.
A tabela a seguir lista os papéis e os privilégios de papel que o AlloyDB fornece:
| Nome do papel | Privilégios |
|---|---|
alloydbsuperuser |
CREATEROLE, CREATEDB e LOGIN. |
postgres |
CREATEROLE, CREATEDB e LOGIN. |
alloydbadmin |
SUPERUSER (que inclui CREATEROLE,
CREATEDB e LOGIN). |
alloydbimportexport |
CREATEROLE e CREATEDB. |
alloydbexport |
LOGIN e membro do pg_read_all_data. |
alloydbagent |
CREATEROLE e CREATEDB. |
alloydbmetadata |
LOGIN. Por padrão, esse papel não tem outros privilégios. |
alloydbobservability |
LOGIN e membro de pg_monitor. |
alloydbreplica |
REPLICATION. |
alloydbiamuser |
Por padrão, essa função não tem privilégios. |
alloydbiamgroupuser |
Por padrão, essa função não tem privilégios. |
As subseções a seguir explicam os usos desses papéis.
Papel no grupo alloydbsuperuser
O papel 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 que você conceda aos usuários o
papel superuser do PostgreSQL. Em vez disso, é possível conceder a qualquer usuário do banco de dados
privilégios de superusuário do AlloyDB se você conceder a ele o
papel alloydbsuperuser.
Função do usuário postgres
A função do usuário postgres faz parte da função alloydbsuperuser. Ao criar
um cluster do AlloyDB, é possível atribuir uma senha ao usuário postgres
para que você possa fazer login no sistema usando o usuário postgres para realizar
tarefas, como criar bancos de dados ou papéis adicionais.
Função do usuário alloydbadmin
O papel alloydbadmin é um papel de sistema interno predefinido que configura o sistema de banco de dados, instala e faz upgrade de extensões e realiza outras tarefas internas de superusuário. O serviço do AlloyDB gerencia esse papel, e não é possível usá-lo para fazer login ou concedê-lo manualmente a contas de banco de dados.
Função do usuário alloydbimportexport
Quando você cria um cluster do AlloyDB, o AlloyDB
cria o usuário alloydbimportexport com o conjunto mínimo de privilégios
necessários para operações de importação e exportação.
Você tem a opção de 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.
O usuário 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 do usuário alloydbexport
O papel alloydbexport é um papel interno do sistema do AlloyDB com privilégios pg_read_all_data usados por operações de exportação internas. O
serviço do AlloyDB gerencia esse papel, e não é possível concedê-lo
manualmente a contas de banco de dados.
Função do usuário alloydbagent
O papel alloydbagent é um papel interno do sistema do AlloyDB. O
serviço do AlloyDB gerencia o papel, e não é possível concedê-lo manualmente
às contas de banco de dados. Esse gerenciamento ajuda o banco de dados e os recursos dele
a funcionar corretamente.
Função do usuário alloydbmetadata
O papel alloydbmetadata é um papel interno do sistema do AlloyDB
com privilégios mínimos usado para gerenciar tabelas de metadados internos. O
serviço do AlloyDB gerencia esse papel, e não é possível concedê-lo
manualmente a contas de banco de dados.
Função do usuário alloydbobservability
O papel alloydbobservability é um papel interno do sistema do AlloyDB
com privilégios pg_monitor usados para coletar telemetria de banco de dados, insights de consulta
e métricas de observabilidade. O serviço do AlloyDB gerencia
esse papel, e não é possível concedê-lo manualmente a contas de banco de dados.
Função do usuário alloydbreplica
O papel alloydbreplica é um papel interno do sistema do AlloyDB. O
serviço do AlloyDB gerencia o papel, e não é possível concedê-lo manualmente
às contas de banco de dados. Esse gerenciamento ajuda o banco de dados e os recursos dele
a funcionar corretamente.
Papel 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 de usar a autenticação integrada baseada em senha
do PostgreSQL.
O AlloyDB não permite conceder o papel 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.
Papel no grupo alloydbiamgroupuser
Os grupos de banco de dados e as contas de membros que usam a autenticação de grupo do IAM pertencem ao papel de grupo alloydbiamgroupuser. O
serviço do AlloyDB gerencia esse papel automaticamente quando você adiciona um
grupo do IAM a um cluster, e não é possível concedê-lo manualmente usando
o comando GRANT do PostgreSQL. Para mais informações sobre como conceder privilégios de banco de dados a usuários do IAM, consulte Gerenciar a autenticação do IAM.
A seguir
Saiba como gerenciar papéis, usuários e grupos do PostgreSQL para o AlloyDB usando a autenticação integrada.
Saiba como gerenciar a autenticação do IAM.