View a markdown version of this page

Was ist Amazon Cognito? - 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.

Was ist Amazon Cognito?

Amazon Cognito ist eine Identitätsplattform für Web- und mobile Apps. Es handelt sich um ein Benutzerverzeichnis, einen Authentifizierungsserver und einen Autorisierungsservice für OAuth-2.0-Zugriffs-Token und AWS -Anmeldeinformationen. Mit Amazon Cognito können Sie Benutzer über das integrierte Benutzerverzeichnis, über Ihr Unternehmensverzeichnis und über kommerzielle Identitätsanbieter wie Google und Facebook authentifizieren und autorisieren.

Amazon Cognito besteht aus den beiden folgenden Komponenten. Diese arbeiten unabhängig oder zusammen, je nach Ihren Zugriffsanforderungen für Ihre Benutzer.

Benutzerpools

Authentifizierungsflussdiagramm, das die Benutzeranmeldung über den Cognito-Benutzerpool mit Identitätsanbieter- und App-Interaktionen zeigt.

Erstellen Sie einen Benutzerpool, wenn Sie Benutzer für Ihre App oder API authentifizieren und autorisieren möchten. Benutzerpools sind Benutzerverzeichnisse mit Self-Service- und Administratorsteuerung zur Benutzererstellung, -verwaltung und -authentifizierung. Ihr Benutzerpool kann ein unabhängiges Verzeichnis und ein OIDC-Identitätsanbieter (IdP) sowie ein Zwischendienstanbieter (SP) für externe Personal- und Kundenidentitäten sein. Sie können in Ihrer App Single Sign-On (SSO) für die Mitarbeiteridentitäten Ihres Unternehmens in SAML 2.0 und OIDC mit Benutzerpools bereitstellen. IdPs Sie können SSO auch in Ihrer App für Kundenidentitäten Ihres Unternehmens in den öffentlichen OAuth-2.0-Identitätsspeichern Amazon, Google, Apple und Facebook bereitstellen. Weitere Informationen zu CIAM (Customer Identity and Access Management) finden Sie unter Was ist CIAM?.

Benutzerpools erfordern keine Integration in einen Identitätspool. Von einem Benutzerpool aus können Sie authentifizierte JSON-Web-Token (JWTs) direkt an eine App, einen Webserver oder eine API ausgeben.

Identitäten-Pools

Sequenzdiagramm, das den Authentifizierungsfluss zwischen App, Identitätspool, Benutzerpool und STS zeigt.

Richten Sie einen Amazon Cognito Cognito-Identitätspool ein, wenn Sie authentifizierten oder anonymen Benutzern Zugriff auf Ihre Ressourcen gewähren möchten. AWS Ein Identitätspool stellt AWS Anmeldeinformationen für Ihre App aus, um Benutzern Ressourcen bereitzustellen. Sie können Benutzer bei einem vertrauenswürdigen Identitätsanbieter authentifizieren, z. B. bei einem Benutzerpool oder einem SAML-2.0-Service. Es kann optional auch Anmeldeinformationen für Gastbenutzer ausgeben. Identitätspools verwenden sowohl rollen- als auch attributbasierte Zugriffskontrolle, um die Autorisierung Ihrer Benutzer für den Zugriff auf Ihre Ressourcen zu verwalten. AWS

Identitätspools erfordern keine Integration in einen Benutzerpool. Ein Identitätspool kann authentifizierte Anfragen sowohl von Mitarbeitern als auch von kommerziellen Identitätsanbietern direkt annehmen.

Ein Amazon-Cognito-Benutzerpool und ein Identitätspool, gemeinsam verwendet

