Dos políticas, una de ellas "Denegar", no debería poder realizar ninguna operación en el depósito, pero aún puedo enumerar y ver los objetos del depósito. ¿Por qué? Gracias
Política de depósito S3
{
"Sid": "S3DenyAccess",
"Effect": "Deny",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::<YOURBUCKETHERE>/*"
}
Política de usuario de IAM
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowConsoleAccess",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
}
]
}
Respuesta1
Intenta cambiar elRecursoen elPolítica de depósitopara incluir tanto el depósito solo como el depósito con objetos:
"Resource": [
"arn:aws:s3:::<YOURBUCKETHERE>",
"arn:aws:s3:::<YOURBUCKETHERE>/*"
]
Espero que ayude :)
Respuesta2
Lógica de evaluación de políticas de AWSSería una lectura útil. En resumen, gana una negación explícita. Aunque aquí no es relevante.
SOY
Su política de usuario de IAM dice "este usuario puede enumerar todos los depósitos y obtener las ubicaciones de los depósitos".
Política de depósito
Su política de depósito para un depósito específico dice "denegar explícitamente permisos para que cualquiera pueda hacer cualquier cosa para objetar".adentroel depósito". El "/*" al final del recurso significa que la política se aplica "dentro del depósito", mientras que si los omite, significa que la política se aplica al depósito en sí.
Conjunto
Por lo tanto, sus políticas combinadas dicen que todos los usuarios pueden enumerar depósitos y obtener ubicaciones de depósitos, pero no pueden hacer nada con los objetos dentro del depósito. Me sorprende que puedas enumerar objetos en el depósito y ver los objetos del depósito. Sospecho que hay otra política en juego aquí, porque la denegación predeterminada de AWS dice que no debería mostrarle nada.
Otras opiniones
Si alguien puede detectar algo que me he perdido, por favor indíquelo :)