Erste Schritte mit Amazon Cognito

F: Was ist Amazon Cognito?
Mit Amazon Cognito können Sie Ihren Mobil- und Web-Apps auf einfache Weise Regsitrierungs- und Authentifizierungsfunktionen hinzufügen. Amazon Cognito bietet Ihnen des Weiteren die Möglichkeit, Benutzer mittels externer Identitätsanbieter zu authentifizieren, die temporäre Sicherheitsdaten für den Zugriff auf die Backend-Ressourcen Ihrer App in AWS oder anderen Services hinter dem Amazon API Gateway bereitstellen. Amazon Cognito arbeitet mit externen Identitätsanbietern, die SAML oder OpenID Connect unterstützen, oder mit Social Identity-Anbietern (wie Facebook, Twitter, Amazon) zusammen und ermöglicht Ihnen die Integration Ihres eigenen Identitätsanbieters.

Zudem können mit Amazon Cognito Daten mit verschiedenen Benutzergeräten synchronisiert werden, sodass die App-Erfahrung bei der Verwendung eines anderen Geräts oder Umstellung auf ein neues Gerät konsistent bleibt. Mit Ihrer App können Daten lokal auf Benutzergeräten gespeichert werden, sodass sie auch auf Geräten funktioniert, die offline sind. Die Daten werden dann unmittelbar synchronisiert, sobald das Gerät online geht.

Amazon Cognito ermöglicht es Ihnen, sich auf die Schaffung herausragender App-Erfahrungen zu konzentrieren. Das Erstellen, Sichern und Skalieren einer Lösung, mit der Sie Benutzer auf unterschiedlichen Plattformen und Geräten verwalten, authentifiziern und synchronsieren können, erübrigt sich.

F: An wen richtet sich Amazon Cognito?
Amazon Cognito wurde für Entwickler konzipiert, die ihren Mobil- und Web-Apps Funktionen zur Verwaltung und Synchronisierung von Benutzern hinzufügen möchten. Entwickler können Apps mithilfe von Cognito Identity Registrierungs- und Anmeldeinformationen hinzufügen, um Benutzern einen sicheren Zugriff zu den App-Ressourcen zu gewähren. Amazon Cognito bietet Entwicklern zudem die Möglichkeit, Daten auf unterschiedlichen Geräten, Plattformen und Anwendungen zu synchronisieren.

F: Welches sind die ersten Schritte zur Verwendung von Amazon Cognito?
Besuchen Sie als Erstes die AWS-Konsole. Falls Sie kein Konto für Amazon Web Services haben, können Sie ein Konto erstellen, wenn Sie sich bei der Konsole anmelden. Nachdem Sie einen Benutzerpool für die Benutzerverwaltung oder einen Identitätspool für zusammengeführte Identitäten oder Synchronisierungsverfahren erstellt haben, haben Sie die Möglichkeit, das AWS Mobile SDK herunterzuladen und in Ihre App zu integrieren. Als Alternative können Sie die serverseitigen APIs von Cognito direkt aufrufen statt das SDK zu benutzen. Weitere Informationen finden Sie in unserem Entwicklerhandbuch.

F: Stellt Amazon Cognito serverseitige APIs bereit?
Ja. Cognito stellt serverseitige APIs bereit. Sie können Ihre eigene kundenspezifische Schnittstelle zu Cognito erstellen, indem Sie diese APIs direkt aufrufen. Die serverseitigen APIs werden im Entwicklerhandbuch beschrieben.

F: Welche Plattformen unterstützt Amazon Cognito?
Das optionale AWS SDK für Mobilgeräte, das für iOS, Android, Unity und Kindle Fire erhältlich ist, bietet Unterstützung für Cognito. Cognito ist auch im AWS SDK für JavaScript verfügbar. Cognito Your User Pools wird aktuell in den AWS-Mobil-SDKs für iOS und Android sowie im JavaScript-AWS-SDK für Cognito unterstützt. Laden Sie die SDKs von unserer Ressourcenseite herunter.

F: Muss ich das AWS Mobile SDK benutzen?
Nein. Cognito stellt seine APIs für Kontrolle und Daten als Web-Services zur Verfügung. Sie können Ihre eigene Client-Bibliothek durch direktes Aufrufen der serverseitigen APIs implementieren.

 

F: Kann ich für die Registrierung und Anmeldung meinen eigenen Identitätsanbieter nutzen?

