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:
- Legen Sie das Flag
password.enforce_complexity
aufON
fest. - 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
bisON
- Flag
password.min_uppercase_letters
auf1
- Flag
password.min_numerical_chars
auf1
- Flag
password.min_pass_length
auf10
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:
Legen Sie das Flag
password.enforce_expiration
aufON
fest.Legen Sie das Flag
password.expiration_in_days
auf die Anzahl der Tage fest, nach denen ein Passwort abläuft.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
bisON
- Flag
password.expiration_in_days
auf30
- Flag
password.notify_expiration_in_days
auf15
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:
- Legen Sie
password.enforce_password_does_not_contain_username
aufON
fest.
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
bisON
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';