Lambda MFA Checker – AWS – Parte 1
Índice
- Liste los usuarios de IAM.
- Haga un array de los usuarios que no tienen MFA, calculando además el tiempo de antigüedad de cada uno.
- Envíe una notificación mediante SNS del todal de usuarios que no tienen MFA.
- Envíe otra notificación mediante SNS de los usuarios que no tienen MFA y que además superen N días de antigüedad. (Para tomar las acciones que se estimen necesarias con dichos usuarios)
Creación de un Rol
Políticas
- IAMReadOnlyAccess (Para poder listar los usuarios de IAM)
- CloudWatchLogsFullAccess (Para poder escribir los logs)
- AmazonSNSFullAccess (Para poder hacer uso de SNS)
Tema SNS
Le damos a «Crear un Tema», elegimos un nombre y completamos la operación dándole a «Crear un tema».
Veremos el ARN, más tarde tendremos que acudir a él.
Ahora crearemos una suscripción.
Deberemos de confirmar la suscripción mediante el e-mail que nos llegará.
Una vez hecho esto podríamos enviar un mensaje de prueba, para comprobar la correcta recepción de éste.
Lambda
Ahora crearemos la función Lambda
A la que le asignaremos el Rol que creamos en pasos anteriores
Y aquí es donde copiaremos nuestro script, borrando el código que ya hay:
Script V1 (en el siguiente post V2)
Sin olvidarnos de sustituir donde pone:
<<TU ARN TOPIC SNS AQUÍ>>’
sustituimos por el ARN del tema que creamos anteriormente en SNS.
Como en este caso concreto de ejemplo, tengo dos usuarios de prueba recién creados, el tiempo de ejecución del script no resultó ser un problema; pero en caso de tener gran cantidad de usuarios de IAM, deberíamos de ampliar el tiempo de espera, si nos encontrásemos con errores de «Tiempo de ejecución máximo excedido»
Si le damos a «Guardar» y luego a «Probar» nos aparecerá «Configurar un evento de prueba»
Yo lo dejé por defecto, y le dí a «Crear»
y hasta aquí este post; hemos entrado en calor! Espero que haya resultado de interés; en el próximo post, haremos que la Lambda actúe ante una acción desencadenante, y además mejoraremos el código. Ir a Parte 2
Saludos!!!
PD: en esta ocasión he utilizado https://www.draw.io/ para diseñar el diagrama. Buenas sensaciones, como Lucidchart e incluso mejores.
Fantástico trabajo, Evaristo 🙂
¡Has demostrado que eres un profesional enorme y espero que tengas la oportunidad de dar grandes pasos muy pronto!
Muchísimas gracias por darme la oportunidad y poder comenzar esta nueva etapa!! 🙂