En el post anterior vimos cómo crear nuestra primera cuenta en AWS. Ahora que ya tenemos acceso a la consola, lo primero que debemos hacer (antes que cualquier otra cosa) es asegurar el usuario root y dejar de usarlo para el día a día. En este post te voy a guiar paso a paso para activar MFA en el root y crear nuestro primer usuario IAM para reemplazarlo.
¿Por qué asegurar el root user?
El root user es el usuario con el que creamos la cuenta. Tiene acceso total y sin restricciones a absolutamente todos los servicios y recursos de AWS, incluyendo acciones que ningún otro usuario puede hacer (cerrar la cuenta, cambiar el plan de soporte, modificar la información de facturación, entre otras).
Justamente por ese poder, AWS recomienda no usarlo para tareas del día a día y protegerlo con el mayor nivel de seguridad posible. Si las credenciales del root se comprometen, un atacante tendría control absoluto sobre nuestra cuenta. Las prácticas mínimas que debemos aplicar son:
- Una contraseña fuerte y única.
- MFA (Multi-Factor Authentication) activado.
- Guardar las credenciales en un lugar seguro y usar el root solo cuando sea estrictamente necesario.
Importante: Este es uno de los consejos más repetidos por AWS en la documentación oficial y en el Well-Architected Framework. Si solo vas a seguir una práctica de seguridad, que sea esta.
Paso 1: Ingresar al servicio IAM
Desde la consola de AWS, en la barra superior utilizamos el buscador para encontrar el servicio IAM (Identity and Access Management).

Escribimos iam y hacemos clic en el resultado IAM — Manage access to AWS resources.

Paso 2: Agregar MFA al root user
Una vez dentro, vemos el IAM Dashboard. En la sección Security recommendations AWS nos avisa que el root user no tiene MFA activado y nos muestra un botón “Add MFA”. Hacemos clic ahí para empezar.

Paso 3: Seleccionar el dispositivo MFA
AWS nos va a pedir un nombre para el dispositivo MFA. Le ponemos algo descriptivo como root-mfa. Después nos ofrece tres opciones de tipo de dispositivo:
- Passkey or security key — passkey o llave física tipo YubiKey. Es la opción más segura y la que AWS recomienda como protección principal contra phishing.
- Authenticator app — una app instalada en el celular o computadora (Google Authenticator, Microsoft Authenticator, Authy, Duo Mobile, etc.).
- Hardware TOTP token — un dispositivo físico dedicado que genera códigos.
Para este ejemplo vamos a usar Authenticator app, que es la opción más práctica para empezar. La seleccionamos y hacemos clic en Next.

Paso 4: Configurar la Authenticator app
AWS nos muestra un código QR que tenemos que escanear desde nuestra app autenticadora. Si todavía no tenés una, podés instalar Microsoft Authenticator, Google Authenticator, Duo Mobile o Authy desde la tienda de apps de tu celular. En mi caso usé Microsoft Authenticator.
Una vez que escaneamos el QR, la app va a empezar a generar códigos de 6 dígitos que se renuevan cada 30 segundos. AWS nos pide ingresar dos códigos consecutivos para verificar que el dispositivo esté sincronizado correctamente. Ingresamos el primer código, esperamos a que la app genere el siguiente (unos 30 segundos), lo ingresamos y hacemos clic en Add MFA.

Tip: Guardá el dispositivo MFA (o el celular donde esté la app) en un lugar seguro. Si perdés el acceso a la app autenticadora y al correo del root, recuperar la cuenta puede ser un proceso muy largo.
Paso 5: Verificar que MFA quedó activo
AWS nos redirige a la sección My security credentials del root user, y podemos ver que en Multi-factor authentication (MFA) ya aparece nuestro dispositivo virtual root-mfa con el ARN correspondiente. Listo, el MFA está activo.

A partir de ahora, cada vez que alguien intente loguearse con el root va a necesitar tanto la contraseña como el código de 6 dígitos generado por la app.
Paso 6: Ir a la sección de Users
Con el root ya protegido, vamos a crear el usuario que usaremos en el día a día. En el menú lateral izquierdo de IAM, dentro de Access Management, hacemos clic en Users.

Paso 7: Crear un nuevo usuario
En la pantalla de Users vemos la lista de usuarios existentes (en una cuenta nueva estará vacía). Hacemos clic en el botón Create user arriba a la derecha.

Paso 8: Especificar los detalles del usuario
AWS nos pide los datos del nuevo usuario. Completamos el formulario así:
- User name: un nombre descriptivo. En el ejemplo uso
admin. - Provide user access to the AWS Management Console: lo tildamos porque queremos poder entrar a la consola.
- Console password: seleccionamos Autogenerated password para que AWS genere una contraseña segura automáticamente (también podemos elegir Custom password si queremos definirla nosotros).
- Users must create a new password at next sign-in: lo dejamos tildado (AWS lo marca como Recommended) para que el usuario cambie la contraseña en el primer ingreso.

