AccessAnalyzerとは?
(公式ドキュメント:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/what-is-access-analyzer.html)
今回は外部アクセスアナライザーと未使用のアクセスアナライザーを設定します。
★外部アクセスアナライザー
意図しないアクセスがないか確認することができる。
★未使用のアクセスアナライザー
一定期間使用されていないアクセス権限等を確認することができる。
>未使用のロール、IAM ユーザーの未使用のアクセスキー、IAM ユーザーの未使用のパスワード が検出される(公式引用)
AccessAnalyzer(外部アクセス)を設定してみる
はじめはSecurithHubとGuardDutyを設定したときと同じです。
Organizationsのサービスページを開きます。
「統合されたサービス」下の、大きくカテゴリを選択できるプルダウンにて「アクセスと許可」を選択します。
するとすぐにAccessAnalyzerが出てくるため、サービス名を押下します。
次に【信頼されたアクセスを有効にする】を押下します。するとポップアップが出現します。
チェックボックスにチェックを入れ、画面の指示に従って【信頼されたアクセスを有効にする】を押下します。
すると先ほどの画面に戻り、画面上部に緑の帯で「AccessAnalyzerに対する信頼されたアクセスを正常に有効にしました」と表示されれば、成功です!
緑帯の右側に表示されている、【IAM AccessAnalyzerに移動】を押下します。
ここからはAccessAnalyzerを直接設定していきます。
AccessAnalyzerのサービス画面が表示されるので、左側のメニュー画面から【アナライザーの設定】を押下します。
アナライザーの設定画面が表示されるので、【委任された管理者を追加】を押下します。
今まで設定してきたのと同様に、委任された管理者項目にAuditのアカウントIDを入れ、【変更を保存】を押下します。
「委任された管理者を作成しました」と表示されていることを確認し、左メニューから再度アナライザーの設定画面に移動します。
委任された管理者項目には今設定したAuditアカウントのアカウントIDが設定されていることが確認できます。(表示されていない場合は、サイトを再読み込みしてください)
ここまでで管理者アカウントでの設定は完了です。
次に、Auditアカウントに入り直し設定を行っていきます。
ここからはリージョンごとに設定する必要があるので、4リージョン分設定することになります。
先ほどと同じように左メニューからアナライザーの設定画面に飛びます。
委任された管理者項目に、先ほど設定したAuditアカウントが設定されていることを確認します。
確認出来たら、左メニューより【アクセスアナライザー】を押下し、以下画面に遷移します。
ここで、アナライザーの作成を押下します。
アナライザー作成画面が表示されるため、
分析項目の「検出結果タイプ」を【外部アクセス分析】、アナライザーの詳細項目の「リージョン」を任意のリージョン1つ(今回は東京です)、「名前」は任意のもの、「信頼ゾーン」は【現在の組織】を選択してください。
設定出来たら、【アナライザー作成】を押下します。
画面上部に【アナライザーXXX(設定した名前)が正常に作成されました】と表示されたらOKです。
検出結果がちょっとずつでてくるので、これで確認が完了です。
【ポイント】
SSOは各アカウントとは分離されたフェデレーションユーザーのため、毎回検出されます(泣)
AccessAnalyzer(未使用アクセス)を設定してみる
次に未使用のアナライザーを設定していきます。
Auditアカウントのまま、左メニューから【未使用のアクセス】を押下すると、以下画面になります。
【アナライザーの作成】を押下します。
アナライザー作成画面が表示されるため、
分析項目の「検出結果タイプ」を【未使用のアクセス分析】、アナライザーの詳細項目の「名前」「追跡期間」は任意のもの、「リージョン」は任意の1つ(今回は東京です)、(見切れてますが)「信頼ゾーン」は【現在の組織】を選択してください。
【アナライザーの作成】を押下します。
画面上部に緑の帯で【アナライザーXXX(設定した名前)が正常に作成されました】と表示されればOKです。
こちらもしばらくすると検出結果が上がってきます。
【ポイント】
組織か設定をしているアカウントだけでしか有効化できないの?任意のアカウント3つ!とかで有効化できないの?と思われた方もいらっしゃるのではないでしょうか。
私たちも試みましたが、やはり組織か設定しているアカウントでしか有効化はできないそうです。
任意のアカウントのみの検出結果を知りたい時は、
①各アカウントでアナライザーを設定する
②組織全体で有効化した後、アーカイブルールにて「フィルターキー」をリソース所有者アカウント、「コンディション」を次と等しくない、「バリュー」を見たいアカウントを設定することでいらないアカウントをアーカイブする(サポートより回答)
上記の方法で実現することができます。