© Sundry Photography/Shutterstock.com

AWS Cognito ist Amazons Antwort auf Anmelde-und Identitätszugriffsverwaltung. Ähnlich wie ähnliche Dienste wie Auth0 und Azure Active Directory hilft Ihnen AWS Cognito beim Erstellen eines Benutzerverwaltungssystems.

Aber das ist noch nicht alles. Cognito spielt auch gut mit anderen AWS-Services zusammen, was es zu einer noch wertvolleren Ergänzung Ihres Toolkits macht als konkurrierende Alternativen. Stellen Sie sich vor, Sie könnten Benutzer für Ihre AWS AppSync GraphQL-API oder Ihren Amazon S3-Bucket einfach und sicher authentifizieren. Sie können sehen, wie insbesondere Unternehmensanwendungen von der AWS-Integration profitieren.

In Im heutigen Artikel tauchen wir tief in AWS Cognito ein, untersuchen seine Funktionen, Vorteile und einige praktische Tipps, die Ihnen helfen, das Beste aus diesem unglaublichen Service herauszuholen.

AWS Cognito: Überblick

Also, was genau ist AWS Cognito? Als wesentlicher Bestandteil des AWS-Ökosystems bietet Cognito Ihnen eine Einstiegsrampe, um ein Anmelde-und Authentifizierungssystem für Ihre Mobil-oder Web-App zu erstellen; ohne eine skalierbare Plattform von Grund auf neu programmieren zu müssen.

Zu den wertvollsten Tools gehören die AWS-SDKs und die Cognito-API, mit denen Sie AWS Cognito ganz einfach in Ihre App integrieren können, sowie der Cognito-Entwicklerleitfaden, der detaillierte Informationen zur Verwendung von Cognito enthält sowie Best Practices für die Benutzerauthentifizierung und-verwaltung.

Mit AWS Cognito können Sie außerdem den Authentifizierungsprozess anpassen, um die spezifischen Anforderungen Ihrer App zu erfüllen. Sie können beispielsweise einen benutzerdefinierten Ablauf erstellen, der Benutzer auffordert, zusätzliche Informationen bereitzustellen oder zusätzliche Sicherheitsprüfungen zu bestehen, bevor sie auf Ihre App zugreifen. Dies kann besonders nützlich für Apps sein, die vertrauliche Daten verarbeiten oder ein höheres Maß an Sicherheit erfordern.

AWS Cognito: Preise

Einer der Hauptvorteile der Verwendung von Cognito ist, dass es kostenpflichtig ist-as-you-go, was bedeutet, dass Sie nur für das bezahlen, was Sie nutzen. In diesem Abschnitt werfen wir einen genaueren Blick auf die Cognito-Preise und bieten einen vollständigen Leitfaden, um zu verstehen, wie viel Sie für diesen Service zu erwarten haben.

Cognito-Benutzerpools

Cognito-Benutzer Pools ist der Kerndienst von Cognito, mit dem Sie Benutzer für Ihre Anwendung erstellen und verwalten können. Die Preise für diesen Service basieren auf der Anzahl der monatlich aktiven Benutzer (MAUs) in Ihrem Benutzerpool. Die Preise sind wie folgt:

Monatlich aktive Benutzer (MAUs)Preis pro MAU pro Monat1-50000$0,005550.001 – 100.000$0,0050100.001–1.000.000$0,00451.000.001+$0,0040

AWS Cognito Identitätspools

Identitätspools ermöglichen es Ihnen, Benutzer über externe Identitätsanbieter wie Facebook, Google und Amazon zu authentifizieren und ihnen dann temporäre AWS-Anmeldeinformationen für den Zugriff auf andere AWS-Services bereitzustellen. Die Preise für diesen Service basieren auf der Anzahl der monatlich aktiven Benutzer (MAUs) und der Anzahl der Authentifizierungen. Die Preise sind wie folgt:

Monatlich aktive Benutzer (MAUs)Preis pro MAU pro Monat1-50000$0,005550.001–100.000$0,0050100.001–1.000.000$0,00451.000.001+$0,0040
Anzahl von AuthentifizierungenPreis pro 100001-1.000.000$0,001.000.001+$0,00

