Acontece que eram permissões nas chaves do KMS que criptografam esse intervalo. As chaves são de propriedade da conta raiz e, como tal, não consegui encontrá-las com meu acesso normal ao IAM, nem consegui ver a política sobre elas.
Eu tenho um usuário, chamarei o usuário Alfred, com a política do IAM anexada, conforme a seguir
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-bucket-name/*",
"arn:aws:s3:::my-bucket-name/",
"arn:aws:s3:::my-bucket-name"
]
}
]
}
No simulador do IAM, recebo "Permitido" para GetObject, usando esta política, e este ARN: arn:aws:s3:::my-bucket-name/my-object.xml
Na CLI, recebo o AccessDenied para o seguinte comando: aws s3 cp s3://my-bucket-name/my-object.xml temp/my-object.xml
A client error (AccessDenied) occurred when calling the GetObject operation: Access Denied
Eu olhei para tudo o que posso pensar, mas não consigo explicar essa discrepância. O que estou perdendo?
Coisas que eu tentei
"creds" aqui significa "chaves de acesso do AWS IAM"
aws s3 ls s3://my-bucket-name/
- isso funciona com os credenciais IAM de Alfred e com meus creds Acontece que eram permissões nas chaves do KMS que criptografam esse intervalo. As chaves são de propriedade da conta raiz e, como tal, não consegui encontrá-las com meu acesso normal ao IAM, nem consegui ver a política sobre elas.
Tags amazon-s3 amazon-iam