Résoudre les problèmes d'intégration d'Active Directory dans AlloyDB Omni

Sélectionnez une version de la documentation :

Ce document décrit les erreurs que vous pouvez rencontrer lorsque vous intégrez Active Directory à AlloyDB Omni. Des exemples d'erreurs et de corrections recommandées sont également fournis.

Active Directory ne fonctionne pas

Description

Active Directory ne fonctionne pas dans AlloyDB Omni en raison d'entrées pg_hba.conf incorrectes. Si les entrées que vous avez ajoutées au fichier pg_hba.conf ne sont pas valides, AlloyDB pour PostgreSQL les ignore. Par conséquent, le mécanisme d'authentification spécifié ne fonctionnera pas.

Solution recommandée

Pour afficher le message d'erreur, y compris des informations sur la résolution du problème, connectez-vous à psql et exécutez la commande suivante :

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

Description

Cette erreur se produit lorsqu'un utilisateur système qui tente de se connecter n'a pas créé d'utilisateur PostgreSQL ou n'a pas mappé de rôle.

Solution recommandée

Créez un rôle dans PostgreSQL avec le nom d'utilisateur requis ou ajoutez une entrée pour cet utilisateur au fichier pg_ident.conf.

psql (16.3)
Type "help" for help.

postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE

Le redémarrage du serveur échoue avec l'erreur"could not load /var/lib/postgresql/data/pg_hba.conf" (impossible de charger /var/lib/postgresql/data/pg_hba.conf)

Description

Le redémarrage du serveur a échoué, car le fichier pg_hba.conf contient des entrées non valides.

Solution recommandée

Recherchez les entrées non valides dans le fichier pg_hba.conf.

Étapes suivantes