Es ist erwähnenswert, dass die Preisinformationen in diesem Artikel von der AWS-Website stammen und Stand Januar 2023 sind. Es ist immer eine gute Idee, die zu überprüfen AWS-Website für die aktuellsten Preisinformationen.

AWS Cognito: Wesentliche Funktionen

Amazon Cognito bietet Authentifizierung, Autorisierung und Benutzerverwaltung für Web-und mobile Apps.

©Michael Vi/Shutterstock.com

Jetzt, da Sie die Grundlagen kennen, werfen wir einen Blick auf einige der wesentlichen Funktionen von AWS Cognito.

Benutzerpools

Cognito-Benutzerpools fungieren als Verzeichnis für Benutzer , z Ermöglichung der Erstellung und Pflege eines Benutzerverzeichnisses, Integration der Registrierung und Anmeldung in eine App sowie Verwaltung von Benutzerkonten, einschließlich Kontoerstellung und-verifizierung.

Identitätspools

Cognito Identitätspools, auch bekannt als föderierte Identitäten, ermöglichen die Erstellung eindeutiger Identitäten für Benutzer und authentifizieren sie mithilfe von Identitätsanbietern wie Facebook, Google oder Amazon und ermöglichen auch nicht authentifizierte Identitäten.

Social Sign-In 

Cognito unterstützt die soziale Anmeldung bei beliebten Identitätsanbietern wie Facebook und Google sowie die Anmeldung bei Amazon. Dadurch können sich Benutzer mit ihren bestehenden Social-Media-Konten bei Ihrer App anmelden.

Multi-Faktor-Authentifizierung (MFA)

Cognito unterstützt die Verwendung von MFA, um ein zusätzliches Maß an Sicherheit bereitzustellen für Ihre Benutzer. Sie können dies mit SMS-Textnachrichten oder zeitbasierten Einmalpasswörtern (TOTP) tun.

Anpassbare Benutzerregistrierung und-anmeldung

Mit Cognito können Sie das Aussehen anpassen und Gestaltung der Registrierungs-und Anmeldeseiten, um dem Branding Ihrer App zu entsprechen.

Synchronisierung von Benutzerdaten

Mit Cognito können Sie Benutzerdaten über mehrere Geräte hinweg synchronisieren, sodass Benutzer dies tun können ein konsistentes Erlebnis auf allen ihren Geräten.

Anpassbare Benutzerattribute 

Mit Cognito können Sie Benutzerprofilen benutzerdefinierte Attribute hinzufügen, z. B. bevorzugte Sprache oder Standort, wodurch die Personalisierung des Benutzers vereinfacht wird Erfahrung.

Push-Benachrichtigungen

Cognito kann Push-Benachrichtigungen an Benutzer senden, wodurch es einfach wird, sie zu beschäftigen und über neue Funktionen oder Updates Ihrer App auf dem Laufenden zu halten.

Benutzerdefinierter Authentifizierungsablauf

Mit Cognito können Sie benutzerdefinierte Authentifizierungsabläufe erstellen, die den spezifischen Anforderungen Ihrer App entsprechen, z. B. das Hinzufügen zusätzlicher Sicherheitsmaßnahmen oder Integrationen ng mit anderen Diensten.

AWS Cognito-Trigger

AWS Cognito-Trigger können die Funktionalität von Benutzerpools erweitern, indem sie es Entwicklern ermöglichen, benutzerdefinierte Logik für bestimmte Ereignisse auszuführen. Diese Auslöser sind eine wichtige Funktion von AWS Cognito und führen Aktionen wie das Senden einer E-Mail-oder SMS-Nachricht, das Aktualisieren von Benutzerdaten und mehr aus.

In AWS Cognito verfügbare Trigger:

