Problemas que especificam um único bucket em uma política de usuário simples da AWS
Estou usando o AWS IAM STS (via boto) para criar credenciais para acessar um bucket do S3. Não sei o que há de errado na política a seguir. Simplifiquei minha política o máximo possível e ainda estou obtendo resultados inesperados.
Quando obtenho o token para o usuário, anexo a seguinte política:
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::*"}]}'
Isso funciona, mas é obviamente um pouco permissivo demais. Ao restringir as permissões associadas a essas credenciais, tento usar a mesma política, mas especifique o intervalo:
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::buck_binary_bucket_bay-earth-d5a/*"}]}'
Aqui recebo 403 erros quando tento acessar o S3. Com base nos documentos da AWS, tenho certeza de que essa é a maneira de abordar um intervalo específico na política; portanto, não sei o que pode estar causando essa restrição. Estou me referindo ao balde incorretamente?
No console do S3, a política está vazia (tentei adicionar uma política totalmente permissiva). Para a conta da AWS usada para gerar os tokens STS, a política é a seguinte:
"Statement": [
{
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}