Estou realmente se debatendo na AWS tentando descobrir o que estou perdendo aqui. Gostaria de fazê-lo para que um usuário do IAM possa baixar arquivos de um bucket S3 - sem apenas tornar os arquivos totalmente públicos - mas estou tendo acesso negado. Se alguém puder descobrir o que está acontecendo, ficarei feliz.
O que eu fiz até agora:
- Criou um usuário chamado my-user (por exemplo)
- Chaves de acesso geradas para o usuário e colocadas em ~ / .aws em uma instância do EC2
- Criei uma política de bucket que eu esperava conceder acesso ao meu usuário
- Executou o comando
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Política de bucket:
{
"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"
}
}
]
}
O resultado é A client error (AccessDenied) occurred: Access Denied
que posso fazer o download usando o mesmo comando e as teclas de acesso padrão (conta root?).
Eu tentei adicionar uma política de usuário também. Embora eu não saiba por que seria necessário, pensei que não iria doer, então anexei isso ao meu usuário.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Mesmos resultados.