View a markdown version of this page

Authentifizieren von Benutzern mit Amazon Cognito Cognito-Benutzerpools - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Authentifizieren von Benutzern mit Amazon Cognito Cognito-Benutzerpools

Ein Amazon-Cognito-Benutzerpool ist ein Benutzerverzeichnis für die Authentifizierung und Autorisierung von Web- und mobilen Apps. Aus der Sicht Ihrer App ist ein Amazon-Cognito-Benutzerpool ein OIDC (OpenID Connect)-Identitätsanbieter. Ein Benutzerpool bietet zusätzliche Ebenen für Sicherheit, Identitätsverbund, Anwendungsintegration und Anpassung der Benutzerumgebung.

In diesem Kapitel wird beschrieben, wie sich Ihre Benutzer authentifizieren: Registrierung, Anmeldung und die Authentifizierungsabläufe, die ein Benutzerpool unterstützt, einschließlich der Anmeldung über externe Identitätsanbieter. Verwandte Aufgaben werden in eigenen Kapiteln behandelt — Verwaltung der Benutzer in Ihrem Verzeichnis, Anpassung des Verhaltens mit AWS Lambda Triggern und Schutz des Pools durch Bedrohungsschutz.

Ein Diagramm mit einem allgemeinen Überblick über die Funktionsweise von Benutzerpools. Clients können sich mit Anwendungen anmelden, die mit einem AWS SDK erstellt wurden, oder mit dem in Benutzerpools integrierten OpenID Connect (OIDC) IdP. Benutzerpools vereinheitlichen auch Anmeldeprozesse für mehrere Social-, OpenID Connect- und SAML 2.0-Identitätsanbieter.

Features

Amazon-Cognito-Benutzerpools haben die folgenden Merkmale.

Sign-up

Amazon-Cognito-Benutzerpools verfügen über benutzergesteuerte, administratorgesteuerte und programmatische Methoden, um Ihrem Benutzerpool Benutzerprofile hinzuzufügen. Amazon Cognito Cognito-Benutzerpools unterstützen die folgenden Anmeldemodelle. Sie können eine beliebige Kombination dieser Modelle in Ihrer App verwenden.

Wichtig

Wenn Sie die Benutzerregistrierung in Ihrem Benutzerpool aktivieren, kann sich jeder im Internet für ein Konto registrieren und bei Ihren Apps anmelden. Aktivieren Sie die Selbstregistrierung in Ihrem Benutzerpool nur dann, wenn Sie die öffentliche Registrierung für Ihre App aktivieren möchten. Um diese Einstellung zu ändern, aktualisieren Sie Self-service die Registrierung im Sign-upMenü unter Authentifizierung in der Benutzerpool-Konsole oder aktualisieren Sie den Wert von AllowAdminCreateUserOnlyin einer CreateUserPooloder UpdateUserPoolAPI-Anfrage.

Hinweise zu Sicherheitsfunktionen, die Sie in Ihren Benutzerpools einrichten können, finden Sie unter Schutz von Benutzerpools mit Bedrohungsschutz.

  1. Ihre Benutzer können ihre Informationen in Ihre App eingeben und ein Benutzerprofil erstellen, das für Ihren Benutzerpool spezifisch ist. Sie können API-Anmeldevorgänge aufrufen, um Benutzer in Ihrem Benutzerpool zu registrieren. Sie können diese Anmeldevorgänge für jedermann öffnen oder sie mit einem geheimen Kundengeheimnis oder Anmeldeinformationen autorisieren. AWS

  2. Sie können Benutzer an einen externen IdP weiterleiten, den sie autorisieren können, ihre Informationen an Amazon Cognito weiterzugeben. Amazon Cognito verarbeitet OIDC-ID-Tokens, OAuth-2.0–userInfoDaten und SAML-2.0-Assertions in Benutzerprofilen in Ihrem Benutzerpool. Sie kontrollieren die Attribute, die Amazon Cognito erhalten soll, auf der Grundlage von Regeln für die Attributzuordnung.

  3. Sie können die öffentliche oder föderierte Registrierung überspringen und Benutzer auf der Grundlage Ihrer eigenen Datenquelle und Ihres eigenen Schemas auf eine der folgenden Arten selbst erstellen:

    • Fügen Sie Benutzer direkt in der Amazon Cognito Cognito-Konsole oder mit der API hinzu.

    • Importieren Sie Benutzer in großen Mengen aus einer CSV-Datei.

    • Führen Sie eine AWS Lambda Just-in-Time-Funktion aus, die nach jedem neuen Benutzer in einem vorhandenen Verzeichnis sucht und sein Profil anhand dieser Daten auffüllt.

