Amazon Cognito
Amazon Cognito ist ein Produkt der Amazon Web Services (AWS), mit dem Entwickler ihren mobilen und stationären Webanwendungen Registrierungs- und Authentifizierungsfunktionen hinzufügen können. Der Service speichert und synchronisiert die Daten der Endanwender, und hilft damit, die Anwendungsentwicklung zu beschleunigen. Damit kann sich der Anwendungsentwickler auf das Schreiben von Code konzentrieren - anstatt die erforderliche Backend-Infrastruktur aufbauen und verwalten zu müssen.
Amazon Cognito konsolidiert Anwenderdaten in so genannte Identity Pools, die von Client-Access-Plattformen, Geräten und Betriebssystemen genutzt werden können. Sie stellen die richtige Übersetzung der Anwendungsinformationen sicher.
Die Daten können auch lokal auf einer SQLite-Datenbank im Offline-Modus gespeichert werden. Die Anwendungen des Entwicklers lassen sich somit auch dann auf den Geräten nutzen, wenn diese offline sind. Außerdem lassen sich die Daten auf allen Geräten eines Benutzers synchronisieren, um eine konsistente, vom genutzten Gerät unabhängige App-Erfahrungen zu gewährleisten. Die Daten werden mit AWS synchronisiert, wenn ein Gerät online ist, so dass ein Endbenutzer auf die gleichen Informationen auch auf einem anderen Gerät zugreifen kann.
Amazon Cognito ordnet Datensätzen Identitäten zu und speichert die verschlüsselten Informationen als Schlüssel-Wert-Paare im Amazon Cognito Sync Store. Jeder Benutzer kann maximal 20 MB an Daten speichern, wobei jeder einzelne Datensatz bis zu 1 MB enthalten darf.
Amazon Cognito kann so konfiguriert werden, dass es Event-Streams akzeptiert, während die Daten aktualisiert und synchronisiert werden. Dies ermöglicht es Softwareentwicklern, die Daten über andere Amazon Services abzufragen, wie eine Amazon RedShift-Datenbank, Relational Database Service (RDS) -Instanz oder Amazon Simple Storage Service (S3).
Ein Entwickler für Mobilanwendungen integriert das AWS Mobile Software Development Kit (SDK) mit Amazon Cognito oder durch direkte serverseitige API-Zugriffe, um Daten über API-Aufrufe zu speichern.
Für einen Endanwender werden eindeutige Bezeichner erstellt. sie können von Public-Identity-Providern, einem OpenID Connect-kompatiblen Provider oder auf einem nutzerspezifischen Identitiy System erzeugt werden. Nicht authorisierte Gäste werden unterstützt und können zu einem späteren Zeitpunkt zu dem System hinzugefügt werden, wenn der Gast ein Profil erstellt.
Amazon Cognito ermöglicht es dem Entwickler darüber hinaus, Benutzer über soziale Identitätsanbieter wie Facebook, Twitter oder Amazon zu authentifizieren. Entwickler können auch Ihren eigenen Identitätsanbieter nutzen und für den Zugriff auf die AWS-Ressourcen ihrer Apps temporäre, sichere Anmeldeinformationen bereitstellen.
Amazon Cognito akzeptiert Amazon, Facebook, Twitter, Digits und Google als öffentliche Identity Provider. Ein Endbenutzer wird von einem öffentlichen Identity Provider authentifiziert, der ein OAuth oder OpenID Connect-Token an Amazon Cognito übergibt. Für den Benutzer wird dann eine neue Cognito-ID erstellt, die temporäre AWS-Credentials mit begrenztem Zugang gewährt.
Die Synchronisierungsgebühren beruhen auf der Menge der Daten, die im Sync Store von Amazon Cognito gespeichert werden, und der Anzahl der ausgefü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 zehn 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 US-Dollar pro 10 000 Synchronisierungsvorgängen und 0,15 US-Dollar pro GB Sync Store pro Monat.