In dem Diagramm am Anfang dieses Themas verwenden Sie Amazon Cognito, um Ihren Benutzer zu authentifizieren und ihm dann Zugriff auf einen  AWS-Service zu gewähren.

  1. Ihr App-Benutzer meldet sich über einen Benutzerpool an und erhält OAuth-2.0-Token.

  2. Ihre App tauscht ein Benutzerpool-Token mit einem Identitätspool gegen temporäre AWS Anmeldeinformationen aus, die Sie mit AWS APIs und dem () verwenden können. AWS Command Line Interface AWS CLI

  3. Ihre App weist Ihrem Benutzer die Sitzung mit den Anmeldeinformationen zu und gewährt autorisierten Zugriff auf Amazon AWS-Services S3 und Amazon DynamoDB.

Weitere Beispiele, die Identitäten- und Benutzerpools verwenden, finden Sie unter Häufige Amazon-Cognito-Szenarien.

In Amazon Cognito entspricht die Verpflichtung zur Sicherheit der Cloud im Rahmen des Modells der gemeinsamen Verantwortung den Anforderungen von SOC 1-3, PCI DSS und ISO 27001 und ist berechtigt. HIPAA-BAA Sie können Ihre Sicherheit in der Cloud in Amazon Cognito so gestalten, dass sie ISO 27001 und SOC1-3, aber nicht PCI HIPAA-BAA DSS, entspricht. Weitere Informationen finden Sie unter AWS -Services in Scope. Siehe auch Überlegungen zu regionenbezogenen Daten.

Funktionen von Amazon Cognito

Benutzerpools

Ein Amazon-Cognito-Benutzerpool ist ein Benutzerverzeichnis. Mit einem Benutzerpool können sich Ihre Benutzer über Amazon Cognito oder im Verbund durch einen Drittanbieter-Identitätsanbieter (IdP) bei Ihrer Web- oder mobilen App anmelden. Verbundene Benutzer und lokale Benutzer haben ein Benutzerprofil in Ihrem Benutzerpool.

Lokale Benutzer sind solche, die Sie erstellt haben oder die sich in Ihrem Benutzerpool angemeldet haben. Sie können diese Benutzerprofile im AWS-Managementkonsole, einem AWS SDK oder dem () verwalten und anpassen. AWS Command Line Interface AWS CLI

Amazon Cognito Cognito-Benutzerpools akzeptieren Token und Assertions von Drittanbietern IdPs und sammeln die Benutzerattribute in einem JWT, das an Ihre App ausgegeben wird. Sie können Ihre App auf einem Satz von JWTs standardisieren, während Amazon Cognito die Interaktionen mit IdPs diesen abwickelt und deren Ansprüche einem zentralen Token-Format zuordnet.

Ein Amazon-Cognito-Benutzerpool kann ein eigenständiger IdP sein. Amazon Cognito nutzt den OpenID Connect (OIDC)-Standard, um JWTs für die Authentifizierung und Autorisierung zu generieren. Wenn Sie lokale Benutzer anmelden, ist Ihr Benutzerpool für diese Benutzer maßgebend. Sie haben Zugriff auf die folgenden Funktionen, wenn Sie lokale Benutzer authentifizieren.

  • Implementieren Sie Ihr eigenes Web-Frontend, das die Amazon-Cognito-Benutzerpool-API aufruft, um Ihre Benutzer zu authentifizieren, zu autorisieren und zu verwalten.

  • Richten Sie Multi-Faktor-Authentifizierung (MFA) für Ihre Benutzer ein. Amazon Cognito unterstützt ein zeitgesteuertes Einmalpasswort (TOTP) und MFA für SMS-Nachrichten.

  • Schützen Sie sich vor dem Zugriff von Benutzerkonten, die unter böswilliger Kontrolle stehen.

  • Erstellen Sie Ihre eigenen benutzerdefinierten mehrstufigen Authentifizierungsabläufe.

  • Suchen Sie nach Benutzern in einem anderen Verzeichnis und migrieren Sie sie zu Amazon Cognito.

