Hazlo tú (20 min)
Vas a terminar de preparar tu identidad de trabajo: MFA para
estudio-diario y un rol con el que crear recursos en los
laboratorios siguientes. Costo: $0. IAM y AWS STS no
tienen cargo adicional. Los botones se citan en inglés.
Plan gratuito: como en la Sesión 4, IAM, STS y CloudShell figuran entre los servicios gratuitos del registro simplificado, pero AWS no lo confirma para toda cuenta del plan gratuito. Si tu cuenta no te deja crear el rol, no pases al plan de pago: haz solo la parte D, en papel.
El esquema. estudio-diario sigue siendo
de solo lectura, como mínimo privilegio para el día a día. Cuando un
laboratorio cree o borre recursos, asumirá el rol
laboratorio-escritura, que exige MFA y da credenciales de
una hora. El rol usa la política administrada por AWS
PowerUserAccess: permite casi todos los servicios, pero
no IAM, AWS Organizations ni la configuración de la cuenta. Es amplia
para una empresa, pero en una cuenta de práctica evita pedir permisos en
cada sesión. No puede cambiar permisos ni unir la cuenta a una
organización, lo que la pasaría al plan de pago.
Seguridad: no crees claves de acceso. El usuario
raíz vuelve solo en la parte A: estudio-diario no puede
darse permisos a sí mismo.
Parte A · Preparar MFA y el rol (como usuario raíz).
Entra en
console.aws.amazon.comcomo Root user, con su MFA, y abre IAM. Anota tu número de cuenta de 12 dígitos: aparece en el menú de arriba a la derecha.En Users, abre
estudio-diarioy la pestaña Security credentials. En Multi-factor authentication (MFA) elige Assign MFA device.Escribe un nombre, como
estudio-diario-app, elige Authenticator app y Next. Elige Show QR code y escanéalo con tu app de autenticación; la de la Sesión 2 sirve, porque guarda varias cuentas.Escribe dos códigos seguidos en MFA code 1 y MFA code 2, y elige Add MFA.
En Roles, elige Create role. En Trusted entity type elige AWS account y luego This account. Marca Require MFA y elige Next.
Busca y marca PowerUserAccess. Elige Next, escribe
laboratorio-escrituraen Role name y elige Create role.En Policies, elige Create policy y cambia el editor a JSON. Borra lo que trae y pega esta política, con tu número de cuenta en lugar de
111122223333:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/laboratorio-escritura" }] }Elige Next, escribe
asumir-laboratoriocomo nombre y elige Create policy: una política administrada por el cliente.En User groups, abre
lectura-estudio, pestaña Permissions, y elige Add permissions › Attach policies. Marcaasumir-laboratorioy confirma con Attach policies.Cierra la sesión del usuario raíz.
Parte B · Entrar con MFA y asumir el rol.
- Entra con
estudio-diariopor la URL que copiaste en la Sesión 4. Ahora te pide un código MFA. - Abre el menú de arriba a la derecha y elige Switch
role. Escribe tu número de cuenta y
laboratorio-escrituracomo nombre del rol. En Display name escribelaboratorio, elige un color y luego Switch Role. El menú muestra ahoralaboratoriocon ese color. - Abre CloudShell (si no ves su icono, cambia de
Región) y ejecuta
aws sts get-caller-identity: el resultado contieneassumed-role/laboratorio-escritura. Son credenciales temporales de STS, no las de tu usuario. - Ejecuta
aws iam create-group --group-name prueba-escritura. RecibesAccessDenied: ni siquiera el rol puede tocar IAM. - Abre el menú de arriba a la derecha y elige Switch
back. Vuelves a ser
estudio-diario, solo lectura.
Parte C · Probar con el simulador de políticas. Como
estudio-diario, abre IAM › Policy
simulator. Solo dice si una acción se permitiría.
- Elige como identidad el rol
laboratorio-escritura. Añade las accionescloudformation:CreateStackeiam:CreateUsery ejecuta la simulación. La primera sale permitida; la segunda, negada implícitamente. - Cambia la identidad al usuario
estudio-diarioy simulacloudformation:CreateStackysts:AssumeRole. Para la segunda, indica como recurso el ARN del rol, el mismo de la política del paso 7 de la parte A. La primera sale negada: tu usuario solo lee. La segunda sale permitida porasumir-laboratorio.
Comprueba: puedes explicar por qué el paso 4 de la parte B falló aunque el rol tenga muchos permisos, y por qué el paso 2 de la parte C permite asumir el rol pero no crear una pila.
Con qué identidad trabajas desde ahora. Entras
siempre como estudio-diario, con MFA. Para leer y explorar
te quedas así. Cuando un laboratorio cree, cambie o borre recursos,
eliges Switch role › laboratorio, y
Switch back al terminar. Si el laboratorio usa
terminal, abre CloudShell después de cambiar de rol:
aws login en tu equipo te da solo la lectura de tu usuario.
El usuario raíz se queda guardado para sus tareas exclusivas.
Limpieza: no creaste recursos con costo. Conserva el MFA, el rol y la política: los usarás desde la Sesión 6. Si abandonas el curso, borra el rol en Roles y la política en Policies con Delete, además del usuario y el grupo de la Sesión 4.
Parte D · Predecir la decisión (en papel, 5 min).
Ana está en un grupo con Allow en
cloudformation:* y tiene una política en línea con
Deny en cloudformation:DeleteStack. Luis no
tiene políticas. ¿Qué pasa?
- Ana crea una pila.
- Ana borra una pila.
- Luis lista las pilas.
Comprueba: 1 permitido; 2 negado, porque el
Deny explícito gana; 3 negado implícitamente.