AWS Organizations の下にユーザーアカウントを作成するためのスクリプトを作成しました。
今、私は 30 分で一時的なユーザー アカウントの削除を自動化しようとしています。
考えられる解決策は何でしょうか? RESTAPI、Lambda、CloudFormation で作業できます。
手動プロセスはありますが、ユーザーに30分間の試用アクセスを提供しようとしています。
答え1
Cloudwatch ログを使用して Lambda を呼び出すことができます。
そのため、Cloudwatch ログでそのユーザーのアクティビティ (リソースの作成など) が検出されてから 30 分後に、AWS Lambda 関数をトリガーしてユーザーを削除することができます。
Cloudwatch でユーザーアクションを識別できない場合は、IAM -> Cloudtrail -> S3 -> Lambda を連鎖させて削除ルーチンを呼び出すことができます。ただし、Lambda 関数が Cloudtrail ログを読み取ってユーザーを識別できる必要があるため、少し手間がかかります。
答え2
AWS は AWS アカウントを閉鎖するための API を提供していません。
アカウントを閉鎖する唯一の方法は、Web ユーザー インターフェイスを使用することです。
希望どおりの結果を得るには、空のアカウントのプールを用意しておくのが最も近いでしょう。必要なときに 1 つ使用します。完了したら、API を使用してアカウントを空にしてプールに戻します。
個人的な逸話
私の経験では、アカウントの閉鎖はそれよりもさらに複雑でした。組織で開設したアカウントを閉鎖するには、次の操作を行う必要がありました。
- 組織から AWS アカウントを削除します。
- アカウントにクレジットカード番号を入力します。
- アカウントを閉鎖します。
参考文献: