Clientauthentifizierung konfigurieren

Wählen Sie eine Dokumentationsversion aus:

In diesem Dokument wird beschrieben, wie Sie die Clientauthentifizierung in Ihrem Kubernetes-basierten AlloyDB Omni-Datenbankcluster mithilfe der benutzerdefinierten Ressource (alloydbomni.dbadmin.goog/v1) UserDefinedAuthentication konfigurieren. Sie können das Verhalten der Clientauthentifizierung anpassen, z. B. Clientsubnetze einschränken, SSL/TLS erzwingen, benutzerdefinierte Authentifizierungsmethoden angeben oder die Nutzerzuordnung konfigurieren, indem Sie benutzerdefinierte pg_hba.conf- und pg_ident.conf-Einträge unabhängig von der Active Directory-Einrichtung definieren.

In diesem Dokument wird davon ausgegangen, dass Sie mit dem Anwenden von Kubernetes-Manifestdateien und der Verwendung des kubectl-Befehlszeilentools vertraut sind. Weitere Informationen finden Sie unter Befehlszeilentool (kubectl).

Hinweis

Für die Konfiguration der Clientauthentifizierung benötigen Sie Folgendes:

  • Ein AlloyDB Omni-Cluster, der in einer Kubernetes-Umgebung bereitgestellt ist.
  • Im Cluster konfigurierte Datenbanknutzer und -rollen.
  • Die kubectl-Befehlszeile ist installiert und konfiguriert.

Manifest für benutzerdefinierte Ressource anwenden

Wenden Sie das folgende Manifest für die benutzerdefinierte Ressource für die benutzerdefinierte Authentifizierung an:

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

Ersetzen Sie Folgendes:

  • USER_DEFINED_AUTHENTICATION_NAME: der Name der benutzerdefinierten UserDefinedAuthentication-Ressource, z. B. DB_CLUSTER_NAME-client-auth.
  • DB_CLUSTER_NAMESPACE: Der Kubernetes-Namespace für diese benutzerdefinierte Ressource. Der Namespace muss mit dem Namespace des Datenbankclusters übereinstimmen.
  • DB_CLUSTER_NAME: Der Name Ihres Datenbankclusters, den Sie beim Erstellen zugewiesen haben.
  • PG_HBA_ENTRIES: pg_hba.conf-Einträge als Stringliste. Diese Einträge überschreiben die Standardeinträge in pg_hba.conf. Wenn Sie beispielsweise Verbindungen auf ein bestimmtes Subnetz beschränken möchten, verwenden Sie - "host all all 192.168.1.0/24 scram-sha-256". Weitere Informationen finden Sie unter Die Datei pg_hba.conf.
  • PG_IDENT_ENTRIES: (Optional) pg_ident.conf-Einträge als Stringliste. Wenn Sie die Nutzernamenzuordnung implementieren möchten, geben Sie map= im Options-Feld in der Datei pg_hba.conf an. Wenn Sie keine Nutzernamenzuordnung benötigen, lassen Sie das Feld pgIdentEntries im Manifest weg. Weitere Informationen finden Sie unter Nutzername-Zuordnungen.

Clientauthentifizierungsregeln prüfen

Führen Sie den folgenden Befehl aus, um den Status der Ressource UserDefinedAuthentication zu prüfen:

kubectl get userdefinedauthentication -n DB_CLUSTER_NAMESPACE

Prüfen Sie, ob in der Spalte STATE der Wert Ready angezeigt wird.

Führen Sie den folgenden Befehl aus, um Ressourcendetails und Bedingungen aufzurufen:

kubectl describe userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE

Clientauthentifizierungsregeln aktualisieren

Wenn Sie Regeln für die Clientauthentifizierung oder Nutzerzuordnungen aktualisieren möchten, aktualisieren Sie spec.pgHbaEntries oder spec.pgIdentEntries in Ihrer Manifestdatei und wenden Sie sie noch einmal an:

kubectl apply -f CLIENT_AUTH_MANIFEST.yaml

Der AlloyDB Omni-Operator lädt die PostgreSQL-Konfiguration (pg_ctl reload) dynamisch neu, ohne dass der Datenbank-Pod neu gestartet werden muss oder Ausfallzeiten entstehen.

Regeln für die Clientauthentifizierung löschen

Führen Sie den folgenden Befehl aus, um die benutzerdefinierten Authentifizierungsregeln zu löschen und die Standardauthentifizierungsregeln wiederherzustellen:

kubectl delete userdefinedauthentication USER_DEFINED_AUTHENTICATION_NAME -n DB_CLUSTER_NAMESPACE

Wenn Sie die Ressource UserDefinedAuthentication löschen, lädt der AlloyDB Omni-Operator pg_hba.conf (pg_ctl reload) dynamisch neu, um die Standardauthentifizierungsregeln wiederherzustellen, ohne dass ein Neustart des Datenbank-Pods erforderlich ist.

Nächste Schritte