Saltar al contenido

¿Cómo aplicar el principio de mínimo privilegio en una política de IAM para acceso restringido a un bucket S3?

0

Hola a todos. Estoy configurando políticas de IAM en AWS y me gustaría saber cuál es la forma más eficiente y recomendada de estructurar una política personalizada usando JSON para que un usuario solo tenga permisos de lectura (s3:GetObject y s3:ListBucket) en un bucket específico, evitando dar permisos globales s3:* o acceso a la cuenta raíz. ¡Agradezco sus recomendaciones!

preguntada hace un mes30 visualizaciones

1 Respuesta
0

Hola.

Para aplicar el principio de mínimo privilegio, lo recomendable es crear una política IAM personalizada que permita únicamente las acciones necesarias sobre el bucket específico.

Por ejemplo:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ListSpecificBucket",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::example-bucket"
    },
    {
      "Sid": "ReadObjectsFromSpecificBucket",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::example-bucket/*"
    }
  ]
}

Debes sustituir example-bucket por el nombre real del bucket.

Es importante separar ambos recursos porque:

  • s3:ListBucket se aplica al ARN del bucket: arn:aws:s3:::example-bucket
  • s3:GetObject se aplica a los objetos dentro del bucket: arn:aws:s3:::example-bucket/*

Con esta política el usuario podrá listar y descargar los objetos, pero no podrá subirlos, modificarlos ni eliminarlos, ya que no se conceden permisos como s3:PutObject o s3:DeleteObject.
No es necesario utilizar s3:* ni conceder ningún tipo de acceso a la cuenta root. De hecho, para mínimo privilegio es preferible evitar políticas amplias y limitar tanto las acciones como los recursos a los estrictamente necesarios.
Si el usuario solo necesita acceder a una carpeta concreta del bucket, los permisos pueden restringirse todavía más mediante un prefijo, por ejemplo:

"Resource": "arn:aws:s3:::example-bucket/documentos/*"

También conviene revisar si el usuario tiene otras políticas IAM, políticas de grupo, permission boundaries, SCP o políticas del bucket que puedan modificar sus permisos efectivos.

EXPERTO

respondido hace un mes

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.