Edited at

マルチアカウントにおける Amazon GuardDuty


やりたいことが以下に該当する場合は読み進めて下さい


  • AWS でマルチアカウントを運用している。

  • 各AWSアカウントで GuardDuty を有効にしつつ、特定のAWSアカウントで Findings を一元管理したい。


GuardDuty のマスターアカウントとメンバーアカウントを設定する

GuardDuty にはマスターアカウントとメンバーアカウントという概念がある。

マスターアカウントでは、紐づけたメンバーアカウントの Findings を透過的に閲覧、管理できる。

詳しくはきちんとしたドキュメントがあるので、参照してほしい。

https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_accounts.html


GuardDuty を有効にする

まず、それぞれの AWS アカウントで、GuardDuty を有効にする。

image.png

image.png


マスターアカウントを設定する

マスターアカウントにしたい AWS アカウントにログインして、マスターアカウントの設定を始める。

(マルチアカウント戦略においては、おそらくは監査用AWSアカウントのようなものがあるはずで、それをマスターアカウントにすることが多いと思う)

マスターアカウントの GuardDuty の設定画面で Accounts を選択し、Add accounts でメンバーアカウントを追加していく。

image.png

追加時に必要な情報は AWS Account Idルートアカウントのメールアドレス となる。

image.png

情報を入力して、 Add を選択すると追加予定リストに追加される。

Next を選択すると、招待画面に遷移する。

image.png

招待画面で Invite を選択する。

image.png

ダイアログで、 Send invitation を選択する。これでメンバーアカウントに招待が飛ぶ。

image.png


メンバーアカウントを設定する

メンバーアカウントの GuardDuty の設定画面で Accounts を選択すると招待が届いているので ACCEPT トグルを enable にし、 Accept invitation を選択する。

image.png

メンバーアカウントがマスターアカウントにリンクされる。

image.png

これで、メンバーアカウントの GuardDuty がマスターアカウントから透過的に管理できるようになる。