Ja, Sie können die Registrierungs- und Anmeldefunktion mit Cognito Identity einfach und sicher Ihrer App hinzufügen. Ihre Benutzer können sich per E-Mail, Telefonnummer oder Benutzernamen anmelden. Sie können auch erweiterte Sicherheitsfunktionen wie die E-Mail-Überprüfung, Telefonnummernüberprüfung und Multifaktor-Authentifizierung verwenden. Cognito Identity ermöglicht es Ihnen darüber hinaus, Workflows anzupassen. Fügen Sie beispielsweise der Benutzerregistrierung eine App-spezifische Logik zur Betrugserkennung und Benutzerüberprüfung durch AWS Lambda hinzu. Weitere Informationen finden Sie in unserer Dokumentation.

F: Was ist ein Benutzerpool?

Ein Benutzerpool ist ein Benutzerverzeichnis, das Sie für Ihre Web- oder Mobil-Apps konfigurieren können. In Benutzerpools lassen sich die Profilattribute Ihrer Benutzer sicher speichern. Zum Erstellen und Verwalten eines Benutzerpools können Sie die AWS-Konsole, AWS CLI oder AWS SDK verwenden.

F: Welche Benutzerprofilinformationen werden von Cognito Identity unterstützt?

Entwickler können entweder standardmäßige, auf OpenID Connect basierende Benutzerprofilattribute (z. B. Benutzername, Telefonnummer, Adresse, Zeitzone usw.) verwenden oder App-spezifische Benutzerattribute hinzufügen.

F: Kann ich es den Benutzern meiner Anwendung ermöglichen, sich mit einer E-Mail-Adresse oder Telefonnummer zu registrieren oder anzumelden?

Ja, Sie können die Aliasfunktion verwenden, um es Ihren Benutzern zu ermöglichen, sich mit einer E-Mail-Adresse und einem Passwort oder mit einer Telefonnummer und einem Passwort zu registrieren oder anzumelden. Weitere Informationen finden Sie in unserer Dokumentation.

F: Kann ich Passwortrichtlinien einrichten?

Ja, Sie können beim Einrichten oder Konfigurieren des Benutzerpools Passwortrichtlinien wie die Passwortstärke und die erforderlichen Zeichentypen festlegen.

F: Kann ich die E-Mail-Adressen und Telefonnummern der Benutzer meiner Anwendung überprüfen?

Ja, mit Cognito Identity können Sie festlegen, dass die E-Mail-Adressen und Telefonnummern der Benutzer überprüft werden, bevor sie Zugriff auf Ihre Anwendung erhalten. Den Benutzern wird während der Registrierung ein Überprüfungscode an ihre Telefonnummer oder E-Mail-Adresse gesendet. Durch Eingabe dieses Überprüfungscodes wird die Registrierung abgeschlossen und die Benutzer erhalten Zugriff.

F: Unterstützt Cognito Identity die SMS-basierte Multifaktor-Authentifizierung (MFA)?

Ja, Sie können den Endbenutzern Ihrer Anwendung erlauben, sich mittels SMS-basierter MFA anzumelden. Bei aktivierter SMS-basierter MFA werden die Benutzer nach ihrem Passwort (erster Faktor – etwas, was sie wissen) und nach einem Sicherheitscode gefragt, den sie nur per SMS auf ihrem Mobiltelefon erhalten (zweiter Faktor – etwas, das sie besitzen).

F: Können die Registrierungs- und Anmelde-Workflows angepasst werden?

Ja, Sie können die Registrierung und Anmeldung anpassen, indem Sie den Workflows mithilfe von AWS Lambda eine App-spezifische Logik hinzufügen. Erstellen Sie beispielsweise AWS Lambda-Funktionen, um Betrug zu erkennen oder zusätzliche Prüfungen an Benutzerdaten durchzuführen. Sie können vom Entwickler bereitgestellte Lambda-Funktionen vor der Registrierung, nach der Bestätigung, vor der Authentifizierung, während der Authentifizierung zum Anpassen der Herausforderungen und nach der Authentifizierung auslösen. Darüber hinaus haben Sie mit Lambda-Funktionen die Möglichkeit, die im Rahmen der E-Mail- oder Telefonnummernüberprüfung und der Multifaktor-Authentifizierung gesendete Nachrichten anzupassen.

F: Kann ich die Geräte, die den Benutzern meiner Anwendung zugeordnet sind, in einem Cognito-Benutzerpool speichern?

