この記事はギークフィード Advent Calendar 2023の3日目の記事です。
ギークフィードとパートナー企業である株式会社スカイアーチHRソリューションズのメンバーによるブログリレーとなっているので、他の投稿もぜひ読んでみてください。
投稿時点で私はre:Inventの帰りのシアトルにいます。がんばって帰ります。
不要なIAMユーザーを削除したい
西山です。
長年使っているAWSアカウント、社員の入退社や削除忘れなどもあり不要なIAMユーザーが放置されていないでしょうか?
放置されているIAMユーザーにアクセスキー、シークレットアクセスキーが割り当てられているとセキュリティリスクになります。
組織で複数のAWSアカウントを利用しているとIAMユーザーの棚卸、不要なユーザーの削除も一苦労です。
今回はそんな面倒な作業を極力ラクにやる方法の紹介です。
最初にまとめ
- AWS Organizations + Control Towerを利用していればAWS Configで組織内のIAMユーザーをリスト化できる
- リストをもとに各アカウントを調査する。その際対象のIAMユーザーの利用履歴を確認する
- 削除する前にはリソース所有者に確認することも重要
AWS ConfigでIAMユーザーを棚卸
AWS Organizations + Control Towerを利用していれば、AWS Configアグリゲーターを使って組織内のリソースを横断的に検索することができます。
AWS Configアグリゲーターは、AWS Organizations の組織および AWS Config が有効になっている組織内のすべてのアカウントのConfig情報を集計することができる機能です。
https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/aggregate-data.htmlより引用
Control Towerを利用することでもろもろリソースが作成され、AuditアカウントからConfigアグリゲーターのクエリを利用できます。
AuditアカウントにログインしてConfigのページへ行き、高度なクエリメニューをクリックします。
新しいクエリボタンをクリックします。
クエリスコープではControl Towerで作成された「aws-controltower-GuardrailsComplianceAggregator」を選択します。
以下のクエリを入力します。アグリゲーター内でIAMユーザーのリソースを対象に、アカウントID、リソースID、リソース名、リソースタイプ、リージョンを表示するクエリです。
1 2 3 4 5 6 7 8 |
SELECT accountId, resourceId, resourceName, resourceType, awsRegion WHERE resourceType = 'AWS::IAM::User' |
実行をクリックするとOrganizations内の全アカウントのIAMユーザーが表示されます。
クエリ結果はJSONまたはCSVでエクスポートすることができます。CSVで保存しておくと後々の作業が楽になります。
不要なIAMユーザーを削除
それでは各アカウントにアクセスしてIAMユーザーを削除していきます。
このときに重要なことは、使っているかどうかをリソース所有者に確認することと実際に使っていないことを確認することです。
アクセスキー、シークレットアクセスキーをどういった用途でどの環境で利用しているかを忘れてしまい、所有者は利用していないと思っていても実際は利用していたというケースがあるため注意が必要です。
IAMユーザーのリストで確認してもよいですが、IAMコンソールにある認証情報レポートを利用すると効率的です。認証情報レポートをダウンロードからIAMユーザーに関連する認証情報のCSVファイルをダウンロードすることができます。
実際のファイルの中身抜粋はこのようになります。
各IAMユーザーについて、
- 最後にコンソールログインした時間
- アクセスキーの有効/無効
- 最後にアクセスキーを使用したリージョンとサービス、その時間
をまとめてチェックすることができます。
上の画像だと下から3つのアクセスキーは何かしらの環境で利用されている可能性が高そうです。IAMユーザーの所有者に確認した上で削除を行いましょう。
おわりに
今回は組織内のマルチアカウント上の不要なIAMユーザーを整理し削除する方法の紹介でした。
IAM Identity Centerへアカウントアクセスを移行した後、実際にギークフィード内で行うIAMユーザー棚卸の手順でもあります。
利用していない認証情報を放置するのはセキュリティ上のリスクになるので、これを機にチェックしてみてはいかがでしょうか。
明日はスカイアーチHRソリューションズのトップバッター、肱黒さんの投稿です。おたのしみに〜。
採用宣伝
ギークフィードではAWSエンジニアなどの職種で一緒に働く仲間を募集しています。
弊社に興味を持っていただいたり、会社のことをカジュアルに聞いてみたいという場合でも、ご気軽にフォームからお問い合わせください。その場合はコメント欄に、カジュアルにお話したいです、と記載ください!
- 組織内のIPv4アドレス(EIP)を自動通知してコスト削減する - 2024-12-03
- 組織内のAWSコスト最適化のためにやっている7つのこと - 2024-12-01
- Amazon Connect Contact Lens + iPaaSで生成AI活用&他サービス連携を簡単に実現!– Amazon Connect アドベントカレンダー 2024 - 2024-12-01
- AWS Step Functionsの基本を再学習しました - 2024-09-23
- Amazon SESでバウンスメールを管理する - 2024-07-07