Nachdem sich Ihre Benutzer angemeldet haben, können Sie sie zu Gruppen hinzufügen, die Amazon Cognito in den Zugriffs- und ID-Token auflistet. Sie können Benutzerpoolgruppen auch mit IAM-Rollen verknüpfen, wenn Sie das ID-Token an einen Identitätspool übergeben.

Sign-in

Amazon Cognito kann ein eigenständiges Benutzerverzeichnis und ein  Identitätsanbieter (IDP) für Ihre App sein. Ihre Benutzer können sich mit verwalteten Anmeldeseiten, die von Amazon Cognito gehostet werden, oder mit einem maßgeschneiderten Benutzerauthentifizierungsservice über die Amazon Cognito Cognito-Benutzerpools-API anmelden. Die Anwendungsebene hinter Ihrem maßgeschneiderten Frontend kann Anfragen am Backend mit einer von mehreren Methoden autorisieren, um legitime Anfragen zu bestätigen.

Benutzer können Benutzernamen und Passwörter, Hauptschlüssel sowie Einmalpasswörter für E-Mail- und SMS-Nachrichten einrichten und sich mit diesen anmelden. Sie können eine konsolidierte Anmeldung mit externen Benutzerverzeichnissen, Multi-Faktor-Authentifizierung (MFA) nach der Anmeldung, vertrauenswürdigen Geräten und von Ihnen entworfene benutzerdefinierte Authentifizierungsabläufe anbieten.

Um Benutzer mit einem externen Verzeichnis anzumelden, das optional mit dem in Amazon Cognito integrierten Benutzerverzeichnis kombiniert ist, können Sie die folgenden Integrationen hinzufügen.

  1. Melden Sie sich an und importieren Sie Kundenbenutzerdaten mit OAuth 2.0 Social Sign-In. Amazon Cognito unterstützt die Anmeldung mit Google, Facebook, Amazon und Apple über OAuth 2.0.

  2. Melden Sie sich an und importieren Sie Benutzerdaten für Arbeit und Schule mit SAML- und OIDC-Anmeldung. Sie können Amazon Cognito auch so konfigurieren, dass es Anforderungen von jedem SAML- oder OpenID Connect (OIDC)-Identitätsanbieter (IDP) akzeptiert.

  3. Verknüpfen Sie externe Benutzerprofile mit nativen Benutzerprofilen. Ein verknüpfter Benutzer kann sich mit einer Benutzeridentität eines Drittanbieters anmelden und Zugriff erhalten, den Sie einem Benutzer im integrierten Verzeichnis zuweisen.

Machine-to-machine Autorisierung

Bei manchen Sitzungen handelt es sich nicht um eine Interaktion zwischen Mensch und Maschine. Möglicherweise benötigen Sie ein Servicekonto, das eine Anfrage an eine API durch einen automatisierten Prozess autorisieren kann. Um Zugriffstoken für die Machine-to-Maschine-Autorisierung mit OAuth 2.0-Bereichen zu generieren, können Sie einen App-Client hinzufügen, der vom Token-Endpunkt aus Zugriffsanmeldeinformationen gewährt, oder den GetClientToken API-Vorgang aufrufen, für den keine Benutzerpool-Domain erforderlich ist.

Verwaltete Anmeldung

Wenn Sie keine Benutzeroberfläche erstellen möchten, können Sie Ihren Benutzern benutzerdefinierte verwaltete Anmeldeseiten anbieten. Bei der verwalteten Anmeldung handelt es sich um eine Reihe von Webseiten für die Registrierung, Anmeldung, Multi-Faktor-Authentifizierung (MFA) und das Zurücksetzen von Passwörtern. Sie können Ihrer bestehenden Domain eine verwaltete Anmeldung hinzufügen oder eine Präfix-Domain in einer Subdomain verwenden. AWS