Ja, Sie können die Geräte, die für den Zugriff auf Ihre Anwendung verwendet werden, speichern. Diese gespeicherten Geräte ordnen Sie dann den Benutzern Ihrer Anwendung in einem Cognito-Benutzerpool zu. Sie können außerdem gespeicherte Geräte verwenden, um Zweitfaktorherausforderungen für Ihre Benutzer zu unterdrücken, wenn Sie die Multifaktor-Authentifizierung eingerichtet haben.

F: Wie kann ich meine bestehenden Benutzer in einen Amazon Cognito-Benutzerpool migrieren?

Mithilfe unseres Migrations-Tools können Sie bereits bestehende Benutzer in einen Amazon Cognito-Benutzerpool übertragen. Benutzerattribute werden aus einer .csv-Datei importiert, die über diese Konsole, über APIs oder die CLI hochgeladen werden kann. Wenn neu importierte Benutzer sich zum ersten Mal anmelden, bestätigen sie ihr Konto und legen mittels eines Codes, der an ihre E-Mail-Adresse oder an ihr Telefon gesendet wird, ein neues Passwort fest. Durch die Verwendung des Import-Tools entstehen keine zusätzlichen Kosten. Weitere Informationen finden Sie in der Amazon Import-Tool-Dokumentation.

Mit dem Tool werden keine Passwörter migriert. Möchten Sie die aktuellen Passwörter Ihrer Benutzer ebenfalls übertragen, müssen die Benutzer einzeln migriert werden, wenn sich diese während eines Übergangszeitraums in Ihrer App anmelden. Bei diesem Ansatz versucht die App zunächst, den Benutzer im Cognito-Benutzerpool anzumelden. Ist das Konto des Benutzers im Benutzerpool noch nicht angelegt, wird er von der App im bestehenden Identitätssystem angemeldet, das zu diesem Zweck vorübergehend Benutzernamen und Passwort beibehält. Nachdem sich der Benutzer erfolgreich im bestehenden Identitätssystem angemeldet hat, verwendet die App den gleichen Benutzernamen und das gleiche Passwort, um ein Konto im Cognito-Benutzerpool anzulegen. Für diesen Ansatz ist es erforderlich, dass das bestehende Identitätssystem für einen Übergangszeitraum weiterhin verwendet wird. Nach Ablauf dieses Zeitraums können Sie mithilfe des Import-Tools die verbleibenden Benutzer (ohne ihre zugehörigen Passwörter) importieren. 

F: Kann ich mit Cognito Identity Identitäten zusammenführen und sicheren Zugriff auf AWS-Ressourcen gewähren?
Ja, Cognito Identity ermöglicht es Ihnen, Benutzer mittels externer Identitätsanbieter zu authentifizieren, die temporäre Sicherheitsdaten für den Zugriff auf die Backend-Ressourcen Ihrer App in AWS oder anderen Services hinter dem Amazon API Gateway bereitstellen. Amazon Cognito arbeitet mit externen Identitätsanbietern, die SAML oder OpenID Connect unterstützen, oder mit Social Identity-Anbietern (wie Facebook, Twitter, Amazon) zusammen und ermöglicht Ihnen die Integration Ihres eigenen Identitätsanbieters.

F: Welche öffentlichen Identitätsanbieter kann ich mit Amazon Cognito Identity benutzen?
Sie können Amazon, Facebook, Twitter, Digits, Google und beliebige mit OpenID Connect kompatible Anbieter nutzen.

F: Was ist ein Identitätspool?
Identitätspools sind die Einheiten, mit deren Hilfe Cognito Identity die zusammengeführten Identitäten Ihrer Apps verwaltet. In einem Identitätenpool werden zusammengeführte Identitäten von sozialen Identitätsanbietern mit einer eindeutigen benutzerspezifischen Kennung verknüpft. Identitätspools enthalten keinerlei Benutzerprofile. Ein Identitäten-Pool kann mit einer oder mehreren Apps verknüpft werden. Wenn Sie zwei unterschiedliche Identitäten-Pools für zwei Apps verwenden, hat der gleiche Endbenutzer in den beiden Identitäten-Pools unterschiedliche eindeutige IDs.

F: Wie läuft die Anmeldung mit öffentlichen Identitätsanbietern ab?
Ihre Mobil-App führt die Authentifizierung über einen Identitätsanbieter (IdP) unter Verwendung von dessen SDK durch. Sobald der Endbenutzer durch den IdP authentifiziert wurde, wird das vom IdP zurückgegebene OAuth- oder OpenID Connect-Token oder die SAML-Erklärung von der App an Cognito Identity weitergeleitet. Cognito Identity gibt daraufhin eine neue Cognito-ID für den Benutzer und einen Satz temporärer AWS-Anmeldeinformationen mit eingeschränkten Berechtigungen zurück.

F: Kann ich eigene Benutzer registrieren und authentifizieren?
Sie können Cognito Identity in Ihr vorhandenes Authentifizierungssystem integrieren. Mit einem einfachen API-Aufruf können Sie eine Cognito-ID für Ihre Endbenutzer abrufen, die auf Ihren eigenen, eindeutigen Kennungen für Ihre Benutzer basiert. Nachdem Sie die von Cognito Identity bereitgestellte Cognito-ID und das OpenID-Token abgerufen haben, können Sie mithilfe des Client-SDK von Cognito Identity auf AWS-Ressourcen zugreifen und Benutzerdaten synchronisieren. Cognito Identity ist eine vollständig verwaltete Identitätsanbieterlösung, die es Ihnen auf einfache Weise ermöglicht, Ihren Mobil- und Web-Apps Registrierungs- und Anmeldefunktionen hinzuzufügen.

F: Wie erleichtert Cognito Identity die Berechtigungssteuerung und den sicheren Zugriff auf AWS-Services?
Cognito Identity weist Ihren Benutzern einen Satz temporärer Zugriffsdaten mit eingeschränkten Rechten zu, mit denen sie auf Ihre AWS-Ressourcen zugreifen können. Somit müssen Sie nicht Ihre AWS-Kontodaten zur Verfügung stellen. Die Berechtigungen jedes Benutzers werden durch AWS IAM-Rollen gesteuert, die Sie erstellen. Sie können Regeln definieren, um die IAM-Rolle für jeden Benutzer auszuwählen. Wenn Sie Gruppen in einem Cognito-Benutzerpool verwenden, können Sie IAM-Rollen basierend auf Gruppen zuweisen. Cognito Identity ermöglicht es Ihnen zudem, eine eigenständige IAM-Rolle mit beschränkten Berechtigungen für Gastbenutzer festzulegen, die nicht authentifiziert wurden. Des Weiteren können Sie die von Cognito generierte eindeutige Kennung verwenden, um den Benutzerzugriff auf bestimmte Ressourcen zu steuern. Sie können beispielsweise eine Richtlinie für einen S3-Bucket erstellen, in dem bestimmte Benutzer ausschließlich Zugriff auf ihre eigenen Ordner haben.

F: Speichert Amazon Cognito Identity bei der Nutzung öffentlicher Identitätsanbieter die Anmeldeinformationen von Benutzern?

Nein, Ihre App kommuniziert für die Benutzerauthentifizierung direkt mit dem unterstützten öffentlichen Identitätsanbieter (Amazon, Facebook, Twitter, Digits, Google oder einem mit OpenID Connect kompatiblen Anbieter). Cognito Identity erhält keine Anmeldeinformationen von Benutzern und speichert diese auch nicht. Cognito Identity ruft mithilfe des Tokens des Identitätsanbieters eine eindeutige ID für den Benutzer ab. Auf diese ID wird anschließend eine Einweg-Hashfunktion angewendet, sodass der Benutzer in Zukunft wiedererkannt werden kann, ohne dass die tatsächliche Benutzer-ID gespeichert wird.

F: Erhält oder speichert Cognito Identity von Identitätsanbietern vertrauliche Informationen über meine Benutzer?
Nein. Cognito Identity erhält keine vertraulichen Informationen (wie E-Mail-Adressen, Liste der Freunde usw.) von den Identitätsanbietern.

F: Benötige ich mit Cognito Identity immer noch meine eigenen Systeme für die Backend-Authentifizierung und Identität?
Nein. Cognito Identity unterstützt die Anmeldung durch Amazon, Facebook, Twitter, Digits und Google ebenso wie die Anmeldung nicht authentifizierter Benutzer. Mit Cognito Identity können Sie Verbundauthentifizierung, Sync Store für Profildaten und die Verteilung von AWS Access-Token unterstützen, ohne Backend-Code erstellen zu müssen.

F: Was passiert, wenn ich meine Benutzer nicht zwingen möchte, sich anzumelden?
Cognito Identity unterstützt die Erstellung und das Verkaufsverfahren für Token sowohl für nicht authentifizierte Benutzer als auch für authentifizierte Benutzer. Damit wird vermieden, dass Ihre App einen zusätzlichen Anmeldebildschirm enthalten muss. Sie sind aber trotzdem in der Lage, temporäre Anmeldeinformationen mit eingeschränkten Berechtigungen für den Zugriff auf AWS-Ressourcen zu verwenden.

