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.
Themen
- Benutzerpools
- Identitäten-Pools
- Funktionen von Amazon Cognito
- Vergleich von Amazon-Cognito-Benutzerpools und -Identitätspools
- Erste Schritte mit Amazon Cognito
- Regionale Verfügbarkeit
- Preise für Amazon Cognito
- So funktioniert die Authentifizierung mit Amazon Cognito
- Allgemeine Begriffe und Konzepte von Amazon Cognito
- Verwenden Sie diesen Dienst mit einem AWS SDK
- Erste Schritte mit AWS
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 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.
-
Ihr App-Benutzer meldet sich über einen Benutzerpool an und erhält 2.0-Token. OAuth
-
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.
-
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
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.
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.
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 | Mit AWS Anmeldeinformationen können Sie Ansprüche in einem beliebigen Format gegen Web-Identitätsanmeldedaten von eintauschen 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 | ✓ | |
Broker für benutzerdefinierte 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 Authentifizierungs-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ü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 | ✓ | |
Benutzerattribute anpassen | 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.
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 Service-Endpunkten 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