0

Bei der Verwendung von API-Gateway zu Proxy AWS-Dienste wie S3 funktioniert super.AWS API-Gateway-Sicherheit mit einem benutzerdefinierten Autorisierungs- und AWS-Service-Integrationen

Es scheint jedoch, dass Sicherheit ein nachträglicher Einfall ist. Die Ausführungsrolle, die für die AWS-Service-Integration verwendet wird, scheint den integrierten Service offen zu lassen, wenn ein Kundenautorisierungsprogramm verwendet wird.

Der benutzerdefinierte Autorizer im API-Gateway gibt eine principalId (z. B. eine userId) und ein IAM-Richtliniendokument zurück. Wie könnte man eine IAM-Richtlinie für die Ausführungsrolle der Dienstintegration erstellen, die zum Beispiel die userId/principalId im Pfad eines S3-Objekts erfordern würde.

I.e. Verwenden einer benutzerdefinierten Autorisierung + S3-Integration Wie sichern Sie den Objektzugriff nur auf einen bestimmten Schlüsselbereich, in dem die PrincipalId Teil eines Objekt-Tags oder -Pfades ist? http://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html oder http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/policy-keys-cwe.html

Antwort

1

Ich hatte das gleiche Problem. Hier ist, wie ich es mit dem Pfad gelöst habe.

benutzer1 ihre Daten Angenommen müssen und ihren Raum zuzugreifen, ist

domain/user1/object1 
domain/user1/object2 

In der benutzerdefinierten Authorizer Sie Politik zurückkehren kann, dass der Benutzer nur Domain/user1/* zugreifen können. Sie können ein Muster verwenden, das Sie möchten, und den Speicher in dem von Ihnen gewünschten Namespace organisieren. Wenn Sie Namespace für mehrere Benutzer erweitern möchten, können Sie den Zugriff auf

domain/user1/* 
domain/managers/* 

tun Und APIGateway wird der Rest kümmern. Wenn der Benutzer versucht, auf etwas anderes als die obigen URL-Pfade zuzugreifen, wird dem Benutzer 403 verboten.

Gefolgt die Dokumentation von AWS und funktioniert perfekt,

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

Darüber hinaus, wenn Sie die Authentifizierung wünschen würde ich empfehlen, URL und Cognito Cloudfront unterzeichnet.

Verwandte Themen