Keycloak Multi-Faktor-Authentifizierung mit OTP, WebAuthn und bedingter MFA
Jeder Keycloak-Realm kann bei der Anmeldung einen zweiten Faktor verlangen. Diese Seite zeigt, wo jeder Faktor in der Admin-Konsole liegt, welche Realm-Einstellungen dahinterstehen und wie Sie ihn nur dort verlangen, wo er zählt.
21 Tage testen, keine Karte erforderlich. · Runs on managed Keycloak.
Unterstützt Keycloak Multi-Faktor-Authentifizierung?
Ja. Keycloak unterstützt MFA ab Werk mit zwei Arten von zweitem Faktor: OTP-Codes aus TOTP- und HOTP-Authenticator-Apps sowie WebAuthn-Sicherheitsschlüssel und Passkeys. Jeder Faktor ist ein Schritt im Authentifizierungsablauf des Realms, Sie entscheiden also, wo er greift. Bedingte Teilabläufe verlangen den zweiten Faktor nur von bestimmten Benutzern, Rollen oder Clients, und Step-up-Authentifizierung verlangt ihn vor einer sensiblen Aktion erneut.

OTP mit Authenticator-Apps
Der OTP-Faktor von Keycloak akzeptiert zeitbasierte (TOTP) und zählerbasierte (HOTP) Codes aus Apps wie Google Authenticator, Microsoft Authenticator und FreeOTP. Das Codeformat legen Sie für den ganzen Realm unter Authentication, dann Policies, dann OTP Policy fest: den Typ, den Hash-Algorithmus, sechs oder acht Ziffern, die Periode und das Look-ahead-Fenster. Die Standardwerte, TOTP mit SHA1, sechs Ziffern und eine Periode von 30 Sekunden, funktionieren mit jeder gängigen App.
Benutzer registrieren eine App über die Aktion Configure OTP unter Authentication, dann Required actions, und wenn Sie dort den Schalter Set as default action einschalten, wird jeder neue Benutzer bei seiner nächsten Anmeldung dazu aufgefordert. Im Standard-Browser-Ablauf unter Authentication, dann Flows, liegt das OTP Form im Teilablauf Browser - Conditional 2FA, der von jedem Benutzer mit registrierter App einen Code verlangt.
{
"otpPolicyType": "totp",
"otpPolicyAlgorithm": "HmacSHA1",
"otpPolicyDigits": 6,
"otpPolicyPeriod": 30,
"otpPolicyLookAheadWindow": 1,
"otpPolicyCodeReusable": false
}WebAuthn-Sicherheitsschlüssel und Passkeys
Mit WebAuthn bestätigt ein Benutzer eine Anmeldung mit einem Sicherheitsschlüssel oder mit einem Passkey auf seinem Telefon, Laptop oder in seinem Passwortmanager, und Keycloak nutzt es auf zwei Arten. Als zweiter Faktor gibt der Benutzer ein Passwort ein und bestätigt dann mit dem Schlüssel: Aktivieren Sie Webauthn Register unter Authentication, dann Required actions, und setzen Sie WebAuthn Authenticator im Teilablauf Browser - Conditional 2FA unter Authentication, dann Flows, auf Alternative. Die Einstellungen dazu liegen unter Authentication, dann Policies, dann Webauthn Policy.
Für eine Passkey-Anmeldung ohne Passwort schalten Sie Enable Passkeys unter Realm settings, dann Login, ein und aktivieren Webauthn Register Passwordless unter Required actions. Seit Keycloak 26.4 bietet das Standard-Anmeldeformular dann Passkeys über das Autofill des Browsers und eine Schaltfläche Sign in with Passkey an, mit den Einstellungen unter Authentication, dann Policies, dann Webauthn Passwordless Policy.
{
"webAuthnPolicyPasswordlessRpEntityName": "Example",
"webAuthnPolicyPasswordlessSignatureAlgorithms": ["ES256", "RS256"],
"webAuthnPolicyPasswordlessUserVerificationRequirement": "required",
"webAuthnPolicyPasswordlessPasskeysEnabled": true
}Bedingte und Step-up-MFA
Ein bedingter Teilablauf führt seinen zweiten Faktor nur aus, wenn die Bedingungen an seinem Anfang zutreffen. Duplizieren Sie unter Authentication, dann Flows, den Browser-Ablauf, fügen Sie einen Teilablauf mit der Einstellung Conditional hinzu und beginnen Sie ihn mit einer Bedingung: Condition - user role, um nur Administratoren zu fragen, Condition - client scope, um nur in Clients mit einem bestimmten Client Scope zu fragen, oder Condition - user attribute für eine Gruppe von Benutzern. Das OTP Form oder der WebAuthn Authenticator nach der Bedingung wird dann nur von den Benutzern verlangt, auf die sie zutrifft. Binden Sie die Kopie als Browser-Ablauf des Realms, oder überschreiben Sie ihn für einen Client im Tab Advanced dieses Clients.
Step-up-Authentifizierung verlangt vor einer sensiblen Aktion einen stärkeren Faktor. Ordnen Sie unter Realm settings, dann General, ACR-Werte Authentifizierungsstufen zu, geben Sie jeder Stufe einen Teilablauf, der mit Condition - Level of Authentication beginnt, und lassen Sie Ihre Anwendung die benötigte Stufe mit dem Parameter acr_values anfordern. Ein Benutzer, der sich nur mit dem Passwort angemeldet hat, wird erst dann nach dem zweiten Faktor gefragt, wenn er die Aktion erreicht, die ihn erfordert.
"authenticatorConfig": [
{
"alias": "admins-only",
"config": { "condUserRole": "admin", "negate": "false" }
},
{
"alias": "step-up-level-2",
"config": { "loa-condition-level": "2", "loa-max-age": "300" }
}
]Enterprise-Funktionen
Alles, was Sie für eine sichere, skalierbare Authentifizierung brauchen
TOTP- und HOTP-Codes
Codes aus Google Authenticator, Microsoft Authenticator, FreeOTP und anderen Standard-Authenticator-Apps.
Sicherheitsschlüssel
WebAuthn-Hardwareschlüssel als zweiter Faktor nach dem Passwort.
Passkeys
Anmeldung mit einem Passkey ohne Passwort, die das Standard-Anmeldeformular seit Keycloak 26.4 anbietet.
Bedingtes MFA
Ein zweiter Faktor nur für die Rollen, Clients oder Benutzer, die Sie auswählen.
Step-up-Authentifizierung
Ein stärkerer Faktor vor einer sensiblen Aktion, angefordert mit ACR-Werten.
Wiederherstellungscodes
Einmal verwendbare Backup-Codes für Benutzer, die ihren Authenticator verlieren.
In 3 Schritten live
Von null in Produktion in Minuten, nicht in Monaten
Ihre Instanz erstellen
Registrieren Sie sich und deployen Sie Ihre Keycloak-Instanz. Ein Klick, vollständig verwaltet.
2 MinutenIhr Branding anpassen
Fügen Sie Ihr Logo, Ihre Farben und Ihr Styling hinzu, damit die Login-Seiten zu Ihrer Marke passen.
5 MinutenIntegrieren Sie Ihre App
Verwenden Sie vorhandene Keycloak-SDKs oder Standard-OIDC/SAML-Bibliotheken für jedes Framework.
15 MinutenKeine Kreditkarte nötig. 21 Tage kostenlos testen mit vollem Zugriff.
Häufig gestellte Fragen
Unterstützt Keycloak SMS für MFA?
Kann ich MFA nur für Administratoren verlangen?
Sollte ich Passkeys oder OTP verwenden?
Verwandte Funktionen
Ergänzen Sie Ihr Setup mit diesen Funktionen
Bereit loszulegen?
Starten Sie heute Ihre kostenlose Testphase. Voller Zugriff auf alle Funktionen für 21 Tage.