UserDefinedAuthentication (alloydbomni.dbadmin.goog/v1). Puoi personalizzare il comportamento dell'autenticazione client, ad esempio limitando le subnet client, applicando SSL/TLS, specificando metodi di autenticazione personalizzati o configurando la mappatura degli utenti, definendo voci pg_hba.conf e pg_ident.conf personalizzate indipendentemente dalla configurazione di Active Directory.
Questo documento presuppone che tu abbia familiarità con l'applicazione dei file manifest di Kubernetes e con l'utilizzo dello strumento a riga di comando kubectl. Per saperne di più, consulta Strumento a riga di comando (kubectl).
Prima di iniziare
Per configurare l'autenticazione client, devi disporre di quanto segue:
- Un cluster AlloyDB Omni di cui è stato eseguito il deployment in un ambiente Kubernetes.
- Utenti e ruoli del database configurati nel cluster.
- L'interfaccia a riga di comando
kubectlinstallata e configurata.
Applica il manifest della risorsa personalizzata
Applica il seguente manifest della risorsa personalizzata di autenticazione definita dall'utente:
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
Sostituisci quanto segue:
USER_DEFINED_AUTHENTICATION_NAME: il nome della risorsa personalizzataUserDefinedAuthentication, ad esempioDB_CLUSTER_NAME-client-auth.DB_CLUSTER_NAMESPACE: lo spazio dei nomi Kubernetes per questa risorsa personalizzata. Lo spazio dei nomi deve corrispondere a quello del cluster di database.DB_CLUSTER_NAME: il nome del cluster di database, che hai assegnato quando lo hai creato.PG_HBA_ENTRIES: vocipg_hba.confcome elenco di stringhe. Queste voci sovrascrivono quelle predefinite inpg_hba.conf. Ad esempio, per limitare le connessioni a una subnet specifica, utilizza- "host all all 192.168.1.0/24 scram-sha-256". Per saperne di più, consulta Il file pg_hba.conf.PG_IDENT_ENTRIES: (Facoltativo) Vocipg_ident.confcome elenco di stringhe. Per implementare la mappatura dei nomi utente, specificamap=nel campo Options nel filepg_hba.conf. Se non hai bisogno della mappatura dei nomi utente, ometti il campopgIdentEntriesdal manifest. Per saperne di più, consulta Mappe dei nomi utente.
Verifica le regole di autenticazione client
Per controllare lo stato della risorsa UserDefinedAuthentication, esegui questo comando:
kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE
Verifica che nella colonna STATE sia visualizzato Ready.
Per visualizzare i dettagli e le condizioni delle risorse, esegui questo comando:
kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Aggiorna le regole di autenticazione client
Per aggiornare le regole di autenticazione del client o le mappature degli utenti, aggiorna spec.pgHbaEntries o spec.pgIdentEntries nel file manifest e applicalo di nuovo:
kubectl apply -f CLIENT_AUTH_MANIFEST.yaml
L'operatore AlloyDB Omni ricarica dinamicamente la configurazione PostgreSQL (pg_ctl reload) senza riavviare il pod del database o causare tempi di inattività.
Elimina le regole di autenticazione client
Per eliminare le regole di autenticazione personalizzate e ripristinare quelle predefinite, esegui questo comando:
kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE
Quando elimini la risorsa UserDefinedAuthentication, l'operatore AlloyDB Omni ricarica dinamicamente pg_hba.conf (pg_ctl reload) per ripristinare le regole di autenticazione predefinite senza richiedere il riavvio di un pod del database.
Passaggi successivi
- Gestisci utenti e ruoli
- Gestisci le policy relative alle password
- Riferimento CRD
UserDefinedAuthentication