AWS CLI: autenticación

Para configurar la cuenta con la que vas a acceder a los recursos de AWS, debes utilizar el siguiente comando, que te solicitará las claves de acceso (access keys) y la región por defecto:

aws configure

Esto solo lo debes hacer desde tu ordenador personal, nunca en una instancia EC2, por seguridad.

Para configurar perfiles adicionales con los que poder trabajar:

aws configure --profile misegundoperfil

Así, cuando queramos utilizar un perfil diferente al por defecto, utilizaremos esto:

aws s3 ls --profile misegundoperfil

Para acceder con MFA desde la línea de comandos (CLI), debes crear una sesión temporal utilizando la llamada STS GetSessionTocken de la API:

aws sts get-session-token --serial-number ARNDELDISPOSITIVO --token-code CODIGO --duration-sesion 3600

¿Qué credenciales utiliza AWS CLI cuando se ejecuta? El CLI busca las credenciales con el siguiente orden:

  1. Opciones de línea de comando: –region, –output y –profile
  2. Variables de entorno: AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN
  3. Credenciales en ~/.aws/credentials
  4. Configuración en ~/.aws/config
  5. Credenciales de contenedor para tareas ECS
  6. Credenciales de perfil de instancia para perfiles EC2

Sin embargo, el SDK (en Java por ejemplo) busca las credenciales en el orden siguiente:

  1. Variables de entorno: AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY
  2. Propiedades del sistema Java: aws.accessKeyId y aws.secretKey
  3. Fichero con las credenciales por defecto del perfil: ~/.aws/credentials
  4. Credenciales de contenedor para tareas ECS
  5. Credenciales de perfil de instancia para perfiles EC2

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.