Ich stöbere wirklich in AWS herum und versuche herauszufinden, was ich hier vermisse. Ich möchte, dass ein IAM-Benutzer Dateien aus einem S3-Bucket herunterladen kann, ohne die Dateien nur vollständig öffentlich zugänglich zu machen, aber mir wird der Zugriff verweigert. Wenn jemand erkennen kann, was los ist, bin ich begeistert.
Was ich bisher gemacht habe:
- Erstellt einen Benutzer namens my-user (zum Beispiel)
- Generierte Zugriffsschlüssel für den Benutzer und legte sie in ~ / .aws auf einer EC2-Instanz ab
- Erstellt eine Bucket-Richtlinie, von der ich gehofft hatte, dass sie meinem Benutzer Zugriff gewährt
- Lief den Befehl
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Bucket-Richtlinie:
{
"Id": "Policy1384791162970",
"Statement": [
{
"Sid": "Stmt1384791151633",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": "arn:aws:iam::111122223333:user/my-user"
}
}
]
}
Das Ergebnis ist, A client error (AccessDenied) occurred: Access Denied
dass ich mit demselben Befehl und den Standardzugriffsschlüsseln (Root-Konto?) Herunterladen kann.
Ich habe auch versucht, eine Benutzerrichtlinie hinzuzufügen. Obwohl ich nicht weiß, warum es notwendig sein würde, dachte ich, dass es nicht wehtun würde, und fügte dies meinem Benutzer hinzu.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Gleiche Ergebnisse.