はじめに
AWS のセキュリティや監査、構成管理の話題になると、
GuardDuty / Security Hub / IAM Access Analyzer / AWS Config
といったサービス名が並びがちです。
その中でも AWS Config について、私自身も、
「Config って結局何を見ればいいの?」
という状態から調べ始めたため、本記事では AWS Config の役割と実務での使いどころ を整理してみます。
AWS Config とは?
AWS Config とは一言でいうと、
AWS リソースの「構成変更」を記録し、ルールに基づいて「正しい設定かどうか」を判定するサービス
です。
ログ系サービス(CloudTrail)との違いを簡単にまとめると:
| サービス | 何を記録するか |
|---|---|
| CloudTrail | 「誰が・いつ・何を操作したか」 |
| AWS Config | 「リソースの設定がどう変わったか」 |
AWS Config でできること
① リソース構成の変更履歴を残す
EC2、S3、IAM、RDS などのリソースについて、
- 設定がいつ変わったか
- 何がどう変わったか
を 時系列で追跡 できます。
例:
- セキュリティグループが変更された
- S3 バケットの公開設定が変わった
- IAM ロールのポリシーが更新された
👉 「いつからこの設定になった?」 を後から確認できるのが強みです。
② Config ルールによる「準拠 / 非準拠」の判定
AWS Config には Config ルール という仕組みがあります。
これは、
「この設定は守られているべき」 というルールを定義し、自動チェックする仕組みです。
代表的な例:
- S3 バケットは公開されていないか
- CloudTrail が有効化されているか
- IAM ユーザーに MFA が設定されているか
- RDS の自動バックアップが有効か
上記のルールに違反すると 「非準拠」 として検出されます。
③ 監査・内部統制の証跡として使える
AWS Config は、
- 内部監査
- セキュリティレビュー
- 外部監査(ISMS / SOC / 内部統制など)
などで よく使われるサービス です。
理由は、
- 設定変更の履歴が残る
- ルールによる自動判定ができる
- 「現在どうなっているか」を担当者へ説明しやすい
からです。
AWS Config と他サービスとの位置づけ
過去に記事にした他のセキュリティ関連のサービスと混乱しがちなので、整理しておきます。
| サービス | 役割 |
|---|---|
| CloudTrail | 操作ログ(誰が何をしたか) |
| AWS Config | 構成管理・設定の正しさ |
| GuardDuty | 不審な挙動の検知 |
| Security Hub | セキュリティ結果の集約 |
👉 AWS Config は「構成が正しいか」を見るサービス。
Config ルール5選
AWSConfigには複数のルールがあり、最初からすべてを確認するのは現実的ではないため、
まずは 監査・セキュリティの観点で特に重要な以下の 5つ を取り上げてみます。
✅ 1. cloudtrail-enabled
CloudTrail が有効化されているか をチェックするルールです
CloudTrail が無効になっていると、AWS 上での操作履歴(API コール)が一切追えなくなり、
セキュリティ・監査の観点で致命的な状態 になります。
理由:
- API操作の証跡がなくなる
- 誰が何をしたか不明
- 攻撃を検知できない
最優先で設定すべき Config ルール です。
✅ 2. s3-bucket-public-read-prohibited / s3-bucket-public-write-prohibited
S3 バケットがパブリックに公開されていないか をチェックするルールです。
- public-read
- public-write
が許可されていると、意図しない情報漏えいやデータ改ざん に直結する可能性があります。
ポイント:
- 監査でも確認される項目
- 意図的に公開している場合は理由を説明できる状態が必要
- 不要な公開は即対応が必要
✅ 3. iam-user-mfa-enabled
IAM ユーザーに MFA(多要素認証)が設定されているか をチェックするルールです。
MFA が設定されていない IAM ユーザーは、パスワード漏えい時に即アカウント奪取につながります。
理由:
- アカウント奪取
- パスワード漏えい
- 認証強度の欠如
✅ 4. restricted-ssh
セキュリティグループで SSH(22番ポート)が 0.0.0.0/0 に対して許可されていないか をチェックするルールです。
このルールに引っかかっている場合:
- 世界中から SSH 接続が可能な状態
- ブルートフォース攻撃の対象になりやすい
👉 検出されたら最優先で対応すべき項目。
✅ 5. rds-storage-encrypted
RDS のストレージ暗号化が有効になっているか をチェックするルールです。
暗号化されていない場合:
- スナップショット流出時のリスク
- 監査・コンプライアンス要件に抵触
- 本番利用として不適切と判断されることが多い
👉 本番 DB では暗号化が前提 と考えて問題ありません
AWS Config を使うときの注意点
✔ コストは「記録数」と「ルール評価数」で決まる
- 全リソースを無差別に記録するとコスト増
- 最初は対象リソースを絞るのがおすすめ
✔ 有効化しただけでは意味がない
- Config Recorder が ON になっているか
- ルールが設定されているか
を確認。
✔ Organization 利用時は集約を検討
- 複数アカウントがある場合、管理アカウントに集約すると運用しやすい
まとめ
- AWS Config は「構成変更の記録」と「設定の正しさ」を見るサービス
- CloudTrail とは役割が違う
- 監査・セキュリティ・構成管理で非常に重要
- 最初はルールを絞って小さく始めるのがおすすめ
AWS を継続的に運用していく上で、
「今どうなっているか」を説明できる状態を作る ための土台になるサービスだと感じています。