F: Was sind nicht authentifizierte Benutzer?
Nicht authentifizierte Benutzer sind Benutzer, die sich nicht über einen Identitätsanbieter authentifizieren, sondern Ihre App als Gast nutzen. Sie können für diese Benutzer eine eigene IAM-Rolle festlegen, durch die sie eingeschränkten Zugriff auf Ihre Backend-Ressourcen erhalten.

F: Unterstützt Cognito Identity separate Identitäten für unterschiedliche Benutzer auf demselben Gerät?
Ja. Cognito Identity unterstützt separate Identitäten auf einem einzelnen Gerät wie etwa dem in einem Haushalt genutzten iPad. Jede Identität wird separat behandelt und Sie haben volle Kontrolle darüber, wie Ihre App Benutzer an- und abmeldet und wie die Daten lokaler und externer Apps gespeichert werden.

F: Wie speichere ich mit Cognito Identity verknüpfte Daten?
Sie können programmgesteuert einen Datensatz erstellen, der mit Cognito Identity verknüpft ist, und Daten in Form von Schlüssel/Wert-Paaren speichern. Die Daten werden sowohl lokal auf dem Gerät als auch im Cognito Sync-Shop gespeichert. Cognito kann diese Daten zudem auf allen Geräten des Endbenutzers speichern.

F: Erfahre ich durch die Anzahl der Identitäten in der Cognito Identity-Konsole, wie viele Benutzer meine App verwenden?
Die Anzahl der Identitäten in der Cognito Identity-Konsole gibt an, wie viele Identitäten mithilfe der Cognito Identity-APIs erstellt wurden. Bei authentifizierten Identitäten (Benutzer, die sich über einen Login-Provider wie Facebook oder einen OpenID Connect-Anbieter anmelden) wird bei jedem Aufruf der GetId-API von Cognito Identity eine Identität pro Benutzer erstellt. Bei nicht authentifizierten Identitäten wird jedoch jedes Mal, wenn der Client in einer App die GetId-API aufruft, eine neue Identität generiert. Wenn Ihre App GetId also bei nicht authentifizierten Identitäten mehrmals für einen einzigen Benutzer aufruft, sieht es aus, als hätte ein einzelner Benutzer mehrere Identitäten. Daher ist es wichtig, dass Sie die Antwort von GetId in den Cachespeicher aufnehmen, wenn Sie nicht authentifizierte Identitäten verwenden, und GetId nicht mehrere Male pro Benutzer aufrufen.

Das Mobile SDK stellt die Logik, um die Cognito-Identität in den Cachespeicher aufzunehmen, automatisch bereit. Daher müssen Sie sich darüber keine Gedanken machen. Wenn Sie eine Komplettlösung für Ihre App suchen, mit der Sie auch einzelne Benutzer verfolgen können, empfiehlt sich Amazon Mobile Analytics.

F: Was ist der Sync Store von Amazon Cognito?
Der Sync Store von Amazon Cognito ist ein Speicher für Schlüssel/Wert-Paare, der mit einer Amazon Cognito-Identität verknüpft ist. Es gibt keine Begrenzung für die Anzahl der Identitäten, die Sie in den Identitäten-Pools und im Sync Store erstellen können. Jede Amazon Cognito-Identität innerhalb des Sync Store verfügt über Ihren eigenen Speicher für Benutzerdaten.

F: Werden Daten direkt im Sync Store von Amazon Cognito gespeichert?
Nein. Das optionale AWS Mobile SDK speichert Ihre Daten in einer SQLite-Datenbank auf dem lokalen Gerät. Dadurch kann Ihre App jederzeit auf die Daten zugreifen. Die Daten werden per Push-Verfahren in den Sync Store von Amazon Cognito übertragen, indem die "synchronize()"-Methode aufgerufen wird. Wenn die Push-Synchronisierung aktiviert ist, werden alle anderen mit einer Identität verbundenen Geräte per Amazon SNS über die Datenänderung im Sync Store benachrichtigt.