Ein Amazon Cognito Cognito-Benutzerpool kann auch eine Doppelrolle als Service Provider (SP) für Ihre IdPs App und als IdP für Ihre App erfüllen. Amazon Cognito Cognito-Benutzerpools können eine Verbindung zu Verbrauchern IdPs wie Facebook und Google oder Mitarbeitern IdPs wie Okta und Active Directory Federation Services (ADFS) herstellen.

Mit den OAuth 2.0- und OpenID Connect (OIDC)-Tokens, die ein Amazon-Cognito-Benutzerpool ausgibt, können Sie:

  • in Ihrer App ein ID-Token akzeptieren, das einen Benutzer authentifiziert und die Informationen bereitstellt, die Sie zum Einrichten des Benutzerprofils benötigen

  • ein Zugriffs-Token in Ihrer API mit den OIDC-Bereichen abrufen, die die API-Aufrufe Ihrer Benutzer autorisieren.

  • Rufen Sie AWS Anmeldeinformationen aus einem Amazon Cognito Cognito-Identitätspool ab.

Funktionen von Amazon-Cognito-Benutzerpools
Feature Description
OIDC-Identitätsanbieter Geben Sie ID-Token aus, um Benutzer zu authentifizieren
Autorisierungsserver Stellen Sie Zugriffstoken aus, um den Benutzerzugriff auf APIs zu autorisieren
SAML 2.0-Dienstanbieter Verwandeln Sie SAML-Assertionen in ID- und Zugriffstoken
Vertrauende OIDC-Partei Transformieren Sie OIDC-Token in ID- und Zugriffstoken
Vertrauende Partei des sozialen Anbieters Verwandeln Sie ID-Token von Apple, Facebook, Amazon oder Google in Ihre eigenen ID- und Zugriffstoken
Frontend-Dienst zur Authentifizierung Registrieren, verwalten und authentifizieren Sie Benutzer mit verwaltetem Login
API-Unterstützung für Ihre eigene Benutzeroberfläche Erstellen, verwalten und authentifizieren Sie Benutzer mithilfe von Authentifizierungs-API-Anfragen in unterstützten AWS SDKs¹
Multi-factor authentication Verwenden Sie SMS-Nachrichten, TOTPs oder das Gerät Ihres Benutzers als zusätzlichen Authentifizierungsfaktor¹
Sicherheitsüberwachung und Reaktion Schützt vor böswilligen Aktivitäten und unsicheren Passworten¹
Passen Sie die Authentifizierungsabläufe an Erstellen Sie Ihren eigenen Authentifizierungsmechanismus oder fügen Sie benutzerdefinierte Schritte zu bestehenden Abläufen hinzu²
Gruppen Erstellen Sie logische Gruppierungen von Benutzern und eine Hierarchie von IAM-Rollenansprüchen, wenn Sie Token an Identitätspools übergeben
Passen Sie Token an Passen Sie Ihre ID und Zugriffstoken mit neuen, geänderten und unterdrückten Ansprüchen an
Passen Sie Benutzerattribute an Weisen Sie Benutzerattributen Werte zu und fügen Sie Ihre eigenen benutzerdefinierten Attribute hinzu

¹ Die Funktion ist für Verbundbenutzer nicht verfügbar.

² Die Funktion steht Benutzern mit verbundener und verwalteter Anmeldung nicht zur Verfügung.

Weitere Informationen zu Benutzerpools finden Sie unter Erste Schritte mit Benutzerpools und in der API-Referenz der Amazon-Cognito-Benutzerpools.

Identitäten-Pools

Ein Identitätspool ist eine Sammlung von eindeutigen Kennungen oder Identitäten, die Sie Ihren Benutzern oder Gästen zuweisen und die Sie für den Empfang temporärer Anmeldeinformationen autorisieren. AWS Wenn Sie einem Identitätspool einen Authentifizierungsnachweis in Form vertrauenswürdiger Anforderungen eines SAML 2.0-, OpenID Connect (OIDC)- oder OAuth 2.0-Social-Identity-Anbieters (IdP) vorlegen, ordnen Sie Ihrem Benutzer eine Identität im Identitätspool zu. Das Token, das Ihr Identitätspool für die Identität erstellt, kann temporäre Sitzungsanmeldedaten von AWS -Security-Token-Service () abrufen.AWS STS

