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 auch mit sozialen Identitätsanbietern (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 Funktionen zur Verwaltung und Synchronisierung von Benutzern ihren Mobil- und Web-Apps hinzufügen möchten. Entwickler können Apps mithilfe von Cognito-Identität 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 SDKs für Mobilgeräte 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 SDK für Mobilgeräte nutzen?
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 registrieren und anmelden. Sie können auch erweiterte Sicherheitsfunktionen wie die E-Mail-Verifizierung, Telefonnummernverifizierung und Multifaktor-Authentifizierung verwenden. Cognito-Identität 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-Identität 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 zum Beispiel 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-Identität können Sie festlegen, dass die E-Mail-Adressen und Telefonnummern der Benutzer verifiziert werden, bevor sie Zugriff auf Ihre Anwendung erhalten. Den Benutzern wird während der Registrierung ein Verifizierungscode an ihre Telefonnummer oder E-Mail-Adresse gesendet. Durch Eingabe dieses Verifizierungscodes wird die Registrierung abgeschlossen und die Benutzer erhalten Zugriff.

F: Unterstützt Cognito-Identität 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 der 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-Identität 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 auch mit sozialen Identitätsanbietern (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, Google und beliebige mit OpenID Connect kompatible Identitätsanbieter nutzen.

F: Was ist ein Identitäten-Pool?
Identitätspools sind die Einheiten, mit deren Hilfe Cognito-Identität die zusammengeführten Identitäten Ihrer Apps verwaltet. In einem Identitäten-Pool werden zusammengeführte Identitäten von sozialen Identitätsanbietern mit einer eindeutigen benutzerspezifischen Kennung verknüpft. Identitäten-Pools enthalten keinerlei Benutzerprofile. Ein Identitätspool kann mit einer oder mehreren Apps verknüpft werden. Wenn Sie zwei unterschiedliche Identitätspools 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-Identität weitergeleitet. Cognito-Identität 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-Identität 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-Identität bereitgestellte Cognito-ID und das OpenID-Token abgerufen haben, können Sie mithilfe des Client-SDK von Cognito-Identität auf AWS-Ressourcen zugreifen und Benutzerdaten synchronisieren. Cognito-Identität 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-Identität die Berechtigungssteuerung und den sicheren Zugriff auf AWS-Services?
Cognito-Identität 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-Identität 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, Google oder mit Open ID Connect-konforme Anbieter). Cognito Identity erhält keine Anmeldeinformationen von Benutzern und speichert diese auch nicht. Cognito-Identität 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-Identität von Identitätsanbietern vertrauliche Informationen über meine Benutzer?
Nein. Cognito-Identität 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 Backend-Authentifizierungssysteme?
Nein. Cognito Identity unterstützt die Anmeldung durch Amazon, Facebook, Twitter 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-Tokens unterstützen, ohne Backend-Code erstellen zu müssen.

F: Was passiert, wenn ich meine Benutzer nicht zwingen möchte, sich anzumelden?
Cognito-Identität 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-Identität separate Identitäten für unterschiedliche Benutzer auf demselben Gerät?
Ja. Cognito-Identität 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-Identität verknüpfte Daten?
Sie können programmgesteuert einen Datensatz erstellen, der mit Cognito-Identität 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-Identität-Konsole, wie viele Benutzer meine App verwenden?
Die Anzahl der Identitäten in der Cognito-Identität-Konsole gibt an, wie viele Identitäten mithilfe der Cognito-Identität-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 SDK für Mobilgeräte 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: Warum sollte ich in Amazon Cognito Attribute für die Zugriffskontrolle verwenden?
Mit
Amazon Cognito Identity Pools können Sie jetzt Attribute von sozialen und Unternehmensidentitätsanbietern verwenden, um Entscheidungen zur Zugriffskontrolle zu treffen. Sie können eine einfache Berechtigungsrichtlinie für Benutzer mit demselben Attribut erstellen, anstatt mehrere Richtlinien für jeden Benutzer zu erstellen. Dies vereinfacht die Berechtigungsverwaltung für AWS-Ressourcen.

F: Was ist der Sync Store von Amazon Cognito?
Der Amazon Cognito Sync-Store 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-Stores verfügt über Ihren eigenen Speicher für Benutzerdaten.

F: Werden Daten direkt im Sync Store von Amazon Cognito gespeichert?
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 Amazon Cognito Sync-Store 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 Amazon Cognito Sync-Stores?
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 die Batterieladung und Datenpläne belasten.

F: Werden Identitäten und Speicher mit Benutzerdaten zwischen den Entwicklern geteilt?
Nein, eine Benutzeridentität und ein 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 einen 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 werden.

F: Wie werden Daten mit Amazon Cognito synchronisiert?
Sie können die Synchronisierung von Datensätzen zwischen Client-Geräten und dem Amazon Cognito Sync-Store programmgesteuert auslösen, indem Sie die „synchronize()“-Methode im AWS SDK für Mobilgeräte benutzen. Die „synchronize()“-Methode liest die neuesten verfügbaren Daten im Amazon Cognito Sync-Store 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 Amazon Cognito Sync-Store. 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-Managementkonsole auf der Seite „Amazon SNS“ eine Plattformanwendung deklarieren. Danach können Sie in der AWS-Managementkonsole von der Identitätspool-Seite auf der Seite zu Amazon Cognito die SNS-Plattformanwendung mit Ihrem Cognito-Identitätspool verknüpfen. Amazon Cognito nutzt automatisch die SNS-Plattformanwendung zum Benachrichtigen von Geräten bei Änderungen.

F: Wie werden Konflikte bei der Synchronisierung gelöst?
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 SDK für Mobilgeräte 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 (Monthly Active Users, MAU). Ein Benutzer gilt als MAU, wenn innerhalb des jeweiligen Kalendermonats eine Identifizierung dieses Benutzers erfolgt, etwa aufgrund einer Registrierung, Anmeldung, Token-Aktualisierung, Passwortänderung oder wenn ein Attribut eines Benutzerkontos aktualisiert wurde. 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-Identität 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.

Verbundidentitäten und die sichere Zugriffssteuerung für AWS-Ressourcen sind bei Cognito-Identität stets kostenlos.

F: Wie viel kostet Cognito Sync?
Die Synchronisierungsgebühren beruhen auf der Menge der Daten, die im Amazon Cognito Sync-Store gespeichert werden sowie 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 SDK für Mobilgeräte 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: 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: 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-Identität ist für die ersten 50 000 MAUs kostenlos. Über diese Zahl hinaus bieten wir volumenbasierte Kontingente an. Die Verbundidentitäten-Funktion zur Authentifizierung von Benutzern und das Erstellen eindeutiger Kennungen ist bei Cognito-Identität 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.