F: Wie werden die Daten im Sync Store von Amazon Cognito gespeichert?
Daten, die mit einer Amazon Cognito-Identität verknüpft sind, werden als Schlüssel/Wert-Paar gespeichert. Ein Schlüssel ist eine Bezeichnung wie "Lautstärke" und ein Wert ist eine Zahl wie "11". Schlüssel/Wert-Paare werden in Gruppen zusammengefasst und in Datensätzen kategorisiert. Datensätze sind eine logische Partition mit Schlüssel/Wert-Paaren und bilden die detaillierteste Einheit, die von Amazon Cognito zum Durchführen von Synchronisierungsoperationen verwendet wird.

F: Was ist die maximale Größe eines Speichers mit Benutzerdaten innerhalb des Sync Store von Amazon Cognito?
Jeder Speicher mit Benutzerdaten kann eine Größe von bis zu 20 MB haben. Jeder Datensatz innerhalb des Speichers mit Benutzerdaten kann eine Größe von bis zu 1 MB haben. Ein Datensatz kann bis zu 1.024 Schlüssel enthalten.

F: Welche Art von Daten kann ich in einem Datensatz speichern?
Sowohl Schlüssel als auch Werte in einem Datensatz sind alphanumerische Zeichenfolgen. Es gibt keine Obergrenze für die Länge der Zeichenfolgen, aber die Summe der Werte in einem Datensatz darf 1 MB nicht übersteigen. Binäre Daten können als eine mit Base64 codierte Zeichenfolge oder als Wert gespeichert werden, sofern dadurch die Grenze von 1 MB nicht überschritten wird.

F: Warum ist die Größe von Datensätzen auf 1 MB begrenzt?
Die Begrenzung der Datensatzgröße auf 1 MB erhöht die Chancen auf erfolgreiche Durchführung einer Synchronisierungsaufgabe, auch wenn die Bandbreite begrenzt ist, ohne dass zahlreiche Wiederholungsversuche erforderlich sind, die Batterieladung und Datenpläne belasten.

F: Werden Identitäten und Speicher mit Benutzerdaten zwischen den Entwicklern geteilt?
Nein, Benutzeridentität und Speicher mit Benutzerdaten sind jeweils mit einem bestimmten AWS-Konto verbunden. Falls es mehrere Apps von unterschiedlichen Herausgebern auf einem Gerät gibt, das Amazon Cognito verwendet, benutzt jede App den Datenspeicher, der vom jeweiligen Herausgeber erstellt wurde.

F: Wie kann ich die im Cognito-Sync Store gespeicherten Daten analysieren und abfragen?
Mit Cognito-Streams können Sie Sync Store-Daten auf einen Kinesis-Stream in Ihrem AWS-Konto übertragen. Sie können diesen Stream dann nutzen, um die Daten so zu speichern, dass sie leicht zu analysieren sind, etwa in einer Amazon Redshift-Datenbank, einer eigenen RDS-Instance oder auch als S3-Datei. Wir haben ein Beispiel einer Kinesis-Kundenanwendung veröffentlicht, aus dem Sie ersehen können, wie Daten-Updates in Amazon Redshift gespeichert werden.

F: Weshalb sollte ich statt eines Datenbankexports Kinesis-Stream verwenden?
Wenn Sie die Daten auf Kinesis streamen, können Sie den gesamten Verlauf der Änderungen an Ihren Datensätzen in Echtzeit erhalten. Sie erhalten also alle Änderungen, die ein Endbenutzer an einem Datensatz vornimmt, und können diese Daten in einem beliebigen Tool speichern.

F: Was ist, wenn ich bereits Daten in Cognito gespeichert habe?
Wenn Sie die Kinesis-Stream-Funktion aktivieren, können Sie eine Massen-Veröffentlichung starten. Bei diesem Prozess werden alle aktuell in Ihrem Cognito-Sync Store gespeicherten Daten asynchron an den ausgewählten Kinesis-Stream gesendet.

F: Was kostet diese Funktion?
Cognito überträgt die Daten in einen Kinesis-Stream, den Sie besitzen. Der Cognito-Preis pro Synchronisierung ändert sich bei Aktivierung dieser Funktion nicht. Es gelten die Kinesis-Standardtarife für Ihre Partitionen.

F: Kann ich Daten validieren, bevor sie gespeichert werden?
Amazon Cognito Events ermöglicht Entwicklern, als Reaktion auf wichtige Ereignisse in Cognito eine AWS Lambda-Funktion auszuführen. Das Sync Trigger-Ereignis ist ein Ereignis, das bei der Synchronisierung eines Datensatzes auftritt. Entwickler können eine AWS Lambda-Funktion erstellen, die das Synchronisierungsereignis abfängt. Die Funktion kann die Änderungen des zugrunde liegenden Datensatzes prüfen und die Daten manipulieren, bevor sie in der Cloud gespeichert und auf die anderen Geräte des Benutzers zurück synchronisiert werden. Alternativ dazu könnte die AWS Lambda-Funktion den Synchronisierungsvorgang fehlschlagen lassen, sodass die Daten nicht auf den anderen Geräten des Benutzers synchronisiert würden.