Als Ergänzung zu authentifizierten Identitäten können Sie auch einen Identitätspool konfigurieren, um den AWS Zugriff ohne IdP-Authentifizierung zu autorisieren. Sie können einen benutzerdefinierten Authentifizierungsnachweis mit anbieten. Entwicklerauthentifizierte Identitäten Sie können Gastbenutzern mit nicht authentifizierten Identitäten auch temporäre AWS Anmeldeinformationen gewähren.

Mit Identitätspools haben Sie zwei Möglichkeiten, die IAM-Richtlinien in Ihren zu integrieren. AWS-Konto Sie können diese beiden Funktionen zusammen oder einzeln verwenden.

Role-based Zugriffskontrolle

Wenn Ihr Benutzer Anforderungen an Ihren Identitätspool weitergibt, wählt Amazon Cognito die angeforderte IAM-Rolle aus. Um die Berechtigungen der Rolle an Ihre Bedürfnisse anzupassen, wenden Sie IAM-Richtlinien auf jede Rolle an. Wenn Ihr Benutzer beispielsweise nachweist, dass er in der Marketingabteilung tätig ist, erhält er Anmeldeinformationen für eine Rolle mit Richtlinien, die auf die Zugriffsanforderungen der Marketingabteilung zugeschnitten sind. Amazon Cognito kann eine Standardrolle anfordern; dies ist eine Rolle, die auf Regeln basiert, die die Anforderungen Ihres Benutzers abfragen, oder eine Rolle, die auf der Gruppenmitgliedschaft Ihres Benutzers in einem Benutzerpool basiert. Sie können die Rollen-Vertrauensrichtlinie auch so konfigurieren, dass IAM nur Ihrem Identitätspool vertraut, um temporäre Sitzungen zu generieren.

Attribute für Zugriffskontrolle

Ihr Identitätspool liest Attribute aus den Ansprüchen Ihres Benutzers und ordnet sie den Prinzipal-Tags in der temporären Sitzung Ihres Benutzers zu. Sie können dann Ihre ressourcenbasierten IAM-Richtlinien konfigurieren, um Zugriff auf Ressourcen zu gewähren oder zu verweigern, die auf IAM-Prinzipalen basieren, die die Sitzungs-Tags aus Ihrem Identitätspool enthalten. Wenn Ihr Benutzer beispielsweise nachweist, dass er in der Marketingabteilung tätig ist, AWS STS kennzeichnet er seine SitzungDepartment: marketing. Ihr Amazon S3 S3-Bucket ermöglicht Lesevorgänge auf der Grundlage einer aws: PrincipalTag -Bedingung, die einen Wert von marketing für das Department Tag erfordert.

Eigenschaften von Amazon-Cognito-Identitätspools
Feature Description
Amazon Cognito Cognito-Benutzerpool, vertrauende Partei Tauschen Sie ein ID-Token aus Ihrem Benutzerpool gegen Web-Identitätsanmeldedaten von AWS STS
SAML 2.0-Dienstanbieter Tauschen Sie SAML-Assertionen gegen Web-Identitätsanmeldedaten von aus AWS STS
Vertrauende OIDC-Partei Tauschen Sie OIDC-Token gegen Web-Identitätsanmeldedaten von AWS STS
Vertrauende Partei des sozialen Anbieters Tauschen Sie OAuth-Token von Amazon, Facebook, Google, Apple und Twitter gegen Web-Identitätsanmeldedaten von AWS STS
Benutzerdefinierter vertrauender Partner Tauschen Sie mit AWS Anmeldeinformationen Ansprüche in einem beliebigen Format gegen Web-Identitätsanmeldedaten von AWS STS
Nicht authentifizierter Zugriff Stellen Sie Web-Identitätsanmeldedaten mit eingeschränktem Zugriff ohne Authentifizierung aus AWS STS
Role-based Zugriffskontrolle Wählen Sie eine IAM-Rolle für Ihren authentifizierten Benutzer auf der Grundlage seiner Ansprüche aus und konfigurieren Sie Ihre Rollen so, dass sie nur im Kontext Ihres Identitätspools übernommen werden
Attribute-based Zugriffskontrolle Wandeln Sie Ansprüche in Prinzipal-Tags für Ihre AWS STS temporäre Sitzung um und filtern Sie den Ressourcenzugriff mithilfe von IAM-Richtlinien anhand von Prinzipal-Tags

