📌 結論:このルールは何をするの?
指定日数(デフォルト90日)以内に
ローテーション(更新)されているかを自動チェック!
🏢 オフィスの入館カードで例えると超わかりやすい!
現実世界のオフィス
• 紛失・盗難のリスクを軽減
• 退職者のカードが使われ続けるのを防止
• セキュリティ監査の要件を満たす
「3ヶ月ごとにカードを再発行してください」
と管理会社が定期チェックしているイメージ!
AWSの世界
• キーの漏洩リスクを最小化
• 古いキーが悪用され続けるのを防止
• セキュリティベストプラクティスの遵守
「90日ごとにアクセスキーを更新してください」
とAWS Configが自動チェック!
💡 ポイント:
入館カードを何年も同じものを使い続けると危険なように、
アクセスキーも定期的に更新することでセキュリティを保つ!
📅 アクセスキーの「鮮度」を可視化
🍱 お弁当の消費期限と同じ!
作りたて(0日目)→ まだ美味しい(60日目)→ そろそろ危険(89日目)→ 食べちゃダメ(90日以上)
アクセスキーも「鮮度」が大事!古くなったら新しいものに交換しよう
⚙️ access-keys-rotatedの仕組み
チェック開始
アクセスキーを確認
レポート
全IAMユーザーの
アクティブなアクセスキー
定期実行
(24時間ごと)
キー作成からの
経過日数
🎛️ 設定パラメータ
💡 設定のコツ:
• セキュリティ重視 → 30〜60日に設定
• 運用負荷とのバランス → 90日(デフォルト)
• コンプライアンス要件 → 監査基準に合わせて設定
📊 コンプライアンス評価結果
どんな状態が「準拠」「非準拠」になるの?
🔧 非準拠の場合の対処法
💡 ベストプラクティス
IAMロールを優先使用
EC2やLambdaではアクセスキーではなくIAMロールを使用。ローテーションが不要になります。
Secrets Managerで管理
アクセスキーをハードコードせず、Secrets Managerで安全に管理・自動ローテーション。
定期的なローテーション計画
90日ルールに従い、計画的にキーを更新するプロセスを確立しましょう。
通知設定
SNS連携で非準拠時にアラートを受信。問題を素早く検知・対応できます。
キーは1つだけ
ユーザーあたりのアクティブキーは1つに。複数あると管理が複雑になります。
使用状況の監視
IAM Access Analyzerで最終使用日を確認。未使用キーは削除を検討。
📊 ローテーション期間の比較
| 設定期間 | セキュリティ | 運用負荷 | 推奨シーン |
|---|---|---|---|
| 30日 | ⭐⭐⭐ 最高 | ⚠️ 高い | 金融・医療など高セキュリティ要件 |
| 60日 | ⭐⭐ 高い | 中程度 | 一般的なエンタープライズ |
| 90日(デフォルト) | ⭐ 標準 | ✅ 低い | 多くの組織に適切 |
| 180日以上 | ⚠️ 注意 | ✅ 最低 | 非推奨(リスク増大) |
❓ よくある質問
1. 新しいキーを作成(この時点で古いキーも有効)
2. アプリケーションを新しいキーに更新
3. 動作確認後、古いキーを削除
この順序なら、サービス停止なくローテーションできます。
ただし、rootユーザーにアクセスキーを作成すること自体が非推奨です。 rootユーザーは必要最小限の操作のみに使用し、日常業務にはIAMユーザーを使いましょう。
Secrets ManagerでIAMユーザーのアクセスキーを管理すると、 定期的な自動ローテーションを設定できます。 Lambda関数を使ったカスタムローテーションも実装可能です。
ただし、使っていないキーを非アクティブにしておくより、 削除することを推奨します。 未使用のキーは潜在的なセキュリティリスクです。
🎓 まとめ
ローテーションを要求
最小化
チェックを実現