Lambda MFA Checker – AWS – Parte 2
Índice
Mejora de la funcionalidad de MFA_Check
¿Qué ha cambiado?
- La función Lambda envía automáticamente el email con las instrucciones MFA a los usuarios que no tienen MFA activado. Al administrador le llega un e-mail con la lista de usuarios que no tienen MFA activado, precisando también, cuáles de éstos supera además «n» de días de antigüedad.
- Para ello ya no usaremos Amazon Simple Notification Service (SNS) sino Amazon Simple Email Service (SES)
- Ahora filtraremos a los usuarios cuyo nombre de usuario sea una dirección de correo electrónico de nuestra organización. (Está pensado para detectar solo a los usuarios cuyo nombre es: «user@example.com» descartando a los usuarios programáticos como: «test»
- Tenemos un switch que activa el modo DEBUG. Cuando éste está activado, nos llegarán todos los emails que tengan que enviarse a una dirección que definamos para el modo DEBUG.
CloudWatch
Solo nos falta asociar esta regla con nuestra Lambda:
Todo listo, le ponemos un nombre y una descripción y ya tenemos la regla configurada.
Lambda
Observamos a la izquierda «CloudWatch Events», que es la regla que acabamos de crear. (También podríamos haber comenzado desde este panel, hubiese sido lo mismo solo que invirtiendo el orden, primero añadiendo el destino y luego la regla.)
Bien, como comentamos anteriormente, ya no vamos a usar SNS sino SES en su lugar. Necesitamos tocar un poco los permisos del rol con el que se ejecuta nuestra Lambda.
IAM
Crearemos una política para poder enviar e-mails mediante SES
Personalizamos la política JSON
Una vez creada la política vamos a:
Además eliminaremos la política del SNS, ya que ya no la necesitamos.
Y añadimos la nueva política creada anteriormente
Muy bien! A continuación vamos a configurar SES:
SES
Necesitamos verificar un e-mail:
Nos llegará un e-mail con un enlace al que deberemos de hacer click.
Entonces veremos lo siguiente:
Y si actualizamos, podremos ver como cambia el estado a «verified»
Si vamos a nuestra Lambda de nuevo, veremos el cambio:
Pues ya solo queda actualizar el código, con la nueva versión:
Script V2
Atención, porque deberemos de configurarlo a nuestro gusto en la siguiente sección (eliminando los «<<>>»:
Una vez hecho esto, podremos darle a «Probar» y nos llegará el siguiente e-mail si todos los usuarios tienen habilitado MFA:
Y en el caso de que tengamos usuarios con el MFA no habilitado, nos llegará por un lado, el e-mail al administrador:
Esta captura es con los usuarios recién creados:
Y esta pasado un día, (Habiendo configurado como tope máximo 0 días en vez de 120 para esta prueba):
Y como además tenemos activado el modo DEBUG, nos llegarán tres e-mails, uno por cada usuario al que le debería de llegar:
Siendo estas, las instrucciones para el usuario, donde se le detallaría el procedimiento para habilitar MFA en su cuenta de AWS.
En el momento en el que desactiváramos el modo DEBUG los mensajes se enviarían a su destinatario correspondiente.
Recordar, si nos diera error por exceder el tiempo de procesamiento máximo , aumentaremos el tiempo de espera. En mi caso tarda 4 segundos, y si hay muchos usuarios 20 segundos.
Y esto es todo! Aquí concluye esta segunda parte. Si te perdiste la parte 1, puedes verla aquí.
Ha sido una buena toma de contacto con IAM,SNS, SES, CloudWatch y por supuesto con AWS Lambda, y espero que te haya resultado interesante.
Nos veremos en próximos post!