Für weitere Informationen zu Identitäten-Pools siehe Erste Schritte mit Amazon Cognito Cognito-Identitätspools und die API-Referenz für Amazon-Cognito-Identitäten-Pools.

Vergleich von Amazon-Cognito-Benutzerpools und -Identitätspools

Feature Description Benutzerpools Identitäten-Pools
OIDC-Identitätsanbieter Stellen Sie OIDC-ID-Token aus, um App-Benutzer zu authentifizieren
Benutzerverzeichnis Benutzerprofile für die Authentifizierung speichern
Autorisieren Sie den API-Zugriff Stellen Sie Zugriffstoken aus, um den Benutzerzugriff auf APIs (einschließlich Self-Service-API-Operationen für Benutzerprofile), Datenbanken und andere Ressourcen zu autorisieren, die OAuth-Bereiche akzeptieren
Autorisierung der IAM-Webidentität Generieren Sie Token, die Sie gegen temporäre AWS Anmeldeinformationen AWS STS eintauschen können
SAML 2.0-Dienstanbieter und OIDC-Identitätsanbieter Stellen Sie maßgeschneiderte OIDC-Token auf der Grundlage von Ansprüchen eines SAML 2.0-Identitätsanbieters aus
Vertrauende OIDC-Partei und OIDC-Identitätsanbieter Stellen Sie maßgeschneiderte OIDC-Token auf der Grundlage von Ansprüchen eines OIDC-Identitätsanbieters aus
Vertrauende OAuth 2.0-Partei und OIDC-Identitätsanbieter Stellen Sie maßgeschneiderte OIDC-Token aus, die auf den Geltungsbereichen von sozialen OAuth 2.0-Anbietern wie Apple und Google basieren
SAML 2.0-Dienstanbieter und Broker für Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines SAML 2.0-Identitätsanbieters aus
Vertrauende OIDC-Partei und Broker für Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines OIDC-Identitätsanbieters aus
Vertrauensperson des sozialen Anbieters und Vermittler von Zugangsdaten Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von JSON-Webtoken aus Entwickleranwendungen bei sozialen Anbietern wie Apple und Google aus
Amazon Cognito Cognito-Benutzerpool, vertrauenswürdige Partei und Broker für Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von JSON-Webtoken aus Amazon Cognito Cognito-Benutzerpools aus
Benutzerdefinierter Vertrauenspartner und Broker für Anmeldeinformationen Geben Sie temporäre AWS Anmeldeinformationen für beliebige Identitäten aus, die durch die IAM-Anmeldeinformationen des Entwicklers autorisiert wurden
Frontend-Dienst zur Authentifizierung Registrieren, verwalten und authentifizieren Sie Benutzer mit verwaltetem Login
API-Unterstützung für Ihre eigene Authentifizierungs-Benutzeroberfläche Erstellen, verwalten und authentifizieren Sie Benutzer über API-Anfragen in unterstützten AWS SDKs¹
MFA Verwenden Sie SMS-Nachrichten, TOTPs oder das Gerät Ihres Benutzers als zusätzlichen Authentifizierungsfaktor¹
Sicherheitsüberwachung und Reaktion Schützen Sie sich vor böswilligen Aktivitäten und unsicheren Passworten¹
Passen Sie die Authentifizierungsabläufe an Erstellen Sie Ihren eigenen Authentifizierungsmechanismus oder fügen Sie benutzerdefinierte Schritte zu bestehenden Abläufen hinzu¹
Benutzergruppen Erstellen Sie logische Gruppierungen von Benutzern und eine Hierarchie von IAM-Rollenansprüchen, wenn Sie Token an Identitätspools weitergeben
Passen Sie Token an Passen Sie Ihre ID und Zugriffstoken mit neuen, geänderten und unterdrückten Ansprüchen und Geltungsbereichen an
AWS WAF Web-ACLs Überwachen und kontrollieren Sie Anfragen an Ihr Authentifizierungs-Frontend mit AWS WAF
Passen Sie Benutzerattribute an Weisen Sie Benutzerattributen Werte zu und fügen Sie Ihre eigenen benutzerdefinierten Attribute hinzu
Nicht authentifizierter Zugriff Geben Sie Anmeldeinformationen für Web-Identitäten mit eingeschränktem Zugriff ohne Authentifizierung aus AWS STS
Role-based Zugriffskontrolle Wählen Sie eine IAM-Rolle für Ihren authentifizierten Benutzer auf der Grundlage seiner Ansprüche aus und konfigurieren Sie Ihre Rollenvertrauensstellung so, dass der Zugriff auf Web-Identity-Benutzer beschränkt wird
Attribute-based Zugriffskontrolle Verwandeln Sie Benutzeransprüche in Prinzipal-Tags für Ihre AWS STS temporäre Sitzung und filtern Sie den Ressourcenzugriff mithilfe von IAM-Richtlinien anhand von Prinzipal-Tags

