Ich habe ein Skript zum Erstellen von Benutzerkonten unter AWS Organizations erstellt.
Jetzt versuche ich, das Löschen temporärer Benutzerkonten in 30 Minuten zu automatisieren?
Was könnten mögliche Lösungen sein? Ich kann an RESTAPIs, Lambda, CloudFormation arbeiten.
Es gibt einen manuellen Prozess, aber ich versuche, den Benutzern 30 Minuten lang eine Art Testzugriff zu gewähren
Antwort1
Sie können Lambda mit Cloudwatch-Protokollen aufrufen.
So können Sie beispielsweise eine AWS-Lambda-Funktion auslösen, um den Benutzer 30 Minuten, nachdem in den Cloudwatch-Protokollen eine Aktivität dieses Benutzers erkannt wurde (z. B. die Erstellung einer Ressource), zu entfernen.
https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchlogs.html
Wenn es nicht möglich wäre, eine Benutzeraktion in Cloudwatch zu identifizieren, könnten Sie IAM -> Cloudtrail -> S3 -> Lambda verketten, um die Löschroutine aufzurufen. Dies wäre etwas aufwändiger, da Ihre Lambda-Funktion das Cloudtrail-Protokoll lesen und den Benutzer identifizieren können müsste.
Antwort2
AWS bietet keine API zum Schließen eines AWS-Kontos.
Die einzige Möglichkeit, ein Konto zu schließen, ist über die Web-Benutzeroberfläche.
Um Ihr Ziel zu erreichen, wäre es am ehesten, einen Pool leerer Konten bereitzuhalten. Verwenden Sie eines davon, wenn Sie es brauchen. Wenn Sie fertig sind, leeren Sie das Konto mithilfe der APIs und geben Sie es in den Pool zurück.
Persönliche Anekdote
Meiner Erfahrung nach war die Schließung eines Kontos sogar noch komplizierter. Um ein Konto zu schließen, das über eine Organisation eröffnet wurde, musste ich Folgendes tun:
- Entfernen Sie das AWS-Konto aus der Organisation.
- Geben Sie für das Konto eine Kreditkartennummer an.
- Schließen Sie das Konto.
Verweise: