🔑 AWS Config access-keys-rotated

アクセスキーの定期ローテーションを自動チェック!

AWS Config マネージドルール

📌 結論:このルールは何をするの?

🔄
IAMユーザーのアクセスキーが
指定日数(デフォルト90日)以内に
ローテーション(更新)されているかを自動チェック!
定期チェック
古いアクセスキーを自動検出
🛡️
セキュリティ強化
漏洩リスクを最小化
📋
コンプライアンス
監査要件を満たす

🏢 オフィスの入館カードで例えると超わかりやすい!

🔐 アクセスキー = オフィスの入館カード
🏢

現実世界のオフィス

🎯 入館カードを定期的に更新する理由:

• 紛失・盗難のリスクを軽減
• 退職者のカードが使われ続けるのを防止
• セキュリティ監査の要件を満たす

「3ヶ月ごとにカードを再発行してください」
と管理会社が定期チェックしているイメージ!
☁️

AWSの世界

🎯 アクセスキーを定期的に更新する理由:

• キーの漏洩リスクを最小化
• 古いキーが悪用され続けるのを防止
• セキュリティベストプラクティスの遵守

「90日ごとにアクセスキーを更新してください」
とAWS Configが自動チェック!

💡 ポイント:
入館カードを何年も同じものを使い続けると危険なように、
アクセスキーも定期的に更新することでセキュリティを保つ!

📅 アクセスキーの「鮮度」を可視化

🔑 アクセスキー作成からの経過日数
0〜60日
安全!
➡️
⚠️
61〜89日
もうすぐ期限
➡️
90日以上
非準拠!

🍱 お弁当の消費期限と同じ!

作りたて(0日目)→ まだ美味しい(60日目)→ そろそろ危険(89日目)→ 食べちゃダメ(90日以上)
アクセスキーも「鮮度」が大事!古くなったら新しいものに交換しよう

⚙️ access-keys-rotatedの仕組み

📋
AWS Config
ルールを実行して
チェック開始
➡️
👤
IAMユーザー
各ユーザーの
アクセスキーを確認
➡️
📊
評価結果
準拠 / 非準拠を
レポート
🔍
チェック対象

全IAMユーザーの
アクティブなアクセスキー

⏱️
評価タイミング

定期実行
(24時間ごと)

📝
評価基準

キー作成からの
経過日数

🎛️ 設定パラメータ

⚙️ カスタマイズ可能な設定
📅
maxAccessKeyAge
デフォルト値
90日
設定可能範囲
1〜365日
推奨値
90日以下

💡 設定のコツ:
• セキュリティ重視 → 30〜60日に設定
• 運用負荷とのバランス → 90日(デフォルト)
• コンプライアンス要件 → 監査基準に合わせて設定

📊 コンプライアンス評価結果

どんな状態が「準拠」「非準拠」になるの?

COMPLIANT(準拠)
🔑 アクセスキーが90日以内に作成/更新されている
🚫 アクセスキーが存在しない(IAMロール使用)
⏸️ アクセスキーが非アクティブ状態
NON_COMPLIANT(非準拠)
アクセスキーが90日以上更新されていない
👤 複数のキーがあり、いずれかが期限切れ
📅 作成日から指定日数を超過

🔧 非準拠の場合の対処法

❌ NON_COMPLIANTになったらどうする?
1
🔍 対象のアクセスキーを特定
AWS Configのコンソールで、どのIAMユーザーのキーが非準拠かを確認します。
aws iam list-access-keys --user-name ユーザー名
2
🔑 新しいアクセスキーを作成
古いキーを削除する前に、まず新しいキーを作成します。
aws iam create-access-key --user-name ユーザー名
3
🔄 アプリケーションの認証情報を更新
新しいキーをアプリケーションやスクリプトに設定します。 AWS Secrets Managerの使用を推奨!
4
🗑️ 古いアクセスキーを削除
新しいキーで動作確認後、古いキーを削除します。
aws iam delete-access-key --user-name ユーザー名 --access-key-id 古いキーID

💡 ベストプラクティス

🏆 セキュリティを高める推奨事項
🤖

IAMロールを優先使用

EC2やLambdaではアクセスキーではなくIAMロールを使用。ローテーションが不要になります。

🔐

Secrets Managerで管理

アクセスキーをハードコードせず、Secrets Managerで安全に管理・自動ローテーション。

📅

定期的なローテーション計画

90日ルールに従い、計画的にキーを更新するプロセスを確立しましょう。

🔔

通知設定

SNS連携で非準拠時にアラートを受信。問題を素早く検知・対応できます。

🔑

キーは1つだけ

ユーザーあたりのアクティブキーは1つに。複数あると管理が複雑になります。

📊

使用状況の監視

IAM Access Analyzerで最終使用日を確認。未使用キーは削除を検討。

📊 ローテーション期間の比較

🔄 設定期間別のメリット・デメリット
設定期間 セキュリティ 運用負荷 推奨シーン
30日 ⭐⭐⭐ 最高 ⚠️ 高い 金融・医療など高セキュリティ要件
60日 ⭐⭐ 高い 中程度 一般的なエンタープライズ
90日(デフォルト) ⭐ 標準 ✅ 低い 多くの組織に適切
180日以上 ⚠️ 注意 ✅ 最低 非推奨(リスク増大)

❓ よくある質問

🤔 アクセスキーをローテーションすると既存のアプリケーションは止まる?
正しい手順で行えば止まりません!

1. 新しいキーを作成(この時点で古いキーも有効)
2. アプリケーションを新しいキーに更新
3. 動作確認後、古いキーを削除

この順序なら、サービス停止なくローテーションできます。
🤔 rootユーザーのアクセスキーもチェックされる?
いいえ、このルールはIAMユーザーのみが対象です。

ただし、rootユーザーにアクセスキーを作成すること自体が非推奨です。 rootユーザーは必要最小限の操作のみに使用し、日常業務にはIAMユーザーを使いましょう。
🤔 自動ローテーションはできる?
AWS Secrets Managerを使えば可能です!

Secrets ManagerでIAMユーザーのアクセスキーを管理すると、 定期的な自動ローテーションを設定できます。 Lambda関数を使ったカスタムローテーションも実装可能です。
🤔 非アクティブなアクセスキーもチェックされる?
非アクティブ(Inactive)状態のキーは評価対象外です。

ただし、使っていないキーを非アクティブにしておくより、 削除することを推奨します。 未使用のキーは潜在的なセキュリティリスクです。

🎓 まとめ

🔑 access-keys-rotated = アクセスキーの「鮮度チェック」
90日ルール
デフォルト90日以内の
ローテーションを要求
🛡️
セキュリティ
キー漏洩時の被害を
最小化
📋
自動監査
継続的なコンプライアンス
チェックを実現
🏢 オフィスの入館カード(アクセスキー)を定期的に更新するように、
AWSのアクセスキーも定期的にローテーションしよう!

🔐 可能な限りIAMロールを使用
🔑 アクセスキーが必要な場合は定期ローテーション
📊 AWS Configで継続的に監視

これでセキュリティと監査の両方をクリア!🎉

Created by SSuzuki1063

AWS SAP Learning Resources