Memecahkan masalah integrasi Active Directory di AlloyDB Omni

Pilih versi dokumentasi:

Dokumen ini menjelaskan error yang mungkin Anda alami saat mengintegrasikan Active Directory di AlloyDB Omni. Contoh error dan perbaikan yang direkomendasikan juga diberikan.

Active Directory tidak berfungsi

Deskripsi

Active Directory tidak berfungsi di AlloyDB Omni, yang disebabkan oleh entri pg_hba.conf yang salah. Jika entri yang Anda tambahkan ke file pg_hba.conf tidak valid, AlloyDB untuk PostgreSQL akan mengabaikan entri tersebut. Akibatnya, mekanisme autentikasi yang ditentukan tidak akan berfungsi.

Perbaikan yang direkomendasikan

Untuk melihat pesan error, termasuk informasi tentang cara menyelesaikan masalah, login ke psql dan jalankan perintah berikut:

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

Deskripsi

Error ini terjadi saat pengguna sistem, yang mencoba terhubung, tidak memiliki pengguna PostgreSQL yang dibuat, atau tidak memiliki peran yang dipetakan.

Perbaikan yang direkomendasikan

Buat peran di PostgreSQL dengan nama pengguna yang diperlukan, atau tambahkan entri untuk pengguna ini ke file pg_ident.conf.

psql (16.3)
Type "help" for help.

postgres=# CREATE ROLE user2 WITH LOGIN;
CREATE ROLE

Mulai ulang server gagal dengan error: "could not load /var/lib/postgresql/data/pg_hba.conf"" (tidak dapat memuat /var/lib/postgresql/data/pg_hba.conf)

Deskripsi

Mulai ulang server gagal karena pg_hba.conf berisi entri yang tidak valid.

Perbaikan yang direkomendasikan

Periksa file pg_hba.conf untuk mengetahui apakah ada entri yang tidak valid.

Langkah berikutnya