F: Wie werden Daten mit Amazon Cognito synchronisiert?
Sie können die Synchronisierung von Datensätzen zwischen Client-Geräten und dem Sync Store von Amazon Cognito programmgesteuert auslösen, indem Sie die synchronize()-Methode im AWS Mobile SDK benutzen. Die synchronize()-Methode liest die neuesten verfügbaren Daten im Sync Store von Amazon Cognito und vergleicht sie mit den lokalen Daten im Cache. Nach dem Vergleich schreibt die synchronize()-Methode die neuesten Aktualisierungen wie erforderlich in den lokalen Datenspeicher und in den Sync Store von Amazon Cognito. Amazon Cognito behält standardmäßig die zuletzt geschriebene Version der Daten. Sie können dieses Verhalten überschreiben und Datenkonflikte programmgesteuert lösen. Darüber hinaus ermöglicht die Push-Synchronisierung Ihnen das Verwenden von Amazon Cognito zum Senden einer automatischen Push-Benachrichtigung an alle Geräte, die einer Identität zugeordnet sind, um diese zu benachrichtigen, dass neue Daten verfügbar sind.

F: Was ist eine automatische Push-Benachrichtigung?
Amazon Cognito nutzt den Amazon Simple Notification Service (SNS) zum Senden automatischer Push-Benachrichtigungen an Geräte. Eine automatische Push-Benachrichtigung ist eine Nachricht, die von Ihrer Anwendung auf dem Gerät eines Benutzers empfangen wird, ohne dass der Benutzer diese sieht.

F: Wie verwende ich die Push-Synchronisierung?
Zum Aktivieren der Push-Synchronisierung müssen Sie in der AWS Management Console auf der Seite "Amazon SNS" eine Plattformanwendung deklarieren. Danach können Sie in der AWS Management Console auf der Seite zum Identitätspool auf der Seite zu Amazon Cognito die SNS-Plattformanwendung mit Ihrem Cognito-Identitätspool verknüpfen. Amazon Cognito nutzt automatische die SNS-Plattformanwendung zum Benachrichtigen von Geräten bei Änderungen.

F: Wie werden Konflikte im Synchronisierungsverfahren behandelt?
Amazon Cognito behält standardmäßig die zuletzt geschriebene Version der Daten. Sie können dieses Verhalten überschreiben, indem Sie auf einen Rückruf des AWS Mobile SDK antworten, in dem beide Versionen der Daten enthalten sind. Ihre App kann dann entscheiden, welche Version der Daten (die lokale Version oder die Version im Sync Store von Amazon Cognito) behalten und im Sync Store von Amazon Cognito gespeichert werden soll.

F: Wie viel kostet Cognito Identity?
Sie zahlen bei Amazon Cognito nur für die tatsächliche Nutzung. Es fallen weder Mindestgebühren noch Vorausleistungen an.

Wenn Sie mit Cognito Identity einen Benutzerpool erstellen, bezahlen Sie nur für die monatlich aktiven Benutzer (Montly Active Users, MAUs). Benutzer gelten als MAUs, wenn innerhalb des jeweiligen Kalendermonats eine Identifizierung der Nutzer erfolgt, etwa aufgrund einer Registrierung, Anmeldung, Tokenaktualisierung oder Passwortänderung. Es fallen weder für nachfolgende Sitzungen noch für inaktive Benutzer innerhalb dieses Kalendermonats weitere Gebühren an. Für die optionale Verwendung von SMS-Nachrichten gelten die unten erläuterten separaten Gebühren.

Die Funktion "Your User Pool" umfasst ein kostenloses Kontingent von 50 000 MAUs pro Monat. Das kostenlose Kontingent für Cognito Identity endet nicht nach der zwölfmonatigen Laufzeit des kostenlosen AWS-Nutzungskontingents, sondern steht sowohl bestehenden als auch neuen AWS-Kunden auf unbegrenzte Zeit zur Verfügung.

Zusammengeführte Identitäten und die sichere Zugriffssteuerung für AWS-Ressourcen sind bei Cognito Identity stets kostenlos.

