¿Política de usuario de s3 bucket/IAM "Denegar tiene prioridad sobre cualquier otro acceso"?

¿Política de usuario de s3 bucket/IAM "Denegar tiene prioridad sobre cualquier otro acceso"?

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 :)

información relacionada