ひとことで言うと
IAMが権限を設定する側なら、Access Analyzerは設定された権限が意図通りか点検する側です。
要するに、鍵をかけた後に「本当に閉まっているか」を毎晩見回る警備員です。Knowledge BaseのS3バケットやエージェントの秘密情報を守るKMSキーに鍵(ポリシー)をかけた本人は、しばしば自分のかけた鍵の緩みに気づきません。Access Analyzerはその見回りを、自分では気づけない外部共有・未使用の権限に対して自動でやってくれます。
なぜ生まれたか
| Access Analyzerが無いと | 受け皿 |
|---|---|
| リソースベースポリシーの緩さは、事故が起きるまで気づけない | 外部アクセス分析:組織外の主体に共有されているリソースを継続的に検出 |
| 誰も使っていない古いロール・アクセスキーが残り続ける | 未使用アクセス分析:使われていないロール・アクセスキー・アクションを検出 |
| ポリシーの文法ミスや過剰な許可を目視でレビューするしかない | ポリシー検証:作成・編集時にAWSベストプラクティスと照らして警告 |
「権限を絞る」のはIAMの仕事ですが、絞ったつもりが実際に絞れているかを継続的に確認する仕組みは別に要ります。Access Analyzerはその確認を自動化します。
何に使うか
| 用途 | 使い方 | 関連ドメイン |
|---|---|---|
| Knowledge BaseのS3バケットの外部共有チェック | 外部アクセス分析がS3・KMSキー・Secrets Manager等の対応リソースを継続監視 | D3 |
| エージェントの実行ロールの権限肥大化チェック | 未使用アクセス分析で使っていないアクション・ロールを検出 | D3 |
| ポリシー作成時の事前検証 | ポリシー検証・カスタムポリシーチェックで新規権限付与を確認 | D3 |
| 最小権限ポリシーの叩き台作成 | CloudTrailの実際の呼び出し実績からポリシーを自動生成 | D3 |
試験でどう問われるか
| 問われ方 | 正解に寄る条件 | 引っかけの選択肢 |
|---|---|---|
| Knowledge BaseのデータソースであるS3バケットが、意図せず外部アカウントに共有されていないか継続的に確認したい | 外部アクセス分析(external access analyzer) | バケットポリシーを定期的に手動で読み返す |
| エージェントの実行ロールに、もう使っていない広い権限が残っていないか点検したい | 未使用アクセス分析(unused access analyzer) | ロールを作り直して権限をリセットする |
| ガードレールやKnowledge Baseの暗号化に使うKMSキーが外部と共有されていないか確認したい | KMSキーは外部アクセス分析の対応リソースに含まれる | KMSはAccess Analyzerの対象外と考える |
| 新しいIAMポリシーが意図せず新規アクセスを許可していないか、デプロイ前に確認したい | カスタムポリシーチェックでCI/CDに組み込む | デプロイ後に手動レビューで気づいた分だけ直す |
外部アクセス分析はリージョン単位で有効化が必要です(対象リソースが存在するリージョンごとに分析が要ります)。未使用アクセス分析はリージョンをまたいで結果が変わりません。
実務でどう使うか
- ポリシー変更から検出までに時間差があります。 通常は約30分以内に新規・変更ポリシーを分析しますが、マルチリージョンアクセスポイントの変更やCloudTrailの配信遅延があると、次回の定期スキャン(最大24時間以内)まで検出が遅れることがあります
- 検出対象は分析対象アカウント外の主体だけです。 同一組織(zone of trust)内からのアクセスは「信頼済み」として検出されません
- 未使用アクセス分析はIAMロール・ユーザーの数に応じて課金されます。 リージョンごとに分析器を作ると、その分だけ課金対象が増えます
外部アクセス分析は同一組織(zone of trust)内からのアクセスを「信頼済み」として検出しません。組織内の別アカウントから広すぎる権限で触れている状態は、内部アクセス分析(internal access analyzer)で別途確認する必要があります。
取り違えやすいもの
| 迷う相手 | 切り分けの一言 |
|---|---|
| IAM | IAMは権限を設定する側。Access Analyzerは設定結果を事後に検査する側。両者は対になる |
| Amazon Macie | Access Analyzerは権限設定(誰がアクセスできるか)を見る。Macieはデータの中身(S3内のPII等)を見る。同じS3バケットでも見ている軸が違う |
| AWS CloudTrail | CloudTrailは実際に起きたAPI呼び出しの記録。Access Analyzerはその記録を入力に使って未使用アクセスやポリシー生成を行う側 |
想起チェック
Q1. Knowledge Baseのデータソース用S3バケットが外部アカウントと共有されていないか継続的に確認したい。使う機能は?
**外部アクセス分析(external access analyzer)**です。S3バケットのほか、KMSキー・Secrets Managerの秘密情報・Lambda関数など、生成AIパイプラインが使うリソースの多くが対応リソースに含まれます。
Q2. エージェント実行ロールに、もう不要な広い権限が残っていないか調べたい。使う機能は?
**未使用アクセス分析(unused access analyzer)**です。使われていないロール・アクセスキー・アクションを継続的に検出し、最小権限への絞り込みを支援します。