Naprawdę walczę w AWS, próbując dowiedzieć się, czego tu brakuje. Chciałbym to zrobić, aby użytkownik IAM mógł pobierać pliki z segmentu S3 - bez publicznego udostępniania plików - ale dostaję odmowę dostępu. Jeśli ktokolwiek zdoła dostrzec, co jest nie tak, będę oszołomiony.
Co zrobiłem do tej pory:
- Utworzono użytkownika o nazwie my-user (na przykład)
- Wygenerowano klucze dostępu dla użytkownika i umieściłem je w ~ / .aws w instancji EC2
- Utworzyłem zasadę segmentu, która, jak mam nadzieję, zapewnia dostęp mojemu użytkownikowi
- Wykonałem polecenie
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Zasady dotyczące wiader:
{
"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"
}
}
]
}
Rezultat jest taki, A client error (AccessDenied) occurred: Access Denied
że mogę pobierać za pomocą tego samego polecenia i domyślnych kluczy dostępu (konto root?).
Próbowałem również dodać zasady użytkownika. Chociaż nie wiem, dlaczego byłoby to konieczne, myślałem, że to nie zaszkodzi, więc załączyłem to do mojego użytkownika.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Te same wyniki.