Für die verwaltete Anmeldung gibt es eine Alternative: die klassische gehostete Benutzeroberfläche, eine Version der ersten Generation mit einfacherem Design und weniger Funktionen. Sie wählen eine der beiden Optionen für eine Benutzerpool-Domain — sie werden nicht zusammen verwendet. In der folgenden Tabelle werden die beiden Optionen verglichen.

Feature

Klassische gehostete Benutzeroberfläche

Verwaltete Anmeldung

Version mit Markenkennzeichnung

Gehostete Benutzeroberfläche (klassisch)

Verwaltete Anmeldung

Anpassung

File-based Branding (Logobild und eine CSS-Wertedatei)

Visueller Branding-Editor in der Amazon Cognito Cognito-Konsole

Feature-Pläne

Alle Pläne, einschließlich Lite

Essentials und Plus

Anmeldung mit Passkey

Nicht verfügbar

Available (Verfügbar)

Anmerkung

Die klassische gehostete Benutzeroberfläche ist in allen Feature-Plänen, einschließlich Lite, verfügbar. Für die verwaltete Anmeldung und den zugehörigen Branding-Editor ist der Featureplan Essentials oder Plus erforderlich. Weitere Informationen finden Sie unter Feature-Pläne für den Benutzerpool.

Um die verwaltete Anmeldung einzurichten, müssen Sie die folgenden Voraussetzungen der Reihe nach erfüllen:

  1. Erstellen Sie einen Benutzerpool. Siehe Erstellen Sie eine neue Anwendung in der Amazon Cognito Cognito-Konsole.

  2. Fügen Sie eine Benutzerpool-Domäne hinzu (eine Präfixdomäne oder eine benutzerdefinierte Domäne). Siehe Konfigurieren einer Benutzerpool-Domäne.

  3. Erstellen Sie einen App-Client und legen Sie dessen Branding-Version und Rückgabe-URL fest. Siehe Vom Benutzerpool verwaltete Anmeldung.

Schutz vor Bedrohungen

Schützen Sie Ihre Benutzer mit Multi-Faktor-Authentifizierung (MFA), adaptiver Authentifizierung und Web-ACLs vor Kennwortraten, Kontoübernahme und AWS WAF bösartigem Datenverkehr. Diese Schutzmaßnahmen werden in behandelt. Schutz von Benutzerpools mit Bedrohungsschutz

Benutzerdefinierte Nutzerumgebung

In den meisten Phasen der Registrierung, Anmeldung oder Profilaktualisierung können Sie mithilfe von Lambda-Triggern und benutzerdefinierten Authentifizierungsabläufen anpassen, wie Amazon Cognito die Anfrage verarbeitet, und der verwalteten Anmeldung ein vertrautes Erscheinungsbild verleihen. Siehe Anpassen von Benutzerpool-Workflows mit Lambda-Auslösern.

Überwachung und Analytik

Amazon Cognito Cognito-Benutzerpools protokollieren API-Anfragen an AWS CloudTrail, veröffentlichen Leistungskennzahlen in Amazon CloudWatch Logs und überwachen die Nachrichtenzustellung und das Anforderungsvolumen. Siehe Anmeldung bei Amazon Cognito AWS CloudTrail.

Integration von Amazon-Cognito-Identitätspools

Die andere Hälfte von Amazon Cognito sind die Identitätspools. Identitätspools stellen Anmeldeinformationen bereit, mit denen API-Anfragen von Ihren Benutzern autorisiert und überwacht werden können AWS-Services, z. B. an Amazon DynamoDB oder Amazon S3. Sie können identitätsbasierte Zugriffsrichtlinien erstellen, die Ihre Daten, basierend darauf schützen, wie Sie die Benutzer in Ihrem Benutzerpool klassifizieren. Identitätspools können unabhängig von der Benutzerpool-Authentifizierung auch Tokens und SAML-2.0-Assertions von einer Vielzahl von Identitätsanbietern akzeptieren.