¹ Die Funktion ist für Verbundbenutzer nicht verfügbar.

Erste Schritte mit Amazon Cognito

Beispiele für Benutzerpool-Anwendungen finden Sie unterErste Schritte mit Benutzerpools.

Eine Einführung in Identitätspools finden Sie unterErste Schritte mit Amazon Cognito Cognito-Identitätspools.

Links zu Anleitungen zur Einrichtung von Benutzerpools und Identitätspools finden Sie unterGeführte Einrichtungsoptionen für Amazon Cognito.

Informationen zu den ersten Schritten mit einem AWS SDK finden Sie unter AWS Entwicklertools. Spezifische Entwicklerressourcen für Amazon Cognito finden Sie unter Amazon Cognito Developer Resources.

Um Amazon Cognito zu verwenden, benötigen Sie ein AWS-Konto. Weitere Informationen finden Sie unter Erste Schritte mit AWS.

Regionale Verfügbarkeit

Amazon Cognito ist in mehreren AWS Regionen weltweit verfügbar. In jeder Region wird Amazon Cognito auf mehrere Availability Zones verteilt. Diese Availability Zones sind physisch voneinander isoliert, jedoch durch private, hochredundante Netzwerkverbindungen mit geringer Latenz und hohem Durchsatz miteinander verbunden. Diese Availability Zones AWS ermöglichen die Bereitstellung von Diensten, einschließlich Amazon Cognito, mit sehr hoher Verfügbarkeit und Redundanz bei gleichzeitiger Minimierung der Latenz.

Informationen darüber, ob Amazon Cognito derzeit in einer Region verfügbar ist AWS-Region, finden Sie unter AWS Services nach Regionen.

Weitere Informationen zu regionalen API-Dienstendpunkten finden Sie unter AWS Regionen und Endpunkte in der. Allgemeine Amazon Web Services-Referenz

Weitere Informationen über die in jeder Region verfügbare Anzahl von Availability Zones finden Sie unter Globale AWS -Infrastruktur.

Preise für Amazon Cognito

Weitere Informationen zu den Amazon-Cognito-Preisen finden Sie unter Preise für Amazon Cognito.