BookinglyTech News
Infraestructura

aws console: abrir la consola de AWS desde el terminal con un solo comando

Un desarrollador publica aws-console-url, una utilidad MIT de unas 150 líneas de bash que añade 'aws console <perfil>' a la CLI y abre la consola ya autenticada.

3 min de lectura2 fuentes contrastadas0 vistas

Gestionar decenas de cuentas y roles en AWS tiene un peaje diario: localizar el perfil correcto, iniciar sesión, cambiar de cuenta y volver a empezar. Un desarrollador ha empaquetado ese trámite en aws-console-url, una utilidad que se instala como subcomando de la AWS CLI y abre la consola en el navegador ya autenticada con el perfil que le pases. Es open source, licencia MIT, y cabe en unas 150 líneas de bash, lo que la hace revisable de una sentada.

Instalación y uso

Los requisitos son AWS CLI v2, curl, python3 y tener perfiles resueltos por SSO o assume-role. El instalador se baja un tarball del repositorio en GitHub, lo descomprime y ejecuta install.sh. Ojo con un detalle del propio artículo: el archivo se descarga desde el tag v1.1.0, pero las instrucciones hacen cd a un directorio llamado aws-console-url-1.0.0. El instalador registra dos alias equivalentes en ~/.aws/cli/alias, aws console y aws console-url, así que el comando se comporta como cualquier otro de la CLI.

A partir de ahí, aws console mi-perfil abre la sesión. --print devuelve solo la URL en lugar de lanzar el navegador, --region fuerza la región de aterrizaje y --browser permite elegir navegador (por defecto usa el del sistema, y cubre macOS, Linux y WSL/Git Bash en Windows). Un segundo argumento o --service lleva directamente a la consola de un servicio concreto: aws console mi-perfil ec2, s3, lambda o rds. La mayoría cuelga de /<servicio>/home, y hay casos globales que se resuelven aparte, como s3, iam, route53 y billing, además de stepfunctions, que apunta a states. Para cualquier enlace raro queda --destination <url>.

La consola de AWS admite hasta cinco cuentas simultáneas en el mismo navegador. La herramienta lo activa sola, de modo que cada perfil cae en su propia sesión en vez de pisar la anterior; la primera vez hay que aceptar el aviso "Enable multi-session" una vez por navegador. --no-multi devuelve el comportamiento clásico. Quien quiera más atajos tiene tres funciones para cargar en el .zshrc o .bashrc: al comprueba que hay sesión SSO válida, ap fija el AWS_PROFILE y ac abre la consola con ese perfil o con el que le indiques. Hay además completado por tabulador para zsh que lee los nombres de perfil de tu configuración y completa también servicios y opciones.

Bajo el capó

No hay nada propietario ni cajas negras: el flujo es el de federación que AWS tiene documentado. La utilidad pide credenciales temporales con aws configure export-credentials, saca el identificador de cuenta con aws sts get-caller-identity, solicita un token a signin.aws.amazon.com/federation y abre la URL de login resultante. Quien resuelve las credenciales es siempre la CLI.

El autor sostiene que el script nunca lee la caché de tokens SSO, no almacena credenciales y solo contacta con signin.aws.amazon.com, lo que en la práctica descarta una exfiltración de identidades. Es su palabra, no la de un tercero que haya auditado el código, aunque con ese tamaño comprobarlo cuesta poco.

Queda por ver si el proyecto aguanta el ritmo de una sola persona manteniéndolo, que es el riesgo habitual de estas utilidades. Para quien salta entre muchas cuentas cada día, el ahorro está en eliminar el ritual de login, no en funciones nuevas; y como el flujo de federación es el oficial, integrarlo en un script propio tampoco exige depender de este.