Amazon S3-Bucket-Berechtigung für nicht authentifizierte Cognito-Rollenbenutzer

8

Ich habe eine nicht authentifizierte Rolle unter Amazon Cognito Identity Pool eingerichtet. Mein Ziel ist, dass Gastbenutzer meiner mobilen App Debug-Protokolle (kleine Textdateien) in meinen S3-Bucket hochladen können, damit ich Probleme beheben kann. Ich bemerke, dass ich "Zugriff verweigert" von S3 erhalten würde, wenn ich meine S3-Bucket-Berechtigung nicht ändere. Wenn ich das Hinzufügen von "Jeder" zum Hochladen / Löschen zulassen möchte, ist der Upload der Datei erfolgreich. Meine Sorge ist, dass jemand dann große Dateien in meinen Bucket hochladen und ein Sicherheitsproblem verursachen könnte. Was ist die empfohlene Konfiguration für meine Bedürfnisse oben? Ich bin ein Neuling für S3 und Cognito.

Ich verwende Amazon AWS SDK für iOS, aber ich denke, diese Frage ist plattformneutral.

Bearbeiten: Meine Politik ist wie folgt:

%Vor%     
mobileideafactory.com 29.10.2014, 01:12
quelle

3 Antworten

3

Sie müssen die S3-Bucket-Berechtigung nicht ändern, sondern die IAM-Rolle, die Ihrem Identitätspool zugeordnet ist. Versuchen Sie Folgendes:

  1. Besuchen Sie die IAM-Konsole .
  2. Suchen Sie nach der Rolle, die Ihrem Identitätspool zugeordnet ist.
  3. Fügen Sie Ihrer Rolle eine Richtlinie ähnlich der folgenden hinzu: %Code%
  4. Ersetzen Sie { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": ["arn:aws:s3:::MYBUCKET/*"] } ] } durch Ihren Bucket-Namen
  5. Greifen Sie wie gewohnt von Ihrer Anwendung aus auf Ihren Bucket zu und verwenden Sie das iOS SDK und Cognito

Vielleicht möchten Sie die Berechtigungen weiter einschränken, einschließlich MYBUCKET , um Ihre Benutzer zu partitionieren, aber die oben genannte Richtlinie wird Sie dazu bringen, mit der Arbeit zu beginnen.

    
Bob Kinney 29.10.2014 17:06
quelle
1

Wie @einarc sagte (kann noch nicht kommentieren), damit es funktioniert, musste ich die Rolle und die Bucket Policy bearbeiten. Das ist gut genug zum Testen:

Bucket-Richtlinie:

%Vor%

Richtlinie der authentifizierten Rolle:

%Vor%     
Ekci 22.07.2017 17:21
quelle
0

Die obige Antwort ist seit 2015 unvollständig. Sie müssen BOTH die Rolle UND die Bucket-Politik in S3 autorisieren, um diese Rolle zu autorisieren, in den Bucket zu schreiben. Verwenden Sie s3: PutObject in beiden Fällen. Die Konsole hat Assistenten für beide Fälle

    
einarc 08.03.2017 19:53
quelle

Tags und Links