Tengo un usuario, llamaré a Alfred User, con la política de IAM adjunta de la siguiente manera
{
"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"
]
}
]
}
En el simulador de IAM, obtengo "Permitido" para GetObject, usando esta política y este ARN:arn:aws:s3:::my-bucket-name/my-object.xml
En la CLI, obtengo AccessDenied para el siguiente comando:aws s3 cp s3://my-bucket-name/my-object.xml temp/my-object.xml
Se produjo un error de cliente (AccessDenied) al llamar a la operación GetObject: Acceso denegado
He mirado todo lo que se me ocurre pero no puedo explicar esta discrepancia. ¿Qué me estoy perdiendo?
Cosas que he probado
"creds" aquí significa "claves de acceso de AWS IAM"
- Simulador IAM: esto funciona
- Un conjunto diferente de credenciales de IAM: esto funciona
- Usando
aws s3 ls s3://my-bucket-name/
: esto funciona con las credenciales IAM de Alfred y con mis credenciales. - Se compararon políticas con un depósito configurado de manera similar en una cuenta de AWS diferente. Las políticas son idénticas, por lo que puedo decir.
Respuesta1
Resulta que fueron los permisos en las claves KMS los que cifraron este depósito. Las claves pertenecen a la cuenta raíz y, como tal, no pude encontrarlas con mi acceso IAM normal ni pude ver la política sobre ellas.