Mengonfigurasi autentikasi klien

Pilih versi dokumentasi:

Dokumen ini menjelaskan cara mengonfigurasi autentikasi klien di cluster database AlloyDB Omni berbasis Kubernetes menggunakan resource kustom UserDefinedAuthentication (alloydbomni.dbadmin.goog/v1). Anda dapat menyesuaikan perilaku autentikasi klien—seperti membatasi subnet klien, menerapkan SSL/TLS, menentukan metode autentikasi kustom, atau mengonfigurasi pemetaan pengguna—dengan menentukan entri pg_hba.conf dan pg_ident.conf kustom secara independen dari penyiapan Active Directory.

Dokumen ini mengasumsikan bahwa Anda sudah memahami cara menerapkan file manifes Kubernetes dan menggunakan alat command line kubectl. Untuk mengetahui informasi selengkapnya, lihat Alat command line (kubectl).

Sebelum memulai

Untuk mengonfigurasi autentikasi klien, Anda harus memiliki hal berikut:

  • Cluster AlloyDB Omni yang di-deploy di lingkungan Kubernetes.
  • Pengguna dan peran database yang dikonfigurasi di cluster.
  • kubectl CLI telah diinstal dan dikonfigurasi.

Menerapkan manifes resource kustom

Terapkan manifes resource kustom autentikasi yang ditentukan pengguna berikut:

apiVersion: alloydbomni.dbadmin.goog/v1
kind: UserDefinedAuthentication
metadata:
  name: USER_DEFINED_AUTHENTICATION_NAME
  namespace: DB_CLUSTER_NAMESPACE
spec:
  dbclusterRef:
    name: DB_CLUSTER_NAME
  pgHbaEntries:
    PG_HBA_ENTRIES
  pgIdentEntries:
    PG_IDENT_ENTRIES

Ganti kode berikut:

  • USER_DEFINED_AUTHENTICATION_NAME: nama resource kustom UserDefinedAuthentication—misalnya, DB_CLUSTER_NAME-client-auth.
  • DB_CLUSTER_NAMESPACE: namespace Kubernetes untuk resource kustom ini. Namespace harus cocok dengan namespace cluster database.
  • DB_CLUSTER_NAME: nama cluster database Anda, yang Anda tetapkan saat membuatnya.
  • PG_HBA_ENTRIES: Entri pg_hba.conf sebagai daftar string. Entri ini menimpa entri default di pg_hba.conf. Misalnya, untuk membatasi koneksi ke subnet tertentu, gunakan - "host all all 192.168.1.0/24 scram-sha-256". Untuk informasi selengkapnya, lihat File pg_hba.conf.
  • PG_IDENT_ENTRIES: (Opsional) Entri pg_ident.conf sebagai daftar string. Untuk menerapkan pemetaan nama pengguna, tentukan map= di bidang Options dalam file pg_hba.conf. Jika Anda tidak memerlukan pemetaan nama pengguna, hapus kolom pgIdentEntries dari manifes. Untuk mengetahui informasi selengkapnya, lihat Peta Nama Pengguna.

Memverifikasi aturan autentikasi klien

Untuk memeriksa status resource UserDefinedAuthentication, jalankan perintah berikut:

kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE

Pastikan kolom STATE menampilkan Ready.

Untuk melihat detail dan kondisi resource, jalankan perintah berikut:

kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE

Memperbarui aturan autentikasi klien

Untuk memperbarui aturan autentikasi klien atau pemetaan pengguna, perbarui spec.pgHbaEntries atau spec.pgIdentEntries dalam file manifes Anda dan terapkan kembali:

kubectl apply -f CLIENT_AUTH_MANIFEST.yaml

Operator AlloyDB Omni memuat ulang konfigurasi PostgreSQL (pg_ctl reload) secara dinamis tanpa memulai ulang pod database atau periode nonaktif.

Menghapus aturan autentikasi klien

Untuk menghapus aturan autentikasi kustom dan kembali ke aturan autentikasi default, jalankan perintah berikut:

kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE

Saat Anda menghapus resource UserDefinedAuthentication, operator AlloyDB Omni akan memuat ulang pg_hba.conf (pg_ctl reload) secara dinamis untuk memulihkan aturan autentikasi default tanpa perlu memulai ulang pod database.

Langkah berikutnya