Pre-Sign-up: Dieser Trigger wird aufgerufen, bevor ein neuer Benutzer im Benutzerpool registriert wird. Es kann verwendet werden, um Benutzereingaben zu validieren, den Registrierungsprozess anzupassen oder zusätzliche Benutzerdaten hinzuzufügen.Benutzerdefinierte Nachricht: Dieser Auslöser wird aufgerufen, wenn eine Nachricht an einen Benutzer gesendet wird, z. B. ein Bestätigungscode oder ein Passwort Link zurücksetzen. Er kann verwendet werden, um den Inhalt der Nachricht anzupassen oder der Nachricht zusätzliche Informationen hinzuzufügen.Nachbestätigung: Dieser Auslöser wird aufgerufen, nachdem ein Benutzer seine Registrierung bestätigt hat. Es kann verwendet werden, um eine Willkommensnachricht zu senden, Benutzerdaten zu aktualisieren oder andere Aktionen auszuführen.Vorauthentifizierung: Dieser Auslöser wird aufgerufen, bevor ein Benutzer authentifiziert wird. Es kann verwendet werden, um Benutzereingaben zu validieren, den Authentifizierungsprozess anzupassen oder andere Aktionen auszuführen.Post Authentication: Dieser Trigger wird aufgerufen, nachdem ein Benutzer authentifiziert wurde. Er kann verwendet werden, um Benutzerdaten zu aktualisieren, andere Aktionen auszuführen oder den Benutzer auf eine bestimmte Seite umzuleiten.Benutzermigration: Dieser Trigger wird während der Migration von Benutzerdaten aus einem vorherigen Benutzerpool aufgerufen. Es kann verwendet werden, um Benutzerdaten zu manipulieren, Daten zu validieren oder andere Aktionen auszuführen.

Verwendung von Cognito-Triggern

Erstellen einer Lambda-Funktion: Der erste Schritt bei der Verwendung eines Cognito-Triggers besteht darin, eine Lambda-Funktion zu erstellen, die aufgerufen wird, wenn der Trigger aktiviert wird. Diese Funktion sollte die Logik enthalten, die ausgeführt wird, wenn der Trigger aufgerufen wird. Den Auslöser an den Benutzerpool anhängen: Nachdem die Lambda-Funktion erstellt wurde, muss sie mit dem Auslöser im Benutzerpool verknüpft werden. Sie können dies über die Cognito-Konsole oder die AWS CLI tun. Trigger testen: Bevor Sie den Trigger in der Produktion bereitstellen, ist es wichtig, ihn zu testen, um sicherzustellen, dass er wie erwartet funktioniert. Sie können dies tun, indem Sie den Trigger manuell über die Cognito-Konsole aufrufen oder indem Sie einen neuen Benutzer im Benutzerpool registrieren. Auslöser bereitstellen: Sobald Sie den Auslöser getestet und festgestellt haben, dass er wie erwartet funktioniert, können Sie ihn für die Produktion bereitstellen.

AWS Cognito: Erstellen eines Benutzerpools

Eine der Kernfunktionen von Cognito ist die Möglichkeit, Benutzerpools zu erstellen und zu verwalten. Dies sind die Benutzerverzeichnisse, mit denen Sie Benutzer in Ihrer Anwendung authentifizieren und autorisieren können.

Bevor wir beginnen, ist es wichtig zu beachten, dass zum Erstellen eines Benutzerpools in Cognito ein AWS-Konto erforderlich ist. Wenn Sie noch keines haben, können Sie sich auf der AWS-Website für ein kostenloses Testkonto anmelden.

Schritt für Schritt

