Resolver problemas de integração do Active Directory no AlloyDB Omni

Este documento descreve os erros que podem ocorrer ao integrar o Active Directory no AlloyDB Omni. Exemplos de erros e correções recomendadas também são fornecidos.

O Active Directory não está funcionando

Descrição

O Active Directory não está funcionando no AlloyDB Omni, o que é causado por entradas pg_hba.conf incorretas. Se as entradas que você adicionou ao arquivo pg_hba.conf não forem válidas, o AlloyDB para PostgreSQL vai ignorá-las. Como resultado, o mecanismo de autenticação especificado não vai funcionar.

Correção recomendada

Para conferir a mensagem de erro, incluindo informações sobre como resolver o problema, faça login em psql e execute o seguinte comando:

docker exec -it alloydb_docs psql -h localhost -U postgres
psql (16.3)
Type "help" for help.
postgres=# table pg_hba_file_rules ;
 rule_number |              file_name               | line_number |  type   | database |     user_name      |  address  |                 netmask                 | auth_method |         options          |                        error
-------------+--------------------------------------+-------------+---------+----------+--------------------+-----------+-----------------------------------------+-------------+--------------------------+-----------------------------------------------------
           1 | /var/lib/postgresql/data/pg_hba.conf |           1 | host    | {all}    | {alloydbadmin}     | 127.0.0.1 | 255.255.255.255                         | trust       |                          |
             | /var/lib/postgresql/data/pg_hba.conf |           2 | hostssl | {all}    | {alloydbadmin}     | ::1       | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | trust       |                          | hostssl record cannot match because SSL is disabled
             | /var/lib/postgresql/data/pg_hba.conf |           3 | hostssl | {all}    | {alloydbpgbouncer} | 0.0.0.0   | 0.0.0.0                                 | cert        | {clientcert=verify-full} | hostssl record cannot match because SSL is disabled
             | /var/lib/postgresql/data/pg_hba.conf |           4 | hostssl | {all}    | {alloydbpgbouncer} | ::1       | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | cert        | {clientcert=verify-full} | hostssl record cannot match because SSL is disabled
             | /var/lib/postgresql/data/pg_hba.conf |           5 | hostssl | {all}    | {alloydbadmin}     | all       |                                         | reject      |                          | hostssl record cannot match because SSL is disabled
             | /var/lib/postgresql/data/pg_hba.conf |           6 |         |          |                    |           |                                         |             |                          | invalid CIDR mask in address "0.0.0.0/1000"
           2 | /var/lib/postgresql/data/pg_hba.conf |           7 | local   | {all}    | {all}              |           |                                         | trust       |                          |

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: role "user2" does not exist

Descrição

Esse erro ocorre quando um usuário do sistema que está tentando se conectar não tem um usuário do PostgreSQL criado ou não tem um papel mapeado.

Correção recomendada

Crie uma função no PostgreSQL com o nome de usuário necessário ou adicione uma entrada para esse usuário ao arquivo pg_ident.conf.

psql (16.3)
Type "help" for help.

postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE

A reinicialização do servidor falha com o erro: "não foi possível carregar /var/lib/postgresql/data/pg_hba.conf".

Descrição

A reinicialização do servidor falhou porque o pg_hba.conf contém entradas inválidas.

Correção recomendada

Verifique se há entradas inválidas no arquivo pg_hba.conf.

A seguir