Módulo 3: Configurar la AWS CLI
TUTORIAL
Configurar la AWS CLI
En este módulo, configurará la AWS Command Line Interface (CLI)
Qué logrará
- Instalar la Interfaz de la línea de comandos de AWS (AWS CLI) para su sistema operativo
- Configurar las credenciales para acceder a su cuenta de AWS
- Configurar varios perfiles para acceder a diferentes cuentas de AWS
Implementación
La AWS CLI es una herramienta unificada para administrar sus servicios de AWS. Solo tendrá que descargar y configurar una única herramienta para poder controlar varios servicios de AWS utilizando la línea de comandos y automatizarlos mediante scripts.
Para interactuar con AWS mediante la CLI, necesitamos configurar credenciales para que éste las utilice cuando realice llamadas a la API. También mostraremos cómo puede configurar varios perfiles para acceder a más de una cuenta de AWS, ya sea con credenciales adicionales o mediante el cambio de roles de IAM.
Tiempo de realización
10 minutos
Requisitos del módulo
- Un navegador de Internet
- Una cuenta de AWS
Obtenga ayuda
Instale la AWS CLI
Hay diferentes maneras de instalar la AWS CLI, en función de su sistema operativo o de la preferencia por el uso de contenedores. Para instalar la versión 2 de la AWS CLI, consulte Instalación o actualización de la versión más reciente de la AWS CLI.
Una vez instalada la AWS CLI, puede ejecutar aws --version en su línea de comandos y ver el siguiente resultado (la versión puede ser diferente):
aws --version
Por ejemplo, la respuesta al instalar la AWS CLI en Windows 10 es la siguiente:
La AWS CLI ya está instalada y está listo para configurar sus credenciales.
Configurar las credenciales de la AWS CLI
Para configurar las credenciales, utilice el comando <aws configure sso> para incluir las credenciales del usuario creado en el módulo anterior de este tutorial.
En la CLI, ejecute el comando <aws configure sso> y se le pedirá que proporcione la siguiente información:
- Nombre de la sesión de SSO: Proporciona un nombre para la sesión que se incluye en los registros de AWS CloudTrail para las entradas asociadas a esta sesión. Si no introduce un nombre, se generará uno automáticamente. Para este tutorial, utilice <Test1>.
- URL de inicio de SSO: La URL del portal de acceso de AWS que se le proporcionó al configurar IAM Identity Center (Centro de identidad del IAM).
- Región SSO: En este tutorial, los ejemplos utilizan <us-east-1>. Cuando ejecute los comandos usted mismo, especifique la región en la que ha habilitado IAM IdentityCenter. Puede encontrar esta información en la Consola de Administración de AWS, en el resumen de las configuraciones del IAM Identity Center Dashboard (Panel de control del centro de identidades del IAM).
- Ámbitos de registro del SSO: Los ámbitos autorizan el acceso a diferentes puntos de conexión. En este tutorial, utilizaremos el alcance mínimo de <sso:account:access > para recuperar un token de actualización del servicio IAM Identity Center.
Se le solicitará cada uno de estos elementos en la terminal después de que introduzca el comando <aws configure sso>.
aws configure sso
Nota: Si no conoce la URL de inicio o la región de su cuenta, inicie sesión en la consola como usuario raíz y vaya al Panel de control de IAM Identity Center. La región y la URL del portal de acceso de AWS se muestran en el resumen de las configuraciones.
El siguiente código de ejemplo muestra el contenido de la CLI en esta etapa:
$ aws configure sso
Nombre de sesión de SSO (Recomendado): Test1
URL de inicio de SSO [Ninguna]: https://my-sso-portal.awsapps.com/start
Región del SSO [Ninguna]: us-east-1
Ámbitos de registro de SSO [Ninguno]: sso:account:access
La CLI intenta abrir automáticamente la página de autorización de SSO en su navegador predeterminado e inicia el proceso de registro para su cuenta de IAM Identity Center.
Después de proporcionar su contraseña (y la credencial de MFA, si está habilitada), se le solicitará que permita el acceso a sus datos. Esto otorga permisos a la AWS CLI para recuperar y mostrar las cuentas y roles de AWS que está autorizado a usar con IAM Identity Center.
Dado que la AWS CLI se basa en el SDK para Python, los mensajes de permiso pueden contener variaciones del nombre botocore, como Botocore-client-Test1. Seleccione Permitir. Tras la autenticación, se le indicará que puede cerrar la ventana.
La CLI se actualizará y le mostrará las cuentas y funciones de AWS que están disponibles para usted. Debido a que en este momento solo ha configurado una cuenta de AWS con el rol AdministratorAccess, es decir, la cuenta y el rol con los que ha iniciado sesión. Su ventana CLI ahora debería mostrar estas líneas:
La única cuenta AWS disponible para usted es: 111122223333
Utilizando el ID de cuenta 111122223333
El único rol disponible para usted es: AdministratorAccess
Utilizando el nombre de rol «AdministratorAccess»
A continuación, se le pide que Especifique el formato de salida predeterminado, la región predeterminada de AWS a la que enviar los comandos y que proporcione un nombre para el perfil de modo que pueda hacer referencia a este perfil cuando ejecute comandos en la CLI.
El nombre de perfil sugerido es el número de ID de la cuenta seguido de un guion bajo seguido del nombre del rol; sin embargo, para este tutorial, usaremos un nombre de perfil más corto, admin-1. Su ventana CLI ahora debería mostrar estas líneas:
Para usar este perfil, especifique el nombre del perfil utilizando --profile, como se muestra a continuación:
aws s3 ls --profile admin-1
Ahora, ejecute el comando <aws ec2 describe-vpcs> para comprobar si la configuración es correcta. Cada nueva cuenta de AWS tiene VPCs predeterminadas configuradas para que pueda ejecutar este comando sin tener ningún otro servicio configurado en su cuenta de AWS.
aws ec2 describe-vpcs
Su ventana CLI debería mostrar ahora la siguiente información.
Esto confirma que la AWS CLI se ha configurado de forma correcta.
Al realizar este procedimiento, ha actualizado su archivo AWS Config (archivo de configuración de AWS) con una sección tipo sso-session y un perfil con nombre.
El archivo de configuración se encuentra en ~/.aws/config en ordenadores funcionando con Linux o macOS, o en C:\Users\USERNAME\ aws\config en ordenadores con Windows. Si abre su archivo de configuración, verá estas dos secciones:
aws ec2 describe-vpcs --profile admin-1
{
"Vpcs": [
{
«CidrBlock»: «10.0.0.0/16»,
"DhcpOptionsId": "dopt-d12345",
"State": "available",
"VpcId": "vpc-0123456789abcdef",
"OwnerId": "111122223333",
"InstanceTenancy": "default",
............"CidrBlockAssociationSet": [
................{
....................."AssociationId": "vpc-cidr-assoc-38b060a751a39af8e",
....................."CidrBlock": "10.24.34.0/23",
....................."CidrBlockState": {
........................."State": "associated"
......................}
................}
............],
............"IsDefault": true
.........}
]
}
[profile admin-1]
sso_session = Test1
sso_account_id = 111122223333
sso_role_name = AdministratorAccess
region = us-east-1
output = json
[sso-session Test1]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access
Ahora usted puede usar esta sesión-sso y perfil para solicitar credenciales mediante el comando <aws sso login >.
aws sso login
La ventana CLI debería mostrar ahora la siguiente información:
aws sso login -–profile admin-1
Intentando abrir automáticamente la página de autorización de SSO en su navegador predeterminado.
Si el navegador no se abre o usted desea utilizar un dispositivo diferente para autorizar esta solicitud, abra la siguiente URL:
https://device.sso.us-east1.amazonaws.com/
A continuación, introduzca el código:
XXXX-XXXX
Navegue hasta la ventana del navegador y permita el acceso a sus datos. Cuando regrese a la ventana CLI, aparecerá esta línea en el siguiente mensaje:
Se ha iniciado sesión con éxito en la URL de inicio: https://my-sso-portal.awsapps.com/start
Configurar varios perfiles (opcional)
A medida que añada funciones a su cuenta de AWS y cuentas de AWS adicionales a su organización, repita el procedimiento anterior para crear un perfil para esas funciones y cuentas.
A medida que vaya añadiendo complejidad, se recomienda disponer de una estrategia de nomenclatura de perfiles que asocie los ID de las cuentas de AWS y los nombres de los roles para poder distinguir entre los perfiles.
Conclusión
¡Felicidades! Ha aprendido a configurar la AWS CLI y a configurar un perfil con nombre. En el próximo módulo, usted aprenderá cómo configurar AWS Cloud9, un IDE basado en la nube.