Estou realmente me debatendo na AWS tentando descobrir o que estou perdendo aqui. Eu gostaria de fazer com que um usuário do IAM pudesse baixar arquivos de um bucket do S3 - sem apenas tornar os arquivos totalmente públicos - mas estou tendo acesso negado. Se alguém puder identificar 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
- Criou uma política de bucket que eu esperava conceder acesso para my-user
- Executou o comando
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Política do intervalo:
{
"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 eu posso baixar usando o mesmo comando e as chaves 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 faria mal, então anexei isso ao my-user.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Mesmos resultados.