Passwortrichtlinien aktivieren, deaktivieren und verwenden
In diesem Dokument erfahren Sie, wie Sie Passwortrichtlinien festlegen, um die Passwortstärke für neue und vorhandene Nutzer zu verbessern.
Wenn Sie eine Passwortrichtlinie über die Firebase Console festlegen möchten, lesen Sie den Hilfeartikel Passwortrichtlinie festlegen.
Übersicht
Mit Passwortrichtlinien können Sie die Kontosicherheit verbessern, indem Sie Anforderungen an die Komplexität von Passwörtern erzwingen. Passwortrichtlinien unterstützen die folgenden Passwortanforderungen:
- Kleinbuchstabe erforderlich
- Großbuchstabe erforderlich
- Numerisches Zeichen erforderlich
- Nicht alphanumerisches Zeichen erforderlich
- Mindestlänge des Passworts (6 bis 30 Zeichen, standardmäßig 6)
- Maximale Länge des Passworts (höchstens 4.096 Zeichen)
Die folgenden Zeichen erfüllen die Anforderung für nicht alphanumerische Zeichen, wenn sie konfiguriert sind:
^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ `
Erzwingungsmodi
Sie können die Erzwingung von Passwortrichtlinien in zwei Modi aktivieren:
- Erforderlich: Anmeldeversuche schlagen fehl, wenn Nutzer ein Passwort verwenden, das nicht Ihrer Richtlinie entspricht.
Benachrichtigen: Nutzer können sich mit einem nicht konformen Passwort registrieren. Sie werden über fehlende Kriterien informiert, die zum Erfüllen der Richtlinie eingehalten werden müssen. Zu den zurückgegebenen Kriterien gehören:
MISSING_LOWERCASE_CHARACTERMISSING_UPPERCASE_CHARACTERMISSING_NUMERIC_CHARACTERMISSING_NON_ALPHANUMERIC_CHARACTERMINIMUM_PASSWORD_LENGTHMAXIMUM_PASSWORD_LENGTH
Sie können diese Informationen an den Nutzer senden, um ihn darüber zu informieren, dass er sein Passwort aktualisieren muss. Das folgende Beispiel zeigt eine Antwort, die fehlende Passwortkriterien enthält:
{ "kind": "identitytoolkit#VerifyPasswordResponse", "localId": "CJL1i2", "email": "cloudysanfrancisco@gmail.com", "displayName": "", "idToken": "ID_TOKEN", "registered": true, "userNotifications": [ { "notificationCode": "MISSING_NUMERIC_CHARACTER", "notificationMessage": "Password must contain a numeric character" }, { "notificationCode": "MISSING_NON_ALPHANUMERIC_CHARACTER", "notificationMessage": "Password must contain a non-alphanumeric character" } ] }
Neue Nutzer müssen ein Passwort auswählen, das Ihrer Richtlinie entspricht. Wenn Sie aktive Nutzer haben, empfehlen wir, die Option „Upgrade bei der Anmeldung erzwingen“ nur dann zu aktivieren, wenn Sie die Passwortrichtlinie sofort erzwingen möchten. Verwenden Sie stattdessen den Benachrichtigungsmodus. Damit können sich Nutzer mit ihren aktuellen Passwörtern anmelden und erhalten Benachrichtigungen, in denen die Anforderungen aufgeführt sind, die ihr Passwort nicht erfüllt.
Wenn Sie die Erzwingung aktivieren, setzen Sie forceUpgradeOnSignin auf true, um die Erzwingung im Anforderungsmodus zu aktivieren. Legen Sie false fest, um die Erzwingung im Benachrichtigungsmodus zu aktivieren.
Erzwingung aktivieren
So erzwingen Sie eine Passwortrichtlinie:
- Konfigurieren Sie die Anmeldung mit E-Mail-Adresse und Passwort, falls noch nicht geschehen.
So erzwingen Sie eine Passwortrichtlinie auf Projektebene:
Firebase Console
Rufen Sie in der Firebase Console die Seite Authentifizierungseinstellungen auf.
Wählen Sie den Tab Passwortrichtlinie aus.
Konfigurieren Sie die ausgewählten Anforderungen an die Passwortstärke.
Wählen Sie den Erzwingungsmodus (Erforderlich oder Benachrichtigen) aus und legen Sie fest, ob Passwortupgrades bei der Anmeldung erzwungen werden sollen.
Klicken Sie auf Speichern.
REST
Geben Sie in der Google Cloud Console mit dem Befehl
gcloud auth print-access-tokenein Zugriffstoken für Ihre Projekt-ID aus:gcloud auth print-access-token --project=PROJECT_IDPasswortrichtlinie mit der Identity Toolkit API aktivieren:
curl -X PATCH -d "{'passwordPolicyConfig':{'enforcementState':'ENFORCE','forceUpgradeOnSignin':true,'constraints':{'requireUppercase':true,'requireLowercase':true,'requireNonAlphanumeric':true,'requireNumeric':true,'minLength':MIN_PASSWORD_LENGTH,'maxLength':MAX_PASSWORD_LENGTH}}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=passwordPolicyConfig"Ersetzen Sie Folgendes:
ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.PROJECT_ID: Ihre Projekt-ID.MIN_PASSWORD_LENGTH: die erforderliche Mindestlänge des PasswortsMAX_PASSWORD_LENGTH: die maximal erforderliche Passwortlänge
So erzwingen Sie eine Passwortrichtlinie auf Mandantenebene:
REST
Geben Sie in der Google Cloud Console mit dem Befehl
gcloud auth print-access-tokenein Zugriffstoken für Ihre Projekt-ID aus:gcloud auth print-access-token --project=PROJECT_IDAktivieren Sie eine Passwortrichtlinie für einen Mandanten mit der Identity Toolkit API:
curl -X PATCH -d "{'passwordPolicyConfig':{'enforcementState':'ENFORCE','forceUpgradeOnSignin':true,'constraints':{'requireUppercase':true,'requireLowercase':true,'requireNonAlphanumeric':true,'requireNumeric':true,'minLength':MIN_PASSWORD_LENGTH,'maxLength':MAX_PASSWORD_LENGTH}}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=passwordPolicyConfig"Ersetzen Sie Folgendes:
ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.PROJECT_ID: Ihre Projekt-ID.TENANT_ID: die ID des Mandanten, für den Sie die Passwortrichtlinie erzwingen möchtenMIN_PASSWORD_LENGTH: die erforderliche Mindestlänge des PasswortsMAX_PASSWORD_LENGTH: die maximal erforderliche Passwortlänge
Erzwingung deaktivieren
So deaktivieren Sie die Erzwingung von Passwortrichtlinien auf Projektebene:
Firebase Console
Rufen Sie in der Firebase Console die Seite Authentifizierungseinstellungen auf.
Wählen Sie den Tab Passwortrichtlinie aus.
Deaktivieren Sie die Erzwingung von Passwortrichtlinien.
Klicken Sie auf Speichern.
REST
Geben Sie in der Google Cloud Console mit dem Befehl
gcloud auth print-access-tokenein Zugriffstoken für Ihre Projekt-ID aus:gcloud auth print-access-token --project=PROJECT_IDDeaktivieren Sie die Erzwingung von Passwortrichtlinien mit der Identity Toolkit API:
curl -X PATCH -d "{'passwordPolicyConfig':{'enforcementState':'OFF'}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=passwordPolicyConfig"Ersetzen Sie Folgendes:
ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.PROJECT_ID: Ihre Projekt-ID.
So deaktivieren Sie die Erzwingung von Passwortrichtlinien auf Mandantenebene:
REST
Geben Sie in der Google Cloud Console mit dem Befehl
gcloud auth print-access-tokenein Zugriffstoken für Ihre Projekt-ID aus:gcloud auth print-access-token --project=PROJECT_IDDeaktivieren Sie die Erzwingung der Passwortrichtlinie für einen Mandanten mit der Identity Toolkit API:
curl -X PATCH -d "{'passwordPolicyConfig':{'enforcementState':'OFF'}}" \ -H 'Authorization: Bearer ACCESS_TOKEN' \ -H 'Content-Type: application/json' \ -H 'X-Goog-User-Project: PROJECT_ID' \ "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=passwordPolicyConfig"Ersetzen Sie Folgendes:
ACCESS_TOKEN: das Zugriffstoken, das Sie zuvor generiert haben.PROJECT_ID: Ihre Projekt-ID.TENANT_ID: die ID des Mandanten, für den Sie die Passwortrichtlinie deaktivieren möchten
Erzwingung auf der Clientseite
Passwörter können vor dem Senden auf der Clientseite anhand der Passwortrichtlinie für das Projekt oder einen Mandanten validiert werden.
import { getAuth, validatePassword } from 'firebase/auth';
const auth = getAuth();
auth.tenantId = TENANT-ID;
const status = await validatePassword(auth, 'password').catch((error) => {
// Password couldn't be validated.
});
const policy = status.passwordPolicy;
// Use the status and policy to show what requirements are met and which are
// missing.