1 Respuesta
- Más nuevo
- Más votos
- Más comentarios
0
Sí. Para una instancia EC2, la práctica recomendada es utilizar un IAM Role asociado a la instancia en lugar de crear un usuario IAM y almacenar sus Access Keys dentro del servidor.
AWS recomienda que las cargas de trabajo utilicen credenciales temporales mediante IAM Roles. De esta forma, no es necesario guardar AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY en archivos de configuración, variables de entorno o código fuente.
https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
Por ejemplo, si la instancia EC2 solo necesita leer objetos de un bucket específico, puedes asociar al IAM Role una política como esta:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListSpecificBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::example-bucket"
},
{
"Sid": "ReadObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
Con esta política, la aplicación que se ejecuta en EC2 podrá:
- listar los objetos de
example-bucket; - leer o descargar los objetos de ese bucket.
No podrá subir, modificar ni eliminar objetos porque no se conceden permisos comos3:PutObjectos3:DeleteObject.
La arquitectura recomendada sería:
EC2 → IAM Role / Instance Profile → S3
Las credenciales temporales del Role son proporcionadas automáticamente a la instancia mediante el servicio de metadatos de EC2 (IMDS). AWS CLI y los AWS SDK normalmente las detectan y utilizan automáticamente, por lo que no es necesario administrar Access Keys manualmente.
Además, para seguir aplicando el principio de mínimo privilegio, conviene: - limitar
Resourceúnicamente al bucket necesario; - conceder solo las acciones realmente requeridas;
- si solo necesita una carpeta/prefijo concreto, restringir también el acceso a dicho prefijo;
- revisar periódicamente los permisos utilizando IAM Access Analyzer.
Por tanto, para este caso, IAM Role es preferible a un usuario IAM con credenciales permanentes.
Contenido relevante
preguntada hace un mes
preguntada hace un mes
- OFICIAL DE AWSActualizada hace 6 meses