Hacemos clic en Next para pasar a los permisos.
Paso 9: Asignar permisos al usuario
En la pantalla Set permissions, AWS nos ofrece tres opciones: agregar el usuario a un grupo, copiar permisos de otro usuario o Attach policies directly.
Seleccionamos Attach policies directly y en la lista de Permissions policies buscamos y tildamos la policy administrada AdministratorAccess, que otorga permisos completos sobre todos los servicios de AWS.

Nota sobre la estrategia: Históricamente la mejor práctica fue administrar permisos a través de grupos. Sin embargo, AWS recomienda hoy usar IAM Identity Center con Permission Sets para gestionar el acceso humano, en lugar de crear usuarios IAM y grupos manualmente. Como la idea a futuro es migrar a ese modelo, no vale la pena invertir tiempo ahora armando grupos que después vamos a reemplazar. Por eso adjuntamos la policy directamente al usuario: es la forma más simple para una cuenta personal en esta etapa inicial.
Nota de seguridad:
AdministratorAccesses una policy muy permisiva. Para entornos productivos o con múltiples personas, lo ideal es seguir el principio de menor privilegio y otorgar solo los permisos estrictamente necesarios. Mientras estamos aprendiendo y es una cuenta personal, está bien usar esta policy.
Bajamos al final de la lista y hacemos clic en Next para continuar.

Paso 10: Revisar y crear el usuario
AWS nos muestra la pantalla Review and create con un resumen completo: nombre del usuario (admin), tipo de contraseña (Autogenerated), Require password reset en Yes y las Permissions summary. Vas a notar que, además de AdministratorAccess, aparece también IAMUserChangePassword: AWS la adjunta automáticamente porque marcamos la opción de “cambiar contraseña en el primer sign-in”, y esta policy es la que le permite al usuario cambiar su propia contraseña.
Si todo está correcto, hacemos clic en Create user.

Paso 11: Obtener las credenciales del usuario
Después de crear el usuario, AWS nos muestra la pantalla Retrieve password con el mensaje de éxito y los Console sign-in details:
- Console sign-in URL: la URL específica de nuestra cuenta para loguearse con usuarios IAM.
- User name: el nombre del usuario (
admin). - Console password: la contraseña autogenerada, que podemos ver haciendo clic en Show.
Podemos descargar un archivo .csv con todos los datos o copiarlos directamente. Esta es la única vez que AWS nos va a mostrar esta contraseña, así que es muy importante guardarla en un lugar seguro.

Importante: Guardá el sign-in URL en tus favoritos. Es la URL que vas a usar siempre para entrar con tu usuario IAM, y es distinta del login del root. Guardá también la contraseña en un gestor de contraseñas seguro.
Paso 12: Cerrar sesión del root e ingresar con el usuario IAM
Para probar que todo funcione, hacemos clic en nuestro nombre en la esquina superior derecha de la consola y seleccionamos Sign out. Luego abrimos el sign-in URL que guardamos en el paso anterior e ingresamos con el usuario admin y la contraseña autogenerada.
Como marcamos que el usuario debe cambiar la contraseña en el primer login, AWS nos va a pedir que la reseteemos. Ingresamos la contraseña autogenerada como Old Password, definimos una nueva en New Password y la repetimos en Confirm New Password. Hacemos clic en Confirm Password Change.

Y listo, ya estamos dentro de la consola con nuestro usuario IAM admin y con una contraseña nueva que solo conocemos nosotros. Podemos ver arriba a la derecha que estamos logueados como admin y no como root.

De ahora en adelante, este es el usuario que vamos a usar para todo el día a día.
Siguiente paso recomendado: Activá MFA también en tu usuario IAM (desde IAM → Users → tu usuario → Security credentials → Assign MFA device). La seguridad nunca está de más, y nos aseguramos de que todos los accesos a la cuenta estén protegidos con doble factor.
Conclusiones
En este post dimos dos pasos fundamentales para la seguridad de nuestra cuenta: activamos MFA en el root user y creamos un usuario IAM con permisos administrativos para el uso diario. Con esto cumplimos con una de las mejores prácticas más importantes de AWS: no usar el root salvo para tareas muy específicas que realmente lo requieran.
En los próximos posts vamos a seguir profundizando en IAM: veremos cómo funcionan las policies, los roles, cómo aplicar el principio de menor privilegio, y más adelante cómo migrar a IAM Identity Center con Permission Sets para gestionar el acceso humano de forma más moderna y escalable. También vamos a ver cómo configurar alertas de facturación (Budgets) para tener todo bajo control desde el día uno.