1

Angenommen, ich habe diesen Anwendungsfall, in dem der Benutzer bestimmte Dynamodb-Tabellen und die Zugriffsrechte getObject und putObject in S3 lesen darf.Wie verwende ich das Policy-Dokument, das von der benutzerdefinierten Lambda-Funktion generiert wurde?

Nach Artikel ich in der Lage gewesen establish-: 1. Der Benutzer authentifiziert ist gegen cognito Benutzer Pool 2. Bei erfolgreicher Auth, Zugriffstoken zu API-Gateway 3. benutzerdefinierte Auth Entwurf verwendet gesendet Politik zu validieren und generieren doc

Nun, was ich nicht verstehen kann, ist wo und wie erwähne ich die Tabelle/S3 Erlaubnis Besonderheiten.

Ich ging durch die folgenden Dokumente/blogs

https://aws.amazon.com/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/

http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html

https://mobile.awsblog.com/post/Tx3JK25U7Z9EUIU/Integrating-Amazon-Cognito-User-Pools-with-API-Gateway

Ich bin aber immer noch verwirrt, wie und wann wird die Politik Dokument, das von der erstellt benutzerdefinierte Auth Lambda, verwendet werden? und eine Klärung des Flusses würde sehr geschätzt werden.

Antwort

0

Wir haben gerade native Unterstützung für Cognito User Pools eingeführt, die den von Cognito verkauften JWT validieren. Dies wird jedoch nur eine einfache ALLOW/DENY-Entscheidung (erlaubt, wenn das Token gültig ist), so dass es kein Konzept von feinkörnigen Berechtigungen gibt.

Bei benutzerdefinierten Autorisierungen wird die generierte Richtlinie zwischengespeichert und kann auf den gesamten RestApi angewendet werden (oder auf alle Methoden, die denselben Autorisierer verwenden). Mit der Richtlinie können Sie fein abgestimmte Berechtigungen einrichten, genau wie bei einem IAM-Benutzer/einer IAM-Rolle.

Ein Anwendungsfall wäre eine gruppenbasierte Berechtigungseinrichtung, bei der der benutzerdefinierte Autor bestimmt, wer der Anrufer ist, und eine Gruppenrichtlinie (z. B. admin, readonly, blockiert usw.) in der Antwort auf den ersten API-Aufruf zuweist dieses Token. Diese Richtlinien würden feinkörnige Berechtigungen für bestimmte Ressourcen/Methoden in der API festlegen. Bei nachfolgenden API-Aufrufen an eine andere Ressource/Methode, die denselben Berechtigungsberechner verwendet, wird die Gruppenrichtlinie angewendet.

So sind die Vorteile:

  1. Feinkörnige Berechtigungsrichtlinien assoziieren mit den Benutzern, wie IAM Benutzer/Rollen.
  2. Die Zwischenspeicherung der Richtlinie für den gesamten RestApi reduziert Lambda-Aufrufe (Kosten- und Latenzvorteil).
Verwandte Themen