Veröffentlicht am: Jul 30, 2021

Heute veröffentlichen wir eine flexible und einfache Möglichkeit zur Implementierung einer benutzerdefinierten Autorisierungslogik mit AWS Lambda für AWS AppSync-GraphQL-API-Aufrufe.

AWS AppSync ist ein verwalteter GraphQL-Service zur Vereinfachung der Anwendungsentwicklung, der es Ihnen ermöglicht, eine flexible API für den sicheren Zugriff, die Bearbeitung und Kombination von Daten aus einer oder mehreren Datenquellen mit weniger Netzwerkaufrufen zu erstellen. Mit AWS AppSync erstellen Sie GraphQL-APIs, mit denen Ihre Anwendungen über das Internet interagieren. Die API-Endpunkte sind zwar öffentlich erreichbar, erlauben aber keinen unbefugten Zugriff. Für den Zugriff auf Ihre AppSync-API ist immer eine Autorisierungsmethode erforderlich – ein Token in der Kopfzeile der Anforderung oder die Signierung der Anforderung selbst mit AWS-Anmeldeinformationen. Bis vor kurzem bot AppSync vier verschiedene Autorisierungsmodi an:

  • API-Schlüssel
  • Amazon-Cognito-Benutzerpools
  • Openid Connect
  • AWS Identity and Access Management (IAM)

Wir fügen jetzt einen neuen, auf AWS Lambda basierenden Autorisierungsmodus für Anwendungsfälle hinzu, die spezifische Anforderungen haben, die von den bestehenden Autorisierungsmodi nicht vollständig abgedeckt werden. Damit können Sie benutzerdefinierte Autorisierungsstrategien zur Sicherung Ihrer GraphQL-APIs implementieren.

Sobald eine Anfrage AppSync erreicht, erhält die Lambda-Funktion der Wahl ein Autorisierungs-Token vom Client und führt die gewünschte, vom Entwickler definierte Autorisierungslogik aus. AppSync erhält nach dem Aufruf eine Nutzlast von Lambda, erlaubt oder verweigert den API-Aufruf entsprechend und erfasst spezifische Kontextdaten für autorisierte Aufrufe von Lambda an GraphQL-Resolver in AppSync.

AppSync, jetzt mit der Möglichkeit, benutzerdefinierte Autorisierungslogik mit AWS Lambda zu implementieren, bietet die Flexibilität, die erforderlich ist, um alle Ihre Autorisierungsanforderungen zu erfüllen. Sie können die AWS Lambda-basierte Autorisierung mit jedem der vorhandenen AppSync-Autorisierungsmodi in einer einzigen API kombinieren und bestimmte Autorisierungsanbieter mit Typen, Feldern oder Operationen im GraphQL-Schema verknüpfen.

Lambda-Genehmiger sind derzeit in allen AWS-Regionen verfügbar, in denen AppSync verfügbar ist. Weitere Details finden Sie in unserem Blogbeitrag und in der AppSync-Dokumentation.