Wie richte ich OneLogin als SAML-Identitätsanbieter mit einem Amazon Cognito-Benutzerpool ein?

Lesedauer: 5 Minute
0

Ich möchte OneLogin als Identitätsanbieter (IDP) mit Security Assertion Markup Language 2.0 (SAML 2.0) und einem Amazon-Cognito-Benutzerpool verwenden.

Kurzbeschreibung

Amazon Cognito-Benutzerpools ermöglichen die Anmeldung über einen Drittanbieter (Verbund). Dies gilt auch über einen SAML-IdP wie OneLogin. Weitere Informationen findest du unter Hinzufügen einer Benutzerpool-Anmeldung über einen Drittanbieter und Hinzufügen von SAML-Identitätsanbietern zu einem Benutzerpool. Um OneLogin als SAML-IdP einzurichten, benötigst du einen Amazon Cognito-Benutzerpool und ein OneLogin-Konto mit einer darauf befindlichen Anwendung.

Lösung

Erstelle einen Amazon-Cognito-Benutzerpool mit einem App-Client und einem Domainnamen

Weitere Informationen findest du im Folgenden:

Hinweis: Beim Erstellen eines Benutzerpools wird standardmäßig das Standardattribut E-Mail ausgewählt. Weitere Informationen findest du unter Benutzerpool-Attribute.

Erstellen eines OneLogin-Kontos

  1. Öffne die OneLogin-Website und wähle dann Kostenlose Testphase.
  2. Notiere dir auf der Seite zur Kontoerstellung unter Deine OneLogin-Domain die Domain, die OneLogin bereitstellt.