Der erste Schritt beim Erstellen eines Nutzerpools ist die Anmeldung beim AWS-Managementkonsole. Navigieren Sie von dort zum Cognito-Service, indem Sie in der Suchleiste der AWS-Services nach „Cognito“ suchen oder zum Menü Services gehen und Cognito auswählen. Sobald Sie sich im Cognito-Dashboard befinden, sehen Sie die Option zum Erstellen eines neuen Benutzerpools. Klicken Sie auf die Schaltfläche „Benutzerpool erstellen“, um zu beginnen. Auf dem nächsten Bildschirm geben Sie Ihrem Benutzerpool einen Namen und wählen eine Überprüfung und E-Mail-Verifizierungseinstellungen aus. Sie können auch bestimmte Funktionen wie MFA, Kontowiederherstellung und Geräteverfolgung aktivieren oder deaktivieren. Als Nächstes müssen Sie die Attribute Ihres Benutzerpools konfigurieren. Hier legen Sie fest, welche Attribute wie E-Mail, Telefonnummer und Name Ihre Benutzer bei der Anmeldung angeben müssen. Sie können auch angeben, ob bestimmte Attribute erforderlich oder optional sind. Nachdem Sie die Attribute konfiguriert haben, müssen Sie die „Richtlinien“ für Ihren Benutzerpool einrichten. Hier legen Sie die Kennwortrichtlinien wie Mindestlänge und Komplexität sowie die Regeln für die Kontosperrung und Kennwortwiederherstellung fest. Im nächsten Schritt konfigurieren Sie die App-Clients für Ihren Benutzerpool. Hier geben Sie die Client-ID und das Client-Geheimnis für Ihre Anwendung an und konfigurieren Einstellungen wie Rückruf-und Abmelde-URLs. Schließlich müssen Sie die „Trigger“ für Ihren Benutzerpool einrichten. Hier geben Sie alle Lambda-Funktionen an, die ausgelöst werden, wenn bestimmte Ereignisse eintreten, z. B. wenn sich ein Benutzer anmeldet oder anmeldet. Nachdem Sie alle oben genannten Schritte ausgeführt haben, können Sie Ihren Benutzerpool erstellen, indem Sie auf Erstelle Pool. Ihr neuer Benutzerpool ist jetzt einsatzbereit und Sie können mit der Authentifizierung und Autorisierung von Benutzern in Ihrer Anwendung beginnen.

AWS Cognito: Erstellen eines Identitätspools

Eine weitere Kernfunktion von AWS Cognito ist die Möglichkeit, Identitätspools zu erstellen und zu verwalten, mit denen Sie authentifizierten Benutzern AWS-Anmeldeinformationen zuweisen können. Dies ist ein wichtiger Schritt bei der Konfiguration des Zugriffs für Ihre Benutzer.

Schauen wir uns eine Aufschlüsselung dessen an, was Sie tun müssen. Wenn Sie mehr erfahren möchten, sehen Sie sich das Video an oder folgen Sie dem offiziellen Tutorial von Amazon.

Schritt für Schritt

Der erste Schritt beim Erstellen eines Identitätspools ist die Anmeldung bei der AWS Management Console. Navigieren Sie von dort zum Cognito-Service, indem Sie in der Suchleiste der AWS-Services nach „Cognito“ suchen oder zum Menü „Services“ gehen und „Cognito“ auswählen. Sobald Sie sich im Cognito-Dashboard befinden, sehen Sie die Option zum Erstellen eines neuen Identitätspools. Klicken Sie auf die Schaltfläche „Identitätspool erstellen“. Auf dem nächsten Bildschirm geben Sie Ihrem Identitätspool einen Namen und wählen einen Authentifizierungsanbieter aus. Sie können Benutzer über einen Benutzerpool, ein von Ihnen erstelltes Benutzerverzeichnis oder über soziale Identitätsanbieter wie Facebook, Google oder Amazon authentifizieren. Als Nächstes müssen Sie die „Authentifizierungsanbieter“ für Ihren Identitätspool einrichten. Hier geben Sie die Details für die von Ihnen ausgewählten Authentifizierungsanbieter an, z. B. die Client-ID und das Client-Geheimnis für Ihre Anwendung. Nachdem Sie die Authentifizierungsanbieter eingerichtet haben, müssen Sie die „Rollenauflösung“ für Ihren Identitätspool konfigurieren. Hier geben Sie die Rollen an, die authentifizierten Benutzern zugewiesen werden, und die Richtlinien, die diesen Rollen zugeordnet werden. Schließlich müssen Sie die „Nicht authentifizierte Rolle“ für Ihren Identitätspool einrichten. Diese Rolle wird Benutzern zugewiesen, die nicht authentifiziert sind. Sie können wählen, nicht authentifizierten Benutzern den Zugriff auf bestimmte Ressourcen zu gestatten, oder Sie können ihnen den Zugriff insgesamt verweigern. Sobald Sie alle oben genannten Schritte abgeschlossen haben, können Sie Ihren Identitätspool erstellen, indem Sie auf die Schaltfläche „Identitätspool erstellen“ klicken. Ihr neuer Identitätspool ist jetzt einsatzbereit und Sie können damit beginnen, authentifizierten Benutzern AWS-Anmeldeinformationen zu erteilen.

Vorteile der Verwendung von AWS Cognito

Was sind also einige der Vorteile der Verwendung von AWS Cognito?

Einfach zu verwenden. AWS Cognito ist einfach einzurichten und verwenden, sodass Entwickler ihre mobilen und Web-Apps schnell um Benutzerauthentifizierung und Identitätsverwaltung erweitern können.Skalierbar. AWS Cognito kann Millionen von Benutzern verwalten und kann problemlos skaliert werden, um die Anforderungen Ihrer App zu erfüllen.Sicher. AWS Cognito verwendet branchenübliche Protokolle wie OAuth 2.0 und OpenID Connect, um eine sichere Authentifizierung und Autorisierung für Ihre Benutzer bereitzustellen.Kostengünstig. Cognito ist ein Pay-as-you-go-Dienst, sodass Sie nur für das bezahlen, was Sie verwenden, was ihn zu einer kostengünstigen Lösung zum Hinzufügen von Benutzerauthentifizierung und Identitätsverwaltung zu Ihrer App macht.

Nachteile der Verwendung von AWS Cognito

Was sind einige der Nachteile der Verwendung von AWS Cognito?

Komplexer Einrichtungs-und Konfigurationsprozess. Das Einrichten und Konfigurieren von AWS Cognito kann ein komplexer und zeitaufwändiger Prozess sein, insbesondere für diejenigen, die mit dem Service nicht vertraut sind. Eingeschränkte Anpassungsoptionen. Obwohl Cognito eine große Auswahl an Merkmalen und Funktionen bietet, erfüllt es möglicherweise nicht alle spezifischen Bedürfnisse und Anforderungen aller Benutzer. Höhere Kosten für größere Benutzerpools. Mit zunehmender Anzahl von Benutzern in einem Benutzerpool steigen die Kosten der Verwendung von Cognito nimmt ebenfalls zu.Eingeschränkte Unterstützung für den Offline-Zugriff auf Benutzerdaten. Cognito unterstützt hauptsächlich den Online-Zugriff auf Benutzerdaten und kann möglicherweise keinen Offline-Zugriff bereitstellen.Eingeschränkte Unterstützung für Anbieter sozialer Identitäten. Während Cognito soziale Identitätsanbieter wie Google und Facebook unterstützt, unterstützt es möglicherweise nicht die kleineren Drittanbieter.

AWS Cognito Guide: Features, Benefits, and Pros and Cons FAQs (Häufig gestellte Fragen) 

Wofür wird AWS Cognito verwendet?

Cognito ist die Benutzerregistrierungs-und Identitätsverwaltungslösung von Amazon. Mit anderen Worten, Sie können damit Anmeldefunktionen zu Ihrer Mobil-oder Webanwendung hinzufügen.

Was sind die zwei Hauptkomponenten von Amazon Cognito?

Cognito-Benutzer Pools werden für die Benutzerverwaltung und-authentifizierung verwendet, während Cognito-Identitätspools für die Autorisierung und den Zugriff auf andere AWS-Ressourcen verwendet werden.

Was ist Multi-Factor Authentication (MFA) und warum sollte ich sie verwenden? ?

MFA ist eine zusätzliche Sicherheitsmaßnahme, bei der Benutzer eine zweite Form der Authentifizierung angeben müssen, z. B. einen Code, der an ihr Telefon gesendet wird. Es trägt zum Schutz vor unbefugtem Zugriff auf Benutzerkonten bei.

Wo kann ich Benutzerprofile und andere benutzerbezogene Daten speichern, wenn ich AWS Cognito verwende?

Amazon DynamoDB ist die ideale Integration zum Speichern von Benutzerprofilen und anderen benutzerbezogenen Daten.

Wie kann ich von Benutzern hochgeladene Dateien sicher bereitstellen?

Verwenden Sie Amazon CloudFront und Amazon S3, um von Benutzern hochgeladene Dateien sicher bereitzustellen.

By Maxwell Gaven

Ich habe 7 Jahre im IT-Bereich gearbeitet. Es macht Spaß, den stetigen Wandel im IT-Bereich zu beobachten. IT ist mein Job, Hobby und Leben.