🛡️ AWS Config 管理ルール
& CloudTrail修復アクション

ビルの防犯システムで理解する!自動監視&自動修復の仕組み

📌 結論:自動で「防犯カメラ」を設置してくれるシステム!

AWS Configは「CloudTrail(防犯カメラ)が無効になっていたら自動で有効化」してくれます

👀
AWS Config
ビルの管理人
24時間体制で全フロアを
監視・チェック
📋
管理ルール
ビルのルールブック
「全フロアに防犯カメラ
必須」などのルール
📹
CloudTrail
防犯カメラ
誰がいつ何をしたか
すべて記録
🔧
修復アクション
自動修理サービス
カメラがなければ
自動で設置!

🏢 ビルの防犯システムで完全理解!

🏢 AWSアカウント(高層ビル)
5階
開発環境
📹 CloudTrail有効
✅ 準拠
4階
本番環境
📹 CloudTrail有効
✅ 準拠
3階
テスト環境
❌ CloudTrail無効
⚠️ 非準拠
➡️
🔧 自動修復!
📹 有効化完了
2階
ステージング
📹 CloudTrail有効
✅ 準拠
👮
AWS Config(管理人室)
「3階に防犯カメラがない!ルール違反だ!」
「SSM Automationに連絡して、自動で設置させよう!」

🔄 AWS-EnableCloudTrail 修復アクションの流れ

🔍
Step 1: 検出
ConfigがCloudTrailの状態をチェック
➡️
⚖️
Step 2: 評価
管理ルールに照らして準拠/非準拠を判定
➡️
🔧
Step 3: 修復
非準拠ならSSMが自動でCloudTrailを有効化
➡️
Step 4: 確認
再評価で準拠状態になったことを確認

🏢 ビルのたとえ:
管理人が巡回 → カメラがないフロアを発見 →
業者に連絡して自動設置 → 設置完了を確認!

🧩 4つのコンポーネントを詳しく理解

👀
AWS Config
🏢 たとえ:ビルの管理人
24時間体制で全フロアを巡回し、ルール違反がないかチェック。問題を見つけたら即座に報告。
  • 📊 AWSリソースの設定を継続的に記録
  • 🔍 設定変更の履歴を追跡
  • ⚖️ ルールに基づいて準拠状態を評価
  • 🔔 非準拠を検出したら通知
📋
管理ルール
(cloudtrail-enabled)
🏢 たとえ:ビルのルールブック
「全フロアに防犯カメラを設置すること」というルール。AWSが事前に用意してくれている。
  • ✅ AWSが作成済みのルール(Managed Rule)
  • 🎯 CloudTrailが有効かをチェック
  • ⚡ 設定変更時に自動評価
  • 📝 カスタマイズ不要ですぐ使える
📹
CloudTrail
🏢 たとえ:防犯カメラ
誰が・いつ・何をしたかを24時間録画。不審な動きがあれば証拠として活用できる。
  • 📝 API呼び出しを記録(監査ログ)
  • 🔐 セキュリティ調査に必須
  • 📊 コンプライアンス要件を満たす
  • ⚠️ 無効だと何が起きたか分からない!
🔧
修復アクション
(AWS-EnableCloudTrail)
🏢 たとえ:自動修理サービス
管理人から連絡を受けたら、即座にカメラを設置しに来てくれる業者さん。
  • 🤖 SSM Automationドキュメントを使用
  • ⚡ 非準拠検出時に自動実行
  • 📹 CloudTrailを自動で有効化
  • 🔄 手動実行も可能

⚙️ SSM Automation(自動修復の実行役)

⚠️
非準拠を検出
➡️
📜
SSM Automation
ドキュメント実行
➡️
CloudTrail有効化
📜 AWS-EnableCloudTrail ドキュメント
動作内容:
1. 指定リージョンでCloudTrail証跡を作成
2. S3バケットにログを保存
3. マルチリージョン証跡として設定(オプション)
4. ログファイル検証を有効化

🏢 ビルのたとえ:
SSM Automation = 防犯カメラ設置業者
管理人(Config)から「3階にカメラがない!」と連絡が来たら
自動で現場に行って設置作業を完了させる

🔧 修復アクション設定の5ステップ

1
AWS Configを有効化
まず管理人室を設置!AWS Configをリージョンで有効にして、リソースの記録を開始します。
2
管理ルール「cloudtrail-enabled」を追加
ルールブックにルールを追加。「CloudTrailが有効であること」というチェック項目を設定します。
3
修復アクションを設定
ルールに「AWS-EnableCloudTrail」の修復アクションを紐付け。非準拠時に自動実行されるよう設定します。
4
IAMロールを設定
SSM Automationがクラウドトレイルを有効化できる権限を持ったIAMロールを指定します。
5
自動/手動を選択
自動修復: 非準拠検出時に即座に実行
手動修復: 管理者の承認後に実行

📊 自動修復 vs 手動修復 比較

比較項目 🤖 自動修復 👆 手動修復
⚡ 対応速度 即座に実行(秒単位) 承認待ちで遅延あり
👀 管理者介入 不要 必要(承認ボタン)
🔐 リスク管理 意図しない変更の可能性 確認してから実行
🎯 おすすめシーン クリティカルな設定
(CloudTrail必須)
影響範囲が大きい設定
🏢 ビルのたとえ 無人で自動設置 管理人の許可後に設置

