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

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 IdPs OIDC mit Benutzerpools bereitstellen. 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

Richten Sie einen Amazon Cognito Cognito-Identitätspool ein, wenn Sie authentifizierten oder anonymen Benutzern den 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 Cloud-Sicherheit im Rahmen des Modells der geteilten Verantwortung den Anforderungen von SOC 1-3, PCI DSS, ISO 27001 und HIPAA-BAA. Sie können Ihre Cloud-Sicherheit in Amazon Cognito so gestalten, dass sie mit SOC1-3, ISO 27001 und HIPAA-BAA, jedoch nicht mit PCI DSS ist. 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 Management Console, 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
Funktion Beschreibung
OIDC-IdP Geben Sie ID-Token aus, um Benutzer zu authentifizieren
Autorisierungsserver Stellen Sie Zugriffstoken aus, um den Benutzerzugriff auf APIs zu autorisieren
SAML 2.0 SP Verwandeln Sie SAML-Assertionen in ID- und Zugriffstoken
OIDC SP Transformieren Sie OIDC-Token in ID- und Zugriffstoken
OAuth 2.0 SP 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 der gehosteten Benutzeroberfläche
API-Unterstützung für Ihre eigene 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ü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 weitergeben
Passen Sie ID-Token an Passen Sie Ihre ID-Token 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 nur für lokale Benutzer verfügbar.

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 Ihren eigenen benutzerdefinierten Authentifizierungsnachweis oder auch keine Authentifizierung anbieten. Sie können jedem App-Benutzer, der sie anfordert, temporäre AWS Anmeldeinformationen mit nicht authentifizierten Identitäten gewähren. Identitätspools akzeptieren auch Anforderungen und geben Anmeldeinformationen auf der Grundlage Ihres eigenen benutzerdefinierten Schemas mit vom Entwickler authentifizierten Identitäten aus.

Mit Amazon-Cognito-Identitätspools haben Sie zwei Möglichkeiten zur Integration in die IAM-Richtlinien in Ihrem  AWS-Konto. Sie können diese beiden Funktionen zusammen oder einzeln verwenden.

Rollenbasierte 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 kennzeichnen Sie seine Sitzung. Department: 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
Funktion Beschreibung
Amazon Cognito Cognito-Benutzerpool SP Tauschen Sie ein ID-Token aus Ihrem Benutzerpool gegen Web-Identitätsanmeldedaten von AWS STS
SAML 2.0 SP Tauschen Sie SAML-Assertionen gegen Web-Identitätsanmeldedaten von AWS STS
OIDC SP Tauschen Sie OIDC-Token gegen Web-Identitätsanmeldedaten von AWS STS
OAuth 2.0 SP Tauschen Sie OAuth-Token von Amazon, Facebook, Google, Apple und Twitter gegen Web-Identitätsanmeldedaten von AWS STS
Benutzerdefinierter SP 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
Rollenbasierte 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
Attributbasierte Zugriffskontrolle Wandeln Sie Ansprüche in Prinzipal-Tags für Ihre AWS STS temporäre Sitzung um und verwenden Sie IAM-Richtlinien, um den Ressourcenzugriff anhand von Prinzipal-Tags zu filtern

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

Funktion Beschreibung Benutzerpools Identitäten-Pools
OIDC-IdP Stellen Sie OIDC-ID-Token aus, um App-Benutzer zu authentifizieren
API-Autorisierungsserver Stellen Sie Zugriffstoken aus, um den Benutzerzugriff auf APIs, Datenbanken und andere Ressourcen zu autorisieren, die OAuth 2.0-Autorisierungsbereiche akzeptieren
IAM-Web-Identitätsautorisierungsserver Generieren Sie Token, die Sie gegen temporäre AWS Anmeldeinformationen AWS STS eintauschen können
SAML 2.0 SP und OIDC IdP Stellen Sie benutzerdefinierte OIDC-Token auf der Grundlage von Ansprüchen eines SAML 2.0-IdP aus
OIDC SP und OIDC IdP Stellen Sie maßgeschneiderte OIDC-Token auf der Grundlage von Ansprüchen eines OIDC-IdP aus
OAuth 2.0 SP und OIDC IdP Stellen Sie maßgeschneiderte OIDC-Token aus, die auf den Bereichen von sozialen OAuth 2.0-Anbietern wie Apple und Google basieren
Broker für SAML 2.0 SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines SAML 2.0-IdP aus
Broker für OIDC SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines OIDC-IdP aus
OAuth 2.0-Broker für SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen aus, die auf den Bereichen von sozialen OAuth 2.0-Anbietern wie Apple und Google basieren
Amazon Cognito Cognito-Benutzerpool SP und Broker für Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von OIDC-Ansprüchen aus einem Amazon Cognito Cognito-Benutzerpool aus
Benutzerdefinierter Broker für SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage der IAM-Autorisierung des Entwicklers aus
Frontend-Dienst zur Authentifizierung Registrieren, verwalten und authentifizieren Sie Benutzer mit der gehosteten Benutzeroberfläche
API-Unterstützung für Ihre eigene Authentifizierungsoberflä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¹
Gruppen Erstellen Sie logische Gruppierungen von Benutzern und eine Hierarchie von IAM-Rollenansprüchen, wenn Sie Token an Identitätspools weitergeben
Passen Sie ID-Token an Passen Sie Ihre ID-Token mit neuen, geänderten und unterdrückten Ansprüchen an
AWS WAF Web-ACLs Überwachen und kontrollieren Sie Anfragen an Ihre Authentifizierungsumgebung 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
Rollenbasierte 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
Attributbasierte 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 nur für lokale Benutzer 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.

Videos, Artikel, Dokumentation und weitere Beispielanwendungen 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.

Eine Liste aller Regionen, in denen Amazon Cognito derzeit verfügbar ist, 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.