Conformance Packsと組織の証跡
AWS Organizations全体にConformance Packsを適用してCISまたはPCI-DSSベンチマークに対応し、組織レベルの証跡をデプロイして監査を一元化します。
「Conformance Packsと組織の証跡」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
Conformance Packs とは
AWS Config Conformance Packsは、CloudFormation に似た YAML テンプレートを使って、Config ルールと修復アクションを 1 つのデプロイ可能な単位にまとめたものです。CIS AWS Foundations Benchmark、PCI-DSS、HIPAA、NIST 800-53 など、特定の標準やフレームワークに対応するコンプライアンス制御のセットを表します。個々の Config ルールを何十個も手動でデプロイする代わりに、コンフォーマンスパックをデプロイすれば、数分で包括的なカバレッジを得られます。
Conformance Packs のサンプル
AWS は、GitHub と AWS コンソールでコンフォーマンスパックのサンプルテンプレートを数十種類提供しています。例として、Operational-Best-Practices-for-CIS-AWS-v1.4-Level1(基礎的なセキュリティ制御)、Operational-Best-Practices-for-PCI-DSS(決済カード業界向けの制御)、Operational-Best-Practices-for-HIPAA-Security(医療データ向けの制御)があります。これらのテンプレートはそのまま使用することも、デプロイ前に個々のルールを追加、削除、変更してカスタマイズすることもできます。
# Deploy a sample CIS conformance pack
aws configservice put-conformance-pack \
--conformance-pack-name CIS-AWS-Foundations-Level1 \
--template-s3-uri s3://my-templates-bucket/cis-aws-foundations-level1.yaml \
--delivery-s3-bucket my-config-conformance-results
# Check deployment status
aws configservice describe-conformance-packs \
--conformance-pack-names CIS-AWS-Foundations-Level1 \
--query 'ConformancePackDetails[].{Name:ConformancePackName,Status:ConformancePackState}'Conformance Pack テンプレートの構造
コンフォーマンスパックのテンプレートは、Parameters セクションと Resources セクションを含む YAML ドキュメントです。テンプレート内の各リソースは、AWS::Config::ConfigRule CloudFormation リソースタイプを使用した Config ルール定義です。また、AWS::Config::RemediationConfiguration リソースを含めて、自動修復アクションを関連付けることもできます。パラメータを使うとテンプレートを再利用できます。たとえば、結果を保存する S3 バケットや、修復で引き受ける IAM ロールをパラメータ化できます。
# Minimal conformance pack template (YAML)
# Parameters:
# RemediationRoleArn:
# Type: String
# Resources:
# S3BucketPublicReadProhibited:
# Type: AWS::Config::ConfigRule
# Properties:
# ConfigRuleName: s3-bucket-public-read-prohibited
# Source:
# Owner: AWS
# SourceIdentifier: S3_BUCKET_PUBLIC_READ_PROHIBITED
# RootMFAEnabled:
# Type: AWS::Config::ConfigRule
# Properties:
# ConfigRuleName: root-account-mfa-enabled
# Source:
# Owner: AWS
# SourceIdentifier: ROOT_ACCOUNT_MFA_ENABLEDConformance Pack のコンプライアンス概要
デプロイ後は、各コンフォーマンスパックのコンプライアンス概要を確認できます。各ルールについて、合格したルール数、失敗したルール数、非準拠リソース数が表示されます。パックのレベルからルールのレベル、さらに個々のリソースのレベルまで掘り下げて確認できます。コンプライアンスデータは、指定した結果用 S3 バケットにエクスポートできます。これにより、SIEM やコンプライアンスレポート用ダッシュボードに取り込めます。
# Get overall compliance status for a conformance pack
aws configservice get-conformance-pack-compliance-summary \
--conformance-pack-names CIS-AWS-Foundations-Level1 \
--query 'ConformancePackComplianceSummaryList[].{Pack:ConformancePackName,Status:ConformancePackComplianceSummary.ComplianceType}'
# Drill into non-compliant rules
aws configservice get-conformance-pack-compliance-details \
--conformance-pack-name CIS-AWS-Foundations-Level1 \
--filters ComplianceType=NON_COMPLIANT組織向け Conformance Packs
Organisation Conformance Packを使用すると、管理アカウント(または委任された管理者アカウント)から AWS Organizations のすべてのアカウントにコンフォーマンスパックを同時にデプロイできます。メンバーアカウントは、デプロイされたルールを削除または変更できません。組織に新しく参加したアカウントにも、コンフォーマンスパックが自動的に適用されます。各アカウントを個別に操作することなく、数百のアカウント全体にコンプライアンスのベースラインを適用する最も効率的な方法です。
# Deploy a conformance pack to the entire organisation
aws configservice put-organization-conformance-pack \
--organization-conformance-pack-name OrgSecurityBaseline \
--template-s3-uri s3://my-org-templates/security-baseline.yaml \
--delivery-s3-bucket central-config-results \
--excluded-accounts '111111111111' '222222222222'
# Check deployment status across accounts
aws configservice get-organization-conformance-pack-detailed-status \
--organization-conformance-pack-name OrgSecurityBaselineAWS Config の委任管理者
AWS Organizations では、AWS Config の委任された管理者アカウントを指定できます。これにより、日常的な Config の運用に管理アカウントを使う必要がなくなります。委任された管理者は、組織向けの Config ルール、コンフォーマンスパック、アグリゲータをデプロイし、すべてのメンバーアカウントのコンプライアンスデータを確認できます。これは、運用タスクでの管理アカウントの使用を最小限に抑えるベストプラクティスに沿った方法です。
# Register a delegated administrator for AWS Config
aws organizations register-delegated-administrator \
--account-id 333333333333 \
--service-principal config.amazonaws.com
# The delegated admin can now deploy org-wide Config resources
# without using the management account for daily operationsOrganisation Trails:API 監査の一元化
AWS CloudTrail の組織トレイルは、AWS Organizations のすべてのアカウント(現在のメンバーと将来のメンバーを含む)から API アクティビティを取得し、管理アカウントにある一元化された S3 バケットにログを配信します。各アカウントで管理する必要があるアカウントレベルのトレイルとは異なり、組織トレイルは一度作成するだけで、すべてのアカウントに自動的に適用されます。メンバーアカウントでは CloudTrail コンソールに組織トレイルが表示されますが、変更や削除はできません。
# Create an organisation trail from the management account
aws cloudtrail create-trail \
--name OrgCentralAuditTrail \
--s3-bucket-name central-org-audit-logs \
--is-multi-region-trail \
--is-organization-trail \
--include-global-service-events \
--enable-log-file-validation
# Organisation member accounts automatically contribute
# to this trail without any per-account configuration一元化されたログバケットの構造
組織トレイルの S3 バケットでは、構造化されたキーのプレフィックスを使用します。AWSLogs/ORGANIZATION_ID/ACCOUNT_ID/CloudTrail/REGION/YYYY/MM/DD/この階層により、組織 ID とアカウント ID でパーティション化した 1 つの Athena テーブルを使って、すべてのアカウントのログをクエリできます。また、S3 オブジェクトのプレフィックスを使って、各アカウントが自分のログだけを読み取れるようにアクセス権を付与することもできます。バケットポリシーでは、組織内のすべてのアカウントから書き込めるように、cloudtrail.amazonaws.com を明示的に許可する必要があります。
# S3 bucket policy for org trail (key permission addition)
# {
# "Sid": "AWSCloudTrailWrite-OrgTrail",
# "Effect": "Allow",
# "Principal": {"Service": "cloudtrail.amazonaws.com"},
# "Action": "s3:PutObject",
# "Resource": "arn:aws:s3:::central-org-audit-logs/AWSLogs/o-ORGID/*",
# "Condition": {
# "StringEquals": {
# "s3:x-amz-acl": "bucket-owner-full-control",
# "aws:SourceArn": "arn:aws:cloudtrail:us-east-1:MGMT_ACCOUNT_ID:trail/OrgCentralAuditTrail"
# }
# }
# }サービスコントロールポリシーと Config
AWS Organizations のサービスコントロールポリシー(SCP)は、メンバーアカウントで実行できる操作を制限する、補完的な予防的制御です。SCP と Config ルールを組み合わせると、多層防御を構築できます。SCP は非準拠の操作がそもそも実行されることを防止します(たとえば、暗号化されていない EBS ボリュームの作成を拒否します)。一方、Config ルールは非準拠の状態を検出し、修復を開始します。SAA-C03 では、シナリオに応じて予防的制御(SCP)と検出的制御(Config)のどちらを選ぶべきかが問われます。
# SCP that prevents disabling CloudTrail in any member account
# {
# "Version": "2012-10-17",
# "Statement": [{
# "Sid": "DenyCloudTrailDisable",
# "Effect": "Deny",
# "Action": [
# "cloudtrail:StopLogging",
# "cloudtrail:DeleteTrail",
# "cloudtrail:UpdateTrail"
# ],
# "Resource": "*"
# }]
# }集約された検出結果の Security Hub
AWS Security Hubは、Config(コンプライアンスチェックの結果)、GuardDuty(脅威の検出)、Inspector(脆弱性の検出結果)、Macie(データの機密性)、パートナーツールからの検出結果を取り込み、正規化された 1 つのビューに集約します。検出結果を CIS Foundations、PCI-DSS、AWS Foundational Security Best Practices などのセキュリティ標準に照らして評価します。Config が設定状態に重点を置くのに対し、Security Hub では、すべてのサービスにまたがる全体的なセキュリティスコアと、優先順位付けされた検出結果の一覧を確認できます。
# Enable Security Hub with default standards
aws securityhub enable-security-hub \
--enable-default-standards \
--tags SecurityScope=Production
# View aggregated findings by severity
aws securityhub get-findings \
--filters '{
"SeverityLabel":[{"Value":"CRITICAL","Comparison":"EQUALS"}],
"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}]
}' \
--max-results 10 \
--query 'Findings[].{Title:Title,Source:ProductName}'エンタープライズガバナンスのアーキテクチャ
完全なエンタープライズガバナンスのアーキテクチャでは、複数のサービスを組み合わせて使用します。SCPは違反が発生する前に防止し、AWS Config + Organisation Conformance Packsは違反を検出して自動的に修復し、Organisation CloudTrailはすべての API アクティビティを一元的に記録し、Security Hubは検出結果を優先順位付けされたセキュリティスコアに集約し、EventBridge + Lambdaは重大度の高い検出結果に対する自動応答を提供します。この多層的なアプローチが、AWS がクラウドガバナンスにおける多層防御モデルと呼ぶものです。
クイックチェック
このレッスンで学んだ AWS Solutions Architect(SAA-C03)の概念を確認してください。
レッスンのまとめ
このレッスンでは、Conformance Packsは複数の Config ルールを、フレームワークへの準拠に使用できる 1 つのデプロイ可能な YAML テンプレートにまとめること、Organisation Conformance Packsは AWS Organizations のすべてのアカウントに自動的に適用され、メンバーによる変更ができないこと、そしてOrganisation Trailsはアカウントごとの設定なしに、すべてのアカウントの API 監査ログを一元化することを学びました。次は、Storage Deep Dive で EBS ボリュームタイプについて学びます。
よくある質問
「Conformance Packsと組織の証跡」レッスンは無料ですか?
はい。「Conformance Packsと組織の証跡」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Conformance Packsと組織の証跡」で何を学びますか?
AWS Organizations全体にConformance Packsを適用してCISまたはPCI-DSSベンチマークに対応し、組織レベルの証跡をデプロイして監査を一元化します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Conformance Packsと組織の証跡」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- CloudTrailの証跡とイベント履歴
- CloudTrail Insightsとログファイルの整合性
- AWS Configルールと修復
- Conformance Packsと組織の証跡