IAM Access Analyzer と認証情報の定期ローテーション
未使用権限・外部アクセス許可の検出、アクセスキーの定期ローテーション運用を解説します。
既存システムのIAM権限は、時間の経過とともに「とりあえず許可した」権限が蓄積し、 最小権限の原則から乖離していくことが避けられません。本記事ではこれを継続的に 是正する仕組みを解説します。
SAA レベル:基礎概念
IAM Access Analyzerの基本機能
- 組織内・アカウント外部からアクセス可能なリソース(S3バケット、IAMロール等)を検出する
- 意図しない外部共有(パブリック公開、他アカウントからのアクセス許可)を可視化する
SAA 試験のポイント
Access Analyzerは、実際にリソースにアタッチされているポリシーを数理的に解析し、外部エンティティがアクセス可能な設定になっていないかを検出します。CloudTrailログの後追い分析ではなく、ポリシー自体の静的解析であるという点がSAAで問われることがあります(静的解析機能と、後述するアクセス履歴に基づく分析機能の両方を持つ)。
アクセスキーのローテーション基本
- IAMユーザーのアクセスキーは、定期的にローテーション(新規作成→切り替え→旧キー無効化)することが推奨される
- IAM認証情報レポートで、各ユーザーの最終ローテーション日・最終使用日を一覧確認できる
SAP レベル:高度な設計シナリオ
未使用権限の検出とポリシー生成
SAP 試験のポイント
Access Analyzerのポリシー生成機能は、CloudTrailの実際のアクセス履歴(過去90日間等)を分析し、「このロールが実際に使用したアクションのみ」を含む、最小権限のポリシー案を自動生成します。SAPレベルでは、既存の過剰な権限を持つロールに対してこの機能を適用し、実際の利用実態に基づいて段階的に権限を絞り込む継続的改善のワークフローが問われます。
アクセスキーの定期ローテーション運用の自動化
SAP 試験のポイント
手動でのアクセスキーローテーションは、忘れられがちで形骸化しやすい運用です。SAPレベルでは、IAM Identity Centerへの移行によりそもそも長期的なアクセスキーの発行自体を減らす方針が推奨されますが、プログラム的にアクセスキーが必要な場合は、一定期間(例: 90日)以上ローテーションされていないキーをConfig Rulesで検出し、自動的に無効化または通知するLambda連携を組み込む設計が問われます。
設計上の落とし穴
「アクセスキーのローテーションポリシーを社内規定として定めれば十分」という運用は、実効性が低いことが多いです。SAPでは、AWS Config のaccess-keys-rotatedマネージドルールなどで技術的に強制・検出する仕組みを伴わない、規定のみに依存した対策は不十分とみなされる傾向があります。
外部アクセス許可の継続監視
- Access Analyzerの検出結果をEventBridge経由でSecurity Hubに集約し、新たに意図しない外部共有が発生した際に即座にアラートを上げる設計が、大規模組織のセキュリティ運用で標準的なパターンになっている
- 「アーカイブ」機能を使い、意図的に許可されている既知の外部共有(正当なクロスアカウント連携等)はノイズから除外し、真に注意すべき新規の検出結果にフォーカスできるようにする
まとめ
- SAA: Access Analyzerが外部アクセス可能なリソースを検出する仕組み、認証情報レポートの基本を理解する。
- SAP: ポリシー生成機能による実態に基づく権限の絞り込み、アクセスキーローテーションの技術的強制、外部アクセス許可の継続監視ができる。
次は **脆弱性管理(Amazon Inspector)**を見ていきましょう。