F: Wie viel kostet Cognito Sync?
Die Synchronisierungsgebühren beruhen auf der Menge der Daten, die im Sync Store von Amazon Cognito gespeichert werden, und der Anzahl der durchgeführten Synchronisierungsoperationen. Eine Synchronisierungsoperation vergleicht den lokalen Datenspeicher auf einem Gerät mit dem Sync Store von Amazon Cognito in der Cloud und synchronisiert die beiden Datenspeicher.

Als Teil des kostenlosen Kontingents von AWS erhalten berechtigte AWS-Kunden 10 GB Sync Store in der Cloud und 1 000 000 Synchronisierungsvorgänge pro Monat in den ersten 12 Monaten. Nach Überschreiten des kostenlosen Kontingents kostet Amazon Cognito 0,15 USD pro 10 000 Synchronisierungsvorgängen und 0,15 USD pro GB Sync Store pro Monat.

F: Was ist eine Synchronisierungsoperation?
Wenn Sie die synchronize()-Methode mit dem AWS Mobile SDK aufrufen, zählt dies als eine Synchronisierungsoperation. Falls Sie die Server-APIs direkt aufrufen, wird eine Synchronisierungsoperation initiiert, wenn ein neues Token für eine Synchronisierungssitzung ausgestellt wird. Die Operation wird durch einen erfolgreichen Schreibvorgang oder einen Timeout des Sitzungstokens abgeschlossen. Sowohl mit der Verwendung der SDK-Methode synchronize() als auch mit einem direkten Aufruf der Server-APIs werden die Synchronisierungsoperationen mit den gleichen Kosten in Rechnung gestellt.

F: Was sind monatlich aktive Benutzer (Monthly Active Users, MAUs)?
Als monatlich aktive Benutzer (Monthly Active Users, MAUs) gelten Benutzer, die innerhalb des Abrechnungsmonats einen Vorgang ausführen (z. B. eine Registrierung, Anmeldung, Tokenaktualisierung oder Passwortänderung). Während des Abrechnungsmonats fallen somit keine weiteren Kosten für nachfolgende Vorgänge oder inaktive Benutzer an. In der Regel liegen die Gesamtanzahl der Benutzer sowie die Anzahl der Vorgänge deutlich über der Gesamtanzahl der MAUs.

F: Was kostet die Verwendung von SMS-Nachrichten mit Cognito?
Die Verwendung von SMS-Nachrichten zum Überprüfen von Telefonnummern, zum Senden von Codes für vergessene oder zurückgesetzte Passwörter oder für die Multifaktor-Authentifizierung wird separat in Rechnung gestellt. Auf der Seite mit den weltweiten SMS-Preisen finden Sie weitere Informationen.

F: Ist Amazon Cognito Teil des kostenlosen Kontingents für AWS?
Ja. Cognito bietet im Rahmen des kostenlosen AWS-Kontingents 10 GB Sync Store und 1 000 000 Synchronisierungsoperationen pro Monat für bis zu 12 Monate an. Ihr Benutzerpool für Cognito Identity ist für die ersten 50 000 MAUs kostenlos. Über diese Zahl hinaus bieten wir volumenbasierte Kontingente an. Die "Federated Identities"-Funktion zur Authentifizierung von Benutzern und das Erstellen eindeutiger Kennungen ist bei Cognito Identity immer kostenlos.

F: Zählt jedes Lesen oder Schreiben der App als eine Synchronisierungsoperation?
Nein. Sie entscheiden, wann Sie die synchronize()-Methode aufrufen. Jedes Schreiben auf oder Lesen vom Gerät bezieht sich auf den lokalen SQLite-Speicher. Dadurch haben Sie die volle Kontrolle über Ihre Kosten.

F: Was kostet die Push-Synchronisierung?
Cognito nutzt Amazon SNS zum Senden automatischer Push-Benachrichtigungen. Es fallen keine zusätzlichen Kosten für die Verwendung von Cognito für die Push-Synchronisierung an, doch für an Geräte gesendete Benachrichtigungen gelten die üblichen Amazon SNS-Tarife.

F: Was kostet das Verwenden von Lambda mit Amazon Cognito-Ereignissen?
Für die Verwendung von Cognito-Ereignissen entstehen keine zusätzlichen Kosten, aber während der Ausführung von Lambda-Funktionen gelten die normalen Gebühren für AWS Lambda und andere AWS-Services. Einzelheiten finden Sie auf der Seite mit der Preisübersicht zu AWS Lambda.