実際の行動履歴から「必要最小限の権限」を自動生成する魔法のツール
CloudTrailのログを分析し、実際に使用されたアクションだけを含むIAMポリシーを自動生成する機能
「とりあえず広い権限」から「必要最小限の権限(Least Privilege)」へ簡単に移行できる
最大90日間のアクティビティを分析。開発→本番移行時の権限最適化に最適
「入室記録を見て、本当に必要な部屋だけアクセスできるカードに作り直す」イメージです
「とりあえず全部の部屋に入れる」
マスターキー状態
「3ヶ月間で実際に入った部屋は
5部屋だけだった!」
「必要な5部屋だけ」に
アクセスできる新しいカード
全てのAPI呼び出しを
S3に記録
ログを分析して
使用アクションを抽出
最小権限の
ポリシーを出力
分析対象の設定を行います
90日間
を指定
CloudTrailログを分析してポリシーを生成
生成されたポリシーを確認・調整
完成したポリシーを適用
開発環境で広い権限を使い、テスト完了後に本番用の最小権限ポリシーを生成。セキュアな本番環境を実現。
長年使われてきた「広すぎるポリシー」を分析。実際に必要な権限だけに絞り込みセキュリティを向上。
定期的にポリシー生成を実行し、現在の使用状況と付与権限のギャップを可視化。
パイプライン実行ロールの権限を実際のデプロイ操作から自動生成。過剰な権限を防止。
既存メンバーの行動パターンを分析し、新メンバー用の適切な権限テンプレートを作成。
Organizations環境でCloudTrailログを集約。各アカウントのロールに対して一元的にポリシー生成。
# 1. ポリシー生成をリクエスト aws accessanalyzer start-policy-generation \ --policy-generation-details '{ "principalArn": "arn:aws:iam::123456789012:role/MyAppRole" }' \ --cloud-trail-details '{ "trails": [ { "cloudTrailArn": "arn:aws:cloudtrail:ap-northeast-1:123456789012:trail/my-trail", "allRegions": true } ], "startTime": "2024-09-01T00:00:00Z", "endTime": "2024-11-30T23:59:59Z" }' # 2. 生成状況を確認(JobIdは上記コマンドの戻り値) aws accessanalyzer get-generated-policy \ --job-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" # 3. 生成されたポリシーを取得 aws accessanalyzer get-generated-policy \ --job-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --include-resource-placeholders \ --include-service-level-template
最大90日間のCloudTrailログを分析可能。それ以上の期間は複数回に分けて実行が必要。
事前にCloudTrailを有効化し、S3にログを保存している必要があります。
CloudTrailログへのアクセスには標準のS3リクエスト・データ転送料金が適用されます。
AWS Control Towerが作成したトレイルは、SCPの制限により使用できません。
EC2, S3, Lambda, DynamoDBなど主要サービスはアクションレベルで生成。一部はサービスレベルのみ。
組織トレイルを使用すれば、管理アカウントからメンバーアカウントのポリシー生成が可能。
| 項目 | 制限値 | 備考 |
|---|---|---|
| 分析期間 | 最大 90日 | 開始日〜終了日を指定 |
| 同時実行ジョブ数 | 1ジョブ / リージョン | 完了後に次を開始 |
| CloudTrailログサイズ | 25GB まで推奨 | 大きいと処理時間増加 |
Created by SSuzuki1063
AWS SAP Learning Resources