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.
kubectlCLI 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 kustomUserDefinedAuthentication—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: Entripg_hba.confsebagai daftar string. Entri ini menimpa entri default dipg_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) Entripg_ident.confsebagai daftar string. Untuk menerapkan pemetaan nama pengguna, tentukanmap=di bidang Options dalam filepg_hba.conf. Jika Anda tidak memerlukan pemetaan nama pengguna, hapus kolompgIdentEntriesdari 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.