Hakenreferenz für Trusted Language Extensions für PostgreSQL - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hakenreferenz für Trusted Language Extensions für PostgreSQL

Trusted Language Extensions für PostgreSQL unterstützt PostgreSQL-Haken. Ein Haken ist ein interner Callback-Mechanismus, der Entwicklern zur Erweiterung der Kernfunktionalität von PostgreSQL zur Verfügung steht. Durch die Verwendung von Haken können Entwickler ihre eigenen Funktionen oder Verfahren zur Verwendung bei verschiedenen Datenbankoperationen implementieren und so das Verhalten von PostgreSQL in gewisser Weise ändern. Sie können beispielsweise einen passcheck-Haken verwenden, um anzupassen, wie PostgreSQL die Passwörter behandelt, die beim Erstellen oder Ändern von Passwörtern für Benutzer (Rollen) angegeben werden.

In der folgenden Dokumentation erfahren Sie mehr über den Passcheck-Hook, der für Ihre TLE-Erweiterungen verfügbar ist. Weitere Informationen zu den verfügbaren Hooks, einschließlich des Client-Authentifizierungs-Hooks, finden Sie unter Trusted Language Extensions-Hooks.

Haken zur Passwortüberprüfung (Passcheck)

Der passcheck-Haken wird verwendet, um das PostgreSQL-Verhalten während der Passwortüberprüfung für die folgenden SQL-Befehle und psql-Metabefehle anzupassen.

  • CREATE ROLE username ...PASSWORD – Weitere Informationen finden Sie im Abschnitt CREATE ROLE der PostgreSQL-Dokumentation.

  • ALTER ROLE username...PASSWORD – Weitere Informationen finden Sie im Abschnitt ALTER ROLE der PostgreSQL-Dokumentation.

  • \password username – Dieser interaktive psql-Metabefehl ändert das Passwort für den angegebenen Benutzer auf sichere Weise, indem er das Passwort hasht, bevor die ALTER ROLE ... PASSWORD-Syntax transparent verwendet wird. Der Metabefehl ist ein sicherer Wrapper für den ALTER ROLE ... PASSWORD-Befehl, daher gilt der Haken für das Verhalten despsql-Metabefehls.

Ein Beispiel finden Sie unter Liste der Hakencodes für die Passwortüberprüfung.

Funktionsprototyp

passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)

Argumente

Eine passcheck-Hakenfunktion verwendet die folgenden Argumente.

  • username – Der Name (als Text) der Rolle (Benutzername), die ein Passwort festlegt.

  • password – Das Klartext- oder Hash-Passwort. Das eingegebene Passwort sollte dem im password_type angegebenen Typ entsprechen.

  • password_type – Geben Sie das pgtle.password_type-Format des Passworts an. Dieses Format kann einer der folgenden Optionen entsprechen.

    • PASSWORD_TYPE_PLAINTEXT – Ein Klartext-Passwort.

    • PASSWORD_TYPE_MD5— Ein Passwort, das mithilfe des Algorithmus MD5 (Message Digest 5) gehasht wurde.

    • PASSWORD_TYPE_SCRAM_SHA_256 – Ein Passwort, das mit dem SCRAM-SHA-256-Algorithmus gehasht wurde.

  • valid_until – Geben Sie den Zeitpunkt an, am dem das Passwort ungültig wird. Dieses Argument ist optional. Wenn Sie dieses Argument verwenden, geben Sie die Uhrzeit als timestamptz-Wert an.

  • valid_null – Wenn dieser boolesche Wert auf true festgelegt ist, wird die valid_until-Option auf NULL eingestellt.

Konfiguration

Die Funktion pgtle.enable_password_check steuert, ob der Passcheck-Haken aktiv ist. Der Passcheck-Haken hat drei mögliche Einstellungen.

  • off – Schaltet den passcheck-Haken für die Passwortüberprüfung aus. Dies ist der Standardwert.

  • on – Aktiviert den passcode-Haken für die Passwortüberprüfung, sodass Passwörter mit der Tabelle verglichen werden.

  • require – Erfordert, dass ein Passwortüberprüfungshaken definiert wird.

Nutzungshinweise

Um den passcheck-Haken ein- oder auszuschalten, müssen Sie die benutzerdefinierte DB-Parametergruppe für Ihre DB-Instance von RDS für PostgreSQL ändern.

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

aws rds modify-db-parameter-group \ --region aws-region \ --db-parameter-group-name your-custom-parameter-group \ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

aws rds modify-db-parameter-group ^ --region aws-region ^ --db-parameter-group-name your-custom-parameter-group ^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"