Integrierte Authentifizierung mithilfe von Passwortrichtlinien verwalten

Auf dieser Seite wird beschrieben, wie Sie Passwortrichtlinien für Datenbanknutzer Ihrer AlloyDB for PostgreSQL-Instanzen festlegen und verwalten.

Eine Übersicht über die in AlloyDB verfügbaren Authentifizierungsmethoden finden Sie unter Authentifizierung.

Passwortrichtlinien

Wenn sich die Datenbanknutzer Ihrer Anwendung mit der integrierten, passwortbasierten Methode bei Ihren AlloyDB-Instanzen authentifizieren, können Sie die Authentifizierung sicherer machen, indem Sie starke Passwörter erzwingen. Sie können die Passwortrichtlinien definieren und aktivieren, indem Sie eine Passwortrichtlinie für Ihre Instanzen festlegen.

Einschränkungen von Passwortrichtlinien

Für AlloyDB-Passwortrichtlinien gelten die folgenden Einschränkungen:

  • Passwortrichtlinien gelten nur für Passwörter, die nach dem Festlegen der Richtlinien erstellt wurden. Bestehende Nutzerpasswörter sind von einer Änderung der Passwortrichtlinie nicht betroffen.

  • Passwortrichtlinien gelten nur für Passwörter, die als Klartext eingegeben werden. Passwortrichtlinien gelten nicht für Passwörter, die als verschlüsselte Strings eingegeben werden.

Passwortrichtlinie für Instanzen festlegen

Sie können eine Passwortrichtlinie für eine Instanz festlegen, indem Sie Passwort-Flags für eine Instanz konfigurieren.

  • Nutzernamen nicht zulassen: Verhindert, dass der Nutzername im Passwort verwendet wird.

  • Komplexität des Passworts: Prüft, ob das Passwort die zulässige Anzahl von Kleinbuchstaben, Großbuchstaben, Ziffern und nicht alphanumerischen Zeichen enthält. Prüfen Sie auch, ob die Passwortlänge gültig ist.

  • Ablauf von Passwörtern: Achten Sie darauf, dass Passwörter regelmäßig gewechselt werden.

Eine Liste der von AlloyDB unterstützten Flags für Passwortrichtlinien finden Sie unter Flags für Passwortrichtlinien.

Komplexität des Passworts erzwingen

So erzwingen Sie eine Richtlinie zur Passwortkomplexität:

  1. Legen Sie das Flag password.enforce_complexity auf ON fest.
  2. Verwenden Sie Flags für Passwortrichtlinien, um Ihre Passwortrichtlinie zu definieren.

Wenn Sie beispielsweise eine Passwortrichtlinie erzwingen möchten, die vorschreibt, dass ein Passwort mindestens einen Großbuchstaben, eine Zahl und mindestens 10 Zeichen lang sein muss, müssen Sie die folgenden Flags festlegen:

  • password.enforce_complexity bis ON
  • Flag password.min_uppercase_letters auf 1
  • Flag password.min_numerical_chars auf 1
  • Flag password.min_pass_length auf 10

Nachdem diese Flags festgelegt wurden, schlägt ein Versuch fehl, ein Datenbanknutzerpasswort festzulegen, das nicht dieser Passwortrichtlinie entspricht. Wenn diese Richtlinie beispielsweise festgelegt ist, schlägt der folgende psql-Clientbefehl fehl, da das Passwort foo weniger als 10 Zeichen lang ist und keine Zahl oder ein Großbuchstabe enthält.

CREATE USER USERNAME WITH PASSWORD 'foo';

Ablauf des Passworts erzwingen

So erzwingen Sie die Richtlinie zum Ablauf von Passwörtern:

  1. Legen Sie das Flag password.enforce_expiration auf ON fest.

  2. Legen Sie das Flag password.expiration_in_days auf die Anzahl der Tage fest, nach denen ein Passwort abläuft.

  3. Legen Sie das Flag password.notify_expiration_in_days auf die Anzahl der Tage vor Ablauf eines Passworts fest, ab der Nutzer Benachrichtigungen zum Ablauf des Passworts erhalten.

Wenn Sie beispielsweise eine Passwortrichtlinie erzwingen möchten, nach der Passwörter nach 30 Tagen ablaufen und Nutzer 15 Tage vor Ablauf ihres Passworts benachrichtigt werden, gehen Sie so vor:

  • password.enforce_expiration bis ON
  • Flag password.expiration_in_days auf 30
  • Flag password.notify_expiration_in_days auf 15

Wenn das Passwort eines Nutzers abläuft, kann er keine Verbindung mehr zur AlloyDB Omni-Instanz herstellen. Informationen zum Zurücksetzen des Passworts eines Nutzers finden Sie unter Passwort eines Datenbanknutzers ändern.

Nutzernamen in Passwörtern nicht zulassen

So erzwingen Sie die Richtlinie, die verhindert, dass ein Passwort einen Nutzernamen enthält:

Wenn Sie beispielsweise sicherstellen möchten, dass ein Passwort keinen Nutzernamen als Teilstring enthält, legen Sie Folgendes fest:

  • password.enforce_password_does_not_contain_username bis ON

Wenn dieses Flag gesetzt ist, schlägt der folgende Vorgang fehl, da das Passwort alex-secret den Nutzernamen Alex enthält:

CREATE USER Alex WITH PASSWORD 'alex-secret';

Nächste Schritte