¿Cómo debe acceder a S3 una app que corre en EC2 o ECS?
Opciones
- Escribiendo claves de acceso en el código de la aplicación
- Usando un IAM role en la instancia o tarea, con credenciales temporales (Opción correcta)
- Haciendo público el bucket para no necesitar credenciales
- Enviando por correo las claves al equipo de operaciones
Respuesta
Usando un IAM role adjunto a la instancia o tarea, que da credenciales temporales y rotativas
Por qué
IAM (Identity and Access Management) controla quién puede hacer qué en AWS.
En lugar de guardar claves permanentes, adjuntas un role al servidor o contenedor. El SDK de AWS obtiene automáticamente de él credenciales de corta duración, que se rotan por ti.
Da al role solo lo que necesita, por ejemplo leer y escribir en un bucket (mínimo privilegio).
Recuerda
Acceso a AWS desde tus servidores → IAM roles, no claves guardadas.