In dieser Anleitung wird beschrieben, wie Sie die Einmalanmeldung (SSO) zwischen Keycloak und Ihrem Cloud Identity- oder Google Workspace-Konto mithilfe der SAML-Föderation einrichten. In diesem Dokument wird davon ausgegangen, dass Sie Keycloak bereits installiert haben und verwenden.
Ziele
- Konfigurieren Sie Ihren Keycloak-Server so, dass er von Cloud Identity oder Google Workspace als Identitätsanbieter verwendet werden kann.
- Konfigurieren Sie Ihr Cloud Identity- oder Google Workspace-Konto so, dass es Keycloak für SSO verwendet.
Vorbereitung
- Wenn Sie noch kein Cloud Identity-Konto haben, registrieren Sie sich für ein Konto.
- Sorgen Sie dafür, dass Ihr Cloud Identity-Konto Super Admin-Berechtigungen hat.
- Wenn Ihr Keycloak-Server zum Verwalten von mehr als einem Bereich verwendet wird, entscheiden Sie, welcher Bereich für die Föderation verwendet werden soll.
- Sie müssen Administratorzugriff auf den ausgewählten Bereich haben.
SAML-Profil erstellen
Zum Konfigurieren der Einmalanmeldung (SSO) mit Keycloak erstellen Sie zuerst ein SAML-Profil in Ihrem Cloud Identity- oder Google Workspace-Konto. Das SAML-Profil enthält die Einstellungen für Ihren Keycloak-Server, einschließlich der URL und des Signaturzertifikats.
Später weisen Sie das SAML-Profil dann bestimmten Gruppen oder Organisationseinheiten zu.
So erstellen Sie ein neues SAML-Profil in Ihrem Cloud Identity- oder Google Workspace-Konto:
Gehen Sie in der Admin-Konsole zu Sicherheit > Authentifizierung > SSO mit Drittanbieter-IdP.
Klicken Sie auf Externe SSO-Profile > SAML-Profil hinzufügen.
Geben Sie auf der Seite SAML SSO Profile (SAML-SSO-Profil) die folgenden Einstellungen ein:
- Name:
Keycloak
IdP-Entitäts-ID
Keycloak 17 oder höher
https://KEYCLOAK/realms/REALM
Keycloak 16 oder früher
https://KEYCLOAK/auth/realms/REALM
URL für Anmeldeseite
Keycloak 17 oder höher
https://KEYCLOAK/realms/REALM/protocol/saml
Keycloak 16 oder früher
https://KEYCLOAK/auth/realms/REALM/protocol/saml
URL für Abmeldeseite
Keycloak 17 oder höher
https://KEYCLOAK/realms/REALM/protocol/openid-connect/logout
Keycloak 16 oder früher
https://KEYCLOAK/auth/realms/REALM/protocol/openid-connect/logout?redirect_uri=https://KEYCLOAK/auth/realms/REALM/account/
Passwort-URL ändern
Keycloak 17 oder höher
https://KEYCLOAK/realms/REALM/account
Keycloak 16 oder früher
https://KEYCLOAK/auth/realms/REALM/account
Ersetzen Sie in allen URLs Folgendes:
KEYCLOAK
: der vollständig qualifizierte Domainname Ihres Keycloak-ServersREALM
: Name des ausgewählten Bereichs
Laden Sie noch kein Bestätigungszertifikat hoch.
- Name:
Klicken Sie auf Speichern.
Die angezeigte Seite SAML-SSO-Profil enthält zwei URLs:
- Entitäts-ID
- ACS-URL
Sie benötigen diese URLs im nächsten Abschnitt, wenn Sie Keycloak konfigurieren.
Keycloak konfigurieren
Sie konfigurieren Ihren Keycloak-Server, indem Sie einen Client erstellen.
Client erstellen
Erstellen Sie einen neuen SAML-Client in Keycloak:
- Melden Sie sich in Keycloak an und öffnen Sie die Verwaltungskonsole.
- Wähle den Bereich aus, den Sie für die Föderation verwenden möchten.
- Wählen Sie im Menü Clients aus.
- Klicken Sie auf Create client.
Konfigurieren Sie die folgenden Einstellungen für den Client:
Keycloak 19 oder höher
- Client type: SAML
- Client ID (Client-ID): Entity-URL (Entitäts-URL) Ihres SSO-Profils.
- Name:
Google Cloud
Keycloak 18 oder früher
- Client ID (Client-ID): Entity-URL (Entitäts-URL) Ihres SSO-Profils.
- Client Protocol: saml
- Client SAML Endpoint: bleibt leer
Klicken Sie auf Speichern.
Geben Sie die Details für den Client an, indem Sie die folgenden Einstellungen konfigurieren:
Keycloak 19 oder höher
Auf dem Tab Settings:
- Gültige Weiterleitungs-URIs: ACS-URL aus Ihrem SSO-Profil
- Name ID Format: email
- Force Name ID Format: on
- Sign documents: off
- Sign Assertions: on
Auf dem Tab Keys:
- Client Signature Required: off
Keycloak 18 oder früher
- Name: Ein Name wie
Google Cloud
- Sign Assertions: on
- Client Signature Required: off
- Force Name ID Format: on
- Name ID Format: email
- Gültige Weiterleitungs-URIs: ACS-URL aus Ihrem SSO-Profil
Behalten Sie bei allen anderen Einstellungen die Standardwerte bei.
Klicken Sie auf Speichern.
Signaturzertifikat exportieren
Nachdem durch Keycloak ein Nutzer authentifiziert wurde, wird eine SAML-Assertion an Cloud Identity oder Google Workspace übergeben. Damit Cloud Identity und Google Workspace die Integrität und Authentifizierung der Assertion prüfen können, signiert Keycloak die Assertion mit einem speziellen Tokensignaturschlüssel und stellt ein Zertifikat bereit, mit dem Cloud Identity oder Google Workspace die Signatur prüfen können.
Exportieren Sie jetzt das Signaturzertifikat aus Keycloak:
- Wählen Sie im Menü Realm settings aus.
- Wählen Sie den Tab Keys aus.
Suchen Sie die Zeile für Algorithmus: RS256. Wenn es mehr als eine Zeile gibt, verwenden Sie die Zeile mit Verwendung: SIG. Wählen Sie dann Zertifikat aus.
Ein Dialogfeld mit einem base64-codierten Zertifikat wird angezeigt.
Kopieren Sie den base64-codierten Zertifikatwert in die Zwischenablage.
Bevor Sie das Signaturzertifikat verwenden können, müssen Sie es in das PEM-Format konvertieren. Fügen Sie dazu eine Kopfzeile und eine Fußzeile hinzu.
- Öffnen Sie einen Texteditor, z. B. Notepad oder Vim.
Fügen Sie folgenden Header gefolgt von einem Zeilenumbruch ein:
-----BEGIN CERTIFICATE-----
Fügen Sie das base64-codierte Zertifikat aus der Zwischenablage ein.
Fügen Sie einen Zeilenumbruch und die folgende Fußzeile ein:
-----END CERTIFICATE-----
Nach der Änderung sieht die Datei in etwa so aus:
-----BEGIN CERTIFICATE----- MIICmzCCAYMCBgF7v8/V1TANBgkq... -----END CERTIFICATE-----
Speichern Sie die Datei an einem temporären Speicherort auf Ihrem Computer.
SAML-Profil ausfüllen
Verwenden Sie das Signaturzertifikat, um die Konfiguration Ihres SAML-Profils abzuschließen:
Kehren Sie zur Admin-Konsole zurück und gehen Sie zu Sicherheit > Authentifizierung > SSO mit Drittanbieter-IdP.
Öffnen Sie das SAML-Profil
Keycloak
, das Sie zuvor erstellt haben.Klicken Sie auf den Abschnitt IdP-Details, um die Einstellungen zu bearbeiten.
Klicken Sie auf Zertifikat hochladen und wählen Sie das Tokensignaturzertifikat aus, das Sie zuvor heruntergeladen haben.
Klicken Sie auf Speichern.
Das SAML-Profil ist vollständig, Sie müssen es aber noch zuweisen.
SAML-Profil zuweisen
Wählen Sie die Nutzer aus, auf die das neue SAML-Profil angewendet werden soll:
Klicken Sie in der Admin-Konsole auf der Seite SSO mit Drittanbieter-IdPs auf SSO-Profilzuweisungen verwalten > Verwalten.
Wählen Sie im linken Bereich die Gruppe oder Organisationseinheit aus, auf die Sie das SSO-Profil anwenden möchten. Wählen Sie die Stammorganisationseinheit aus, wenn das Profil auf alle Nutzer angewendet werden soll.
Wählen Sie im rechten Bereich Anderes SSO-Profil aus.
Wählen Sie im Menü das SSO-Profil
Keycloak - SAML
aus, das Sie zuvor erstellt haben.Klicken Sie auf Speichern.
Wiederholen Sie die Schritte, um das SAML-Profil einer anderen Gruppe oder Organisationseinheit zuzuweisen.
Einmalanmeldung (SSO) testen
Sie haben die Konfiguration der Einmalanmeldung (SSO) abgeschlossen. Sie können jetzt prüfen, ob SSO funktioniert.
Wählen Sie einen Keycloak-Nutzer aus, der folgende Kriterien erfüllt:
- Der Nutzer hat eine E-Mail-Adresse.
- Die E-Mail-Adresse entspricht der primären E-Mail-Adresse eines vorhandenen Nutzers in Ihrem Cloud Identity- oder Google Workspace-Konto.
Der Cloud Identity-Nutzer hat keine Super Admin-Berechtigungen.
Nutzerkonten mit Super Admin-Berechtigungen müssen zur Anmeldung immer Google-Anmeldedaten verwenden. Deshalb eignen sie sich nicht für das Testen der Einmalanmeldung (SSO).
Öffnen Sie ein neues Browserfenster und rufen Sie die Google Cloud Console auf.
Geben Sie auf der Google-Anmeldeseite die E-Mail-Adresse des Nutzerkontos ein und klicken Sie auf Weiter.
Sie werden zu Keycloak umgeleitet.
Geben Sie die Keycloak-Anmeldedaten ein und klicken Sie dann auf Anmelden.
Nach erfolgreicher Authentifizierung werden Sie von Keycloak zurück zur Google Cloud Console weitergeleitet. Da dies die erste Anmeldung dieses Nutzers ist, werden Sie aufgefordert, die Nutzungsbedingungen und Datenschutzerklärung von Google zu akzeptieren.
Wenn Sie mit den Nutzungsbedingungen einverstanden sind, klicken Sie auf Akzeptieren.
Sie werden zur Google Cloud Console weitergeleitet. Dort werden Sie aufgefordert, die Einstellungen zu bestätigen und die Nutzungsbedingungen von Google Cloud zu akzeptieren. Wenn Sie den Bedingungen zustimmen möchten, klicken Sie auf Ja und dann auf Ich stimme zu – weiter.
Klicken Sie auf das Avatarsymbol und dann auf Abmelden.
Sie werden zu Keycloak umgeleitet.
Wenn Sie Probleme bei der Anmeldung haben, beachten Sie, dass Nutzerkonten mit Super Admin-Berechtigungen die Einmalanmeldung (SSO) umgehen können. Sie können also weiterhin die Admin-Konsole verwenden, um Einstellungen zu überprüfen oder zu ändern.
Optional: Weiterleitungen für domainspezifische Dienst-URLs konfigurieren
Wenn Sie von internen Portalen oder Dokumenten aus eine Verknüpfung zur Google Cloud Console herstellen, können Sie die Nutzererfahrung mithilfe von domainspezifischen Dienst-URLs verbessern.
Im Gegensatz zu regulären Dienst-URLs wie https://console.cloud.google.com/
enthalten domainspezifische Dienst-URLs den Namen Ihrer primären Domain. Nicht authentifizierte Nutzer, die auf einen Link zu einer URL für einen domainspezifischen Dienst klicken, werden sofort zu Keycloak weitergeleitet und nicht zuerst eine Google-Anmeldeseite angezeigt.
Beispiele für domainspezifische Dienst-URLs:
Google-Dienst | URL | Logo |
---|---|---|
Google Cloud Console | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com |
|
Google Docs | https://docs.google.com/a/DOMAIN |
|
Google Sheets | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com
|
|
Google Sites | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com |
|
Google Drive | https://drive.google.com/a/DOMAIN |
|
Gmail | https://mail.google.com/a/DOMAIN |
|
Google Groups | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com |
|
Google Notizen | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com
|
|
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com |
|
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
So konfigurieren Sie domainspezifische Dienst-URLs, damit sie zu Keycloak weiterleiten:
Klicken Sie in der Admin-Konsole auf der Seite SSO mit Drittanbieter-IDPs auf Domainspezifische Dienst-URLs > Bearbeiten.
Setzen Sie Nutzer automatisch an den externen IdP im folgenden SSO-Profil weiterleiten auf Aktiviert.
Legen Sie SSO-Profil auf
Keycloak
fest.Klicken Sie auf Speichern.
Optional: Identitätsbestätigungen konfigurieren
Google Log-in fordert Nutzer möglicherweise zur zusätzlichen Überprüfung auf, wenn sie sich von unbekannten Geräten aus anmelden oder wenn ihr Anmeldeversuch aus anderen Gründen verdächtig aussieht. Diese Identitätsbestätigungen verbessern die Sicherheit. Wir empfehlen, die Identitätsbestätigungen aktiviert zu lassen.
Wenn Sie feststellen, dass Identitätsbestätigungen zu viel Aufwand verursachen, können Sie die Identitätsbestätigung so deaktivieren:
- Wechseln Sie in der Admin-Konsole zu Sicherheit > Authentifizierung > Identitätsbestätigungen.
- Wählen Sie im linken Bereich eine Organisationseinheit aus, für die Sie die Identitätsbestätigung deaktivieren möchten. Wenn Sie die Identitätsbestätigung für alle Nutzer deaktivieren möchten, wählen Sie die Stammorganisationseinheit aus.
- Wählen Sie unter Einstellungen für Nutzer, die sich mit anderen SSO-Profilen anmelden die Option Keine zusätzliche Google-Identitätsbestätigung von Nutzern anfordern aus.
- Klicken Sie auf Speichern.