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.Amazon S3-Bucket-Berechtigung für nicht authentifizierte Cognito-Rolle Benutzer
Ich benutze Amazon AWS SDK für iOS, aber ich nehme an, diese Frage ist plattformneutral.
Edit: Meine Politik ist wie folgt:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteObject",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": ["arn:aws:s3:::import-to-ec2-*", "arn:aws:s3:::<my bucket name>/*"]
}
]
}
{ "Version": "2012.10.17", "Statement": [ { "Effect": "Erlauben", "Aktion": "iam: GetUser", "Ressource": "*" }, { "Effect": "Erlauben", "Aktion": [ "s3: ListAllMyBuckets" ], "Ressource": "*" }, { "Effect": "Erlauben", "Aktion": [ "s3: createBucket", "s3: DeleteBucket", "s3: DeleteObject", "s3: GetBucketLocation", "s3: GetObject", "s3: ListBucket", "s3: PutObject" ], "Ressource": ["arn: aws: s3 ::: import-zu-ec2- *", "arn: aws: s3 :::/*"] } ] } –
Dies ist meine Richtlinie, aber der Upload der Datei ist immer noch fehlgeschlagen. –
Wenn Sie den AWSCognitoCredentialsProvider verwenden, werden die verwendeten Anmeldeinformationen zwischengespeichert. Sie können eine Aktualisierung erzwingen, um sicherzustellen, dass Ihre Anmeldeinformationen die neue Richtlinie widerspiegeln. Wenn Sie weiterhin Probleme haben, geben Sie bitte den Code sowie den spezifischen Fehler an, den Sie erhalten, damit wir das Problem besser diagnostizieren können. –