💼 どんな時に使う?ユースケース

🏦

金融業界のコンプライアンス

規制要件でCloudTrailの有効化が必須。うっかり無効化されても自動で復旧させる。
✅ 監査で「常に有効だった」と証明可能
🏥

医療業界のセキュリティ

HIPAA要件で監査ログが必須。患者データへのアクセスを常に記録する必要がある。
✅ データアクセスの完全な追跡を保証
🏢

マルチアカウント環境

複数のAWSアカウントを管理。新規アカウント作成時も自動でCloudTrailを有効化。
✅ 全アカウントで一貫したセキュリティ
🚀

DevOps環境

開発者が誤ってCloudTrailを無効化しても、自動で復旧。インシデント調査に備える。
✅ ヒューマンエラーを自動でリカバリー
📝 CloudFormationでの設定例
# AWS Config ルールと修復アクションの設定
Resources:
  # 管理ルール: CloudTrailが有効かチェック
  CloudTrailEnabledRule:
    Type: AWS::Config::ConfigRule
    Properties:
      ConfigRuleName: cloudtrail-enabled
      Source:
        Owner: AWS
        SourceIdentifier: CLOUD_TRAIL_ENABLED
  
  # 修復アクション: 自動でCloudTrailを有効化
  EnableCloudTrailRemediation:
    Type: AWS::Config::RemediationConfiguration
    Properties:
      ConfigRuleName: !Ref CloudTrailEnabledRule
      TargetType: SSM_DOCUMENT
      TargetId: AWS-EnableCloudTrail
      Automatic: true  # 自動修復を有効化
      MaximumAutomaticAttempts: 5
      RetryAttemptSeconds: 60
      Parameters:
        AutomationAssumeRole:
          StaticValue:
            Values:
              - !GetAtt RemediationRole.Arn
        S3BucketName:
          StaticValue:
            Values:
              - !Ref CloudTrailBucket
⚠️ 設定時の注意事項
1. IAMロールの権限:
修復アクションを実行するIAMロールには、CloudTrailを作成・変更する権限が必要です。最小権限の原則に従って設定しましょう。

2. S3バケットの事前準備:
CloudTrailのログを保存するS3バケットを事前に作成しておく必要があります。バケットポリシーも適切に設定してください。

3. リージョン設定:
マルチリージョン証跡を作成する場合は、パラメータで明示的に指定する必要があります。

4. コスト考慮:
CloudTrailを有効にするとS3へのログ保存でストレージ料金が発生します。ライフサイクルポリシーの設定も検討しましょう。
💡 ベストプラクティス
1. 組織全体で展開:
AWS Organizationsと組み合わせて、全アカウントに一括でルールを適用しましょう。

2. SNS通知を設定:
修復アクションの実行結果をSNSで通知するよう設定すると、何が起きたか把握できます。

3. 最初は手動修復で:
いきなり自動修復を有効にせず、まず手動修復で動作を確認してから自動化しましょう。

4. CloudWatch Logsと連携:
修復アクションのログをCloudWatch Logsに送信して、トラブルシューティングに備えましょう。

5. 複数ルールを組み合わせ:
CloudTrailだけでなく、S3バケット暗号化やセキュリティグループなど、他のルールも組み合わせて多層防御を実現しましょう。

❓ よくある質問

🤔 修復アクションが失敗したらどうなる?
設定したリトライ回数まで自動で再試行されます。それでも失敗した場合は、Config画面で「失敗」ステータスが表示され、SNS通知(設定している場合)が送られます。CloudWatch Logsで失敗理由を確認して、IAM権限やパラメータを見直しましょう。
🤔 すでにCloudTrailが有効な場合は?
AWS Configは「準拠」と判定し、修復アクションは実行されません。ルールは定期的に(または設定変更時に)評価されるので、将来無効化されても自動で検出・修復されます。
🤔 カスタムルールでも修復アクションを使える?
はい!Lambda関数で作成したカスタムルールにも修復アクションを設定できます。ただし、修復用のSSMドキュメントは自分で作成するか、既存のAWS管理ドキュメントを使用する必要があります。
🤔 修復アクションの実行を一時的に止めたい場合は?
修復設定で「Automatic」をfalseに変更するか、修復設定自体を削除します。ルール自体は残るので、非準拠の検出は継続されますが、自動修復は実行されなくなります。

🎓 まとめ

👀
AWS Config
ビルの管理人
24時間監視して
ルール違反を検出
📋
管理ルール
ルールブック
CloudTrail必須という
ルールを定義
🔧
修復アクション
自動修理サービス
問題を見つけたら
即座に自動修復
📹
CloudTrail
防犯カメラ
誰が何をしたか
すべて記録
🏢 AWS Config + 修復アクション = 自動防犯システム

🔍 管理人が常に監視(AWS Config)
📋 ルールブックでチェック(管理ルール)
🔧 問題があれば自動修復(SSM Automation)
📹 防犯カメラが常に稼働(CloudTrail有効化)

これで「CloudTrailがいつの間にか無効になっていた!」
という事故を完全に防げます!🛡️

Created by SSuzuki1063

AWS SAP Learning Resources