Erstellen einer OneLogin-Anwendung

  1. Wähle auf der OneLogin-Portalseite (https://your-new-domain.onelogin.com/portal/) Administration (Verwaltung) aus.
  2. Bewege auf der Administration-Seite den Mauszeiger auf Apps und wähle dann Add apps (Apps hinzufügen) aus.
  3. Gib in der Suchleiste unter Find Applications (Anwendungen suchen) den Text saml ein und wähle dann SAML Test Connector (IdP) aus. Die Seite Add SAML Test Connector (IdP) (SAML Test Connector (IdP) hinzufügen).
  4. (Optional) Führe auf der Seite Add SAML Test Connector (IdP) einen der folgenden Schritte aus:
    Gib als Display Name (Anzeigename) einen Namen und eine Beschreibung ein. Zum Beispiel Cognito Setup (IdP).
    Lade für das rechteckige Symbol und das quadratische Symbol die Miniaturansichtssymbole gemäß den Spezifikationen auf der Seite hoch.
    Gib unter Beschreibung eine kurze zusammenfassende Beschreibung ein. Zum Beispiel Für den Amazon Cognito-Benutzerpool.
  5. Wähle Save (Speichern) aus.

Bearbeiten der OneLogin-Anwendungskonfiguration

  1. Wähle auf der OneLogin-Portalseite (https://your-new-domain.onelogin.com/portal/) Configuration (Konfiguration) aus.
  2. Führe auf der Seite Configuration die folgenden Schritte aus:
    Gib für RelayState eine gültige URL ein, z. B. https://www.example.com.
    Gib für Audience (Zielgruppe) urn:amazon:cognito:sp:yourUserPoolId ein.
    Gib für Recipient (Empfänger) https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse ein.
    Gib für ACS (Consumer) URL Validator (ACS (Verbraucher)-URL-Prüfer) https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse ein.
    Gib für ACS (Consumer) URL (ACS (Verbraucher)-URL) https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse ein.
    Lasse das Feld für Single Logout URL (URL für einmalige Abmeldung) leer.
    Hinweis: Ersetze für Audience (Zielgruppe) yourUserPoolId durch deine Amazon Cognito-Benutzerpool-ID. Suche die ID in der Amazon-Cognito-Konsole auf der Registerkarte Allgemeine Einstellungen auf der Verwaltungsseite für den Benutzerpool.
    Ersetze für ACS (Consumer) URL Validator (ACS (Verbraucher)-URL-Prüfer) und ACS (Consumer) URL (ACS (Verbraucher)-URL) yourDomainPrefix und region durch die Werte für deinen Benutzerpool. Du findest die Werte in der Amazon-Cognito-Konsole auf der Registerkarte Domain-Name auf der Verwaltungsseite für den Benutzerpool.

Bearbeiten der Parameter der OneLogin-Anwendung

  1. Wähle auf der OneLogin-Portalseite(https://your-new-domain.onelogin.com/portal/) Parameters aus.
    Hinweis: Auf der Seite Parameters ist standardmäßig der Parameter NameID (fka Email) aufgeführt.
  2. Um einen neuen, benutzerdefinierten Parameter zu erstellen, wähle Add parameter (Parameter hinzufügen).
  3. Gib im Dialogfeld New Field (Neues Feld) als Field name (Feldname) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier ein.
  4. Aktiviere für Flags (Kennzeichnungen) das Kontrollkästchen Include in SAML assertion (In SAML-Assertion einbeziehen).
  5. Wähle Save (Speichern) aus.
  6. Wähle als Value (Wert) die Option Email aus der Liste aus.
  7. Wähle Save (Speichern) aus.

Kopieren der IdP-Metadaten für die OneLogin-Anwendung

  1. Wähle auf der OneLogin-Portalseite (https://your-new-domain.onelogin.com/portal/) SSO aus.
  2. Kopiere unter Aussteller-URL die URL.
  3. Wähle Speichern aus.

OneLogin als SAML-IdP in Amazon Cognito konfigurieren

Informationen zur Konfiguration von OneLogin als SAML-IdP in Amazon Cognito findest du unter Erstellen und Verwalten eines SAML-Identitätsanbieters für einen Benutzerpool (AWS-Managementkonsole). Befolge die Anweisungen unter So konfigurierst du einen SAML-2.0-Identitätsanbieter im Benutzerpool. Wenn du den SAML-IdP erstellst, gib für das Metadatendokument die Aussteller-URL ein, die du kopiert hast.

Die E-Mail-Adresse aus dem IdP-Attribut dem Benutzerpool-Attribut zuweisen

Informationen zum Zuweisen der E-Mail-Adresse aus dem IdP-Attribut zum Benutzerpool-Attribut findest du unter Angeben von Identitätsanbieter-Attributzuweisungen für den Benutzerpool. Befolge die Anweisungen unter So gibst du eine SAML-Anbieter-Attributzuweisung an. Wenn du unter Attributzuweisung ein SAML-Attribut hinzufügst, gib für SAML-Attribut http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier ein. Wähle für das Benutzerpool-Attribut die Option E-Mail aus der Liste aus.

Änderung der App-Client-Einstellungen in Amazon Cognito

Hinweis: Dies ist eine Beispieleinrichtung zu Testzwecken. Für eine Produktionseinrichtung empfiehlt es sich, den OAuth-Ablauf Autorisierungscode erteilen für die App-Client-Einstellungen zu verwenden. Wenn du diesen Ablauf verwendest, erhältst du nach der Authentifizierung in der Weiterleitungs-URL einen Autorisierungscode. Du musst eine Anforderung an den Token-Endpunkt stellen, um den Autorisierungscode für JSON-Web-Tokens (JWTs) auszutauschen.

  1. Wähle in der Amazon Cognito-Konsole unter App-Integration die Option App-Client-Einstellungen aus. Führe danach die folgenden Schritte aus:
    Aktiviere unter Aktivierte Identitätsanbieter das Kontrollkästchen Alle auswählen.
    Gib für Rückruf-URL(s) eine URL ein, an die du deine Benutzer nach der Anmeldung weiterleiten möchtest. Gib zum Testen eine gültige URL ein, z. B. https://www.example.com.
    Gib unter Abmelde-URL(s) eine URL ein, zu der du deine Benutzer nach dem Abmelden umleiten möchtest. Gib zum Testen eine gültige URL ein, z. B. https://www.example.com.
    Aktiviere unter Zulässige OAuth-Abläufe zumindest das Kontrollkästchen Implizite Erteilung.
    Wähle unter Zulässige OAuth-Bereiche zumindest die Kontrollkästchen E-Mail und openid aus.
  2. Wähle Änderungen speichern aus. Weitere Informationen findest du unter Aktualisieren eines Benutzerpool-App-Clients (AWS CLI und AWS-API).

Testen des Anmeldeendpunkts

  1. Gib in deinem Browser https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl ein.
    Hinweis: Ersetze yourDomainPrefix und region durch die Werte für deinen Benutzerpool. Du findest sie in der Amazon-Cognito-Konsole auf der Registerkarte Domain-Name auf der Verwaltungsseite für den Benutzerpool. Ersetze yourClientId durch die ID deines App-Clients und redirectUrl durch die Rückruf-URL deines App-Clients. Du findest sie in der Amazon-Cognito-Konsole auf der Registerkarte App-Client-Einstellungen auf der Verwaltungsseite für den Benutzerpool. Weitere Informationen findest du unter Anmelde-Endpunkt.
  2. Wähle OneLogin.
    Hinweis: Wenn du zur Rückruf-URL des App-Clients weitergeleitet wirst, bist du in deinem Browser bereits beim OneLogin-Konto angemeldet. Alles ist richtig eingerichtet.
  3. Gib auf der OneLogin-Seite unter Username (Benutzername) den Benutzernamen deines OneLogin-Kontos ein.
  4. Wähle Continue (Weiter) aus.
  5. Gib unter Password (Passwort) dein OneLogin-Konto-Passwort ein.
  6. Wähle Continue (Weiter) aus.

Ähnliche Informationen

Integration von SAML-Identitätsanbietern von Drittanbietern in Amazon-Cognito-Benutzerpools

IdP-Authentifizierungsablauf für SAML-Benutzerpools