- Más nuevo
- Más votos
- Más comentarios
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:ListBucketse aplica al ARN del bucket:arn:aws:s3:::example-buckets3:GetObjectse 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.
Contenido relevante
preguntada hace un mes
preguntada hace un mes
- OFICIAL DE AWSActualizada hace 6 meses
