Creé una secuencia de comandos para crear cuentas de usuario en AWS Organizations.
Ahora, ¿estoy intentando automatizar la eliminación de cuentas de usuario temporales en 30 minutos?
¿Cuáles podrían ser las posibles soluciones? Puedo trabajar en RESTAPI, Lambda, CloudFormation.
Existe un proceso manual, pero estoy intentando dar acceso de prueba a los usuarios durante 30 minutos.
Respuesta1
Puede invocar Lambda con registros de Cloudwatch.
Como tal, podría activar una función de AWS Lambda para eliminar al usuario 30 minutos después de que se detecte la actividad de ese usuario en los registros de Cloudwatch (por ejemplo, la creación de un recurso).
https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchlogs.html
Si no fuera posible identificar una acción del usuario en Cloudwatch, podría encadenar IAM -> Cloudtrail -> S3 -> Lambda para invocar la rutina de eliminación. Esto implicaría un poco más de esfuerzo, ya que su función Lambda debería poder leer el registro de Cloudtrail e identificar al usuario.
Respuesta2
AWS no proporciona una API para cerrar una cuenta de AWS.
La única forma de cerrar una cuenta es a través de la interfaz de usuario web.
Para lograr lo que deseas, lo más parecido sería mantener disponible un pool de cuentas vacías. Utilice uno cuando sea necesario. Cuando termine, use las API para vaciar la cuenta y devolverla al grupo.
Anécdota personal
En mi experiencia, cerrar una cuenta fue incluso más complicado que eso. Para cerrar una cuenta abierta en una organización, necesitaba hacer lo siguiente:
- Elimine la cuenta de AWS de la organización.
- Proporcione un número de tarjeta de crédito a la cuenta.
- Cierra la cuenta.
Referencias: