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 ist ein Benutzerverzeichnis, ein Authentifizierungsserver und ein Autorisierungsdienst für OAuth 2.0-Zugriffstoken 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 authentifizieren und autorisieren möchten oder. API Benutzerpools sind Benutzerverzeichnisse mit Self-Service- und Administratorsteuerung zur Benutzererstellung, -verwaltung und -authentifizierung. Ihr Benutzerpool kann ein unabhängiger Verzeichnis- und OIDC Identitätsanbieter (IdP) und ein Zwischendienstanbieter (SP) für Drittanbieter von Personal- und Kundenidentitäten sein. In SAML Version 2.0 und mit Benutzerpools können Sie Single Sign-On (SSO) in Ihrer App für die Personalidentitäten Ihres Unternehmens bereitstellen. OIDC IdPs Sie können SSO in Ihrer App auch die Kundenidentitäten Ihres Unternehmens in den öffentlichen OAuth 2.0-Identitätsspeichern Amazon, Google, Apple und Facebook angeben. Weitere Informationen zur Kundenidentität und zur Zugriffsverwaltung (CIAM) finden Sie unter Was istCIAM? .

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-Dienst. 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 2.0-Token. OAuth

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

  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 SOC 1-3 PCIDSS, ISO 27001 und ist HIPAA — BAA förderfähig. Sie können Ihre Sicherheit in der Cloud in Amazon Cognito so gestalten, dass sie mit SOC1 -3, ISO 27001 und HIPAA - konform istBAA, aber nicht. PCI DSS 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, an oder im AWS Command Line Interface ()AWS CLI verwalten AWS SDK und anpassen.

Amazon Cognito Cognito-Benutzerpools akzeptieren Token und Assertions von Drittanbietern IdPs und sammeln die Benutzerattribute in einer DateiJWT, die sie an Ihre App ausgeben. Sie können Ihre App auf einen Satz von standardisieren, JWTs während Amazon Cognito die Interaktionen mit IdPs 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 zur Generierung JWTs für Authentifizierung und Autorisierung. 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 Cognito-Benutzerpools aufruft, API um Ihre Benutzer zu authentifizieren, zu autorisieren und zu verwalten.

  • Richten Sie die Multi-Faktor-Authentifizierung () MFA für Ihre Benutzer ein. Amazon Cognito unterstützt zeitbasierte Einmalkennwörter (TOTP) und SMS Nachrichten. MFA

  • 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) -Token, die ein Amazon Cognito 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

  • Akzeptieren Sie ein Zugriffstoken in Ihrem API Bereich, der die OIDC Anrufe Ihrer Benutzer autorisiert. API

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

Funktionen von Amazon-Cognito-Benutzerpools
Funktion Beschreibung
OIDCIdP Geben Sie ID-Token aus, um Benutzer zu authentifizieren
Autorisierungsserver Stellen Sie Zugriffstoken aus, um den Benutzerzugriff auf zu autorisieren APIs
SAML2.0 SP Verwandeln Sie SAML Assertionen in ID- und Zugriffstoken
OIDCSP Verwandeln Sie OIDC Token in ID- und Zugriffstoken
OAuth2.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
APIUnterstützung für Ihre eigene Benutzeroberfläche Erstellen, verwalten und authentifizieren Sie Benutzer mithilfe von API Anfragen in der unterstützten Version ¹ AWS SDKs
MFA Verwenden Sie SMS Nachrichten oder das Gerät Ihres Benutzers als zusätzlichen Authentifizierungsfaktor¹ TOTPs
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 Amazon Cognito API Cognito-Benutzerpools-Referenz.

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 zum Empfang temporärer Anmeldeinformationen autorisieren. AWS Wenn Sie einem Identitätspool einen Authentifizierungsnachweis in Form von vertrauenswürdigen Ansprüchen eines 2.0-, OpenID Connect (OIDC) oder SAML OAuth 2.0 Social Identity Providers (IdP) vorlegen, verknüpfen Sie Ihren Benutzer mit einer Identität im Identitätspool. Das Token, das Ihr Identitätspool für die Identität erstellt, kann temporäre Sitzungsanmeldedaten von AWS Security Token Service ()AWS STS abrufen.

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 Cognito-Identitätspools haben Sie zwei Möglichkeiten zur Integration mit IAM Richtlinien in Ihren AWS-Konto. Sie können diese beiden Funktionen zusammen oder einzeln verwenden.

Rollenbasierte Zugriffskontrolle

Wenn Ihr Benutzer Ansprüche an Ihren Identitätspool weiterleitet, wählt Amazon Cognito die IAM Rolle aus, die er anfordert. 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 Rollenvertrauensrichtlinie auch so konfigurieren, dass nur Ihr Identitätspool bei der Generierung temporärer Sitzungen IAM vertraut.

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. Anschließend können Sie Ihre IAM ressourcenbasierten Richtlinien so konfigurieren, dass der Zugriff auf Ressourcen auf der Grundlage von IAM Prinzipalen, die die Sitzungs-Tags aus Ihrem Identitätspool enthalten, zugelassen oder verweigert wird. 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
SAML2.0 SP SAMLExchange-Assertionen gegen Web-Identitätsanmeldedaten von AWS STS
OIDCSP Tauschen Sie OIDC Tokens gegen Web-Identitätsanmeldedaten von AWS STS
OAuth2.0 SP Tauschen Sie OAuth Tokens 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

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

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

Funktion Beschreibung Benutzerpools Identitäten-Pools
OIDCIdP Geben Sie OIDC ID-Token aus, um App-Benutzer zu authentifizieren
APIAutorisierungsserver Stellen Sie Zugriffstoken ausAPIs, um den Benutzerzugriff auf Datenbanken und andere Ressourcen zu autorisieren, die OAuth 2.0-Autorisierungsbereiche akzeptieren
IAMAutorisierungsserver für Web-Identitäten Generieren Sie Token, die Sie gegen temporäre AWS Anmeldeinformationen AWS STS eintauschen können
SAML2.0 SP und OIDC IdP Stellen Sie maßgeschneiderte OIDC Token auf der Grundlage von Ansprüchen eines SAML 2.0-IdP aus
OIDCSP und OIDC IdP Stellen Sie maßgeschneiderte OIDC Token auf der Grundlage von Ansprüchen eines OIDC IdP aus
OAuth2.0 SP und OIDC IdP Stellen Sie maßgeschneiderte OIDC Tokens aus, die auf den Geltungsbereichen von OAuth 2.0-Social-Anbietern wie Apple und Google basieren
SAML2.0 Broker für SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines SAML 2.0-IdP aus
OIDCBroker für SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen auf der Grundlage von Ansprüchen eines OIDC IdP aus
OAuth2.0 Broker für SP und Anmeldeinformationen Stellen Sie temporäre AWS Anmeldeinformationen aus, die auf den Bereichen von OAuth 2.0-Social-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
APIUnterstützung für Ihre eigene Authentifizierungsoberfläche Erstellen, verwalten und authentifizieren Sie Benutzer mithilfe von API Anfragen in der unterstützten Version ¹ AWS SDKs
MFA Verwenden Sie SMS Nachrichten oder das Gerät Ihres Benutzers als zusätzlichen Authentifizierungsfaktor¹ TOTPs
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.