AWS Control Towerでランディングゾーンを構築し、Security Hubで統合セキュリティ監視を実現したら、次は具体的なコンプライアンスフレームワークへの対応と監査プロセスの効率化が課題になります。特に金融、医療、政府系システムでは、PCI DSS、HIPAA、FedRAMPなどの規制要件への準拠が求められます。本記事では、Control Towerを活用してコンプライアンス要件を効率的に満たし、監査対応をスムーズに行うための実践的な手法を解説します。

Control Towerとコンプライアンスフレームワーク

Control Towerは、複数のコンプライアンスフレームワークに対応したガードレールを提供しています。これらのガードレールを適切に有効化することで、コンプライアンス要件の多くを自動的に満たすことができます。

対応するコンプライアンスフレームワーク

Control Towerのガードレールは、主要なコンプライアンスフレームワークにマッピングされています。

flowchart TB
    subgraph "コンプライアンスフレームワーク"
        CIS[CIS AWS<br/>Foundations Benchmark]
        PCI[PCI DSS]
        NIST[NIST 800-53]
        SOC[SOC 2]
        HIPAA[HIPAA]
        GDPR[GDPR]
    end
    
    subgraph "Control Tower"
        GR[ガードレール]
        SH[Security Hub<br/>セキュリティ標準]
        CFG[AWS Config<br/>適合パック]
    end
    
    subgraph "コンプライアンス対応"
        AUTO[自動チェック]
        REPORT[レポート生成]
        EVIDENCE[証跡収集]
    end
    
    CIS --> GR
    PCI --> SH
    NIST --> GR
    SOC --> CFG
    HIPAA --> SH
    GDPR --> CFG
    
    GR --> AUTO
    SH --> AUTO
    CFG --> AUTO
    AUTO --> REPORT
    AUTO --> EVIDENCE
フレームワーク 概要 主な対象業界 Control Tower対応
CIS AWS Foundations Benchmark CISが策定したAWSセキュリティ設定基準 全業界 ガードレール + Security Hub
PCI DSS クレジットカード業界のデータセキュリティ標準 金融、EC Security Hub標準
NIST 800-53 米国連邦政府のセキュリティ管理フレームワーク 政府、防衛 ガードレール + Config適合パック
SOC 2 サービス組織の内部統制に関する報告基準 SaaS、クラウド Config適合パック
HIPAA 医療情報の保護に関する米国連邦法 医療、ヘルスケア Security Hub + Config適合パック
GDPR EU一般データ保護規則 EU顧客対応企業 Config適合パック

コンプライアンス要件とガードレールの対応関係

コンプライアンスフレームワークの要件は、Control Towerの具体的なガードレールにマッピングできます。以下はCIS AWS Foundations Benchmarkの例です。

flowchart LR
    subgraph "CIS要件"
        CIS1[1.1 ルートアカウントの<br/>MFA有効化]
        CIS2[2.1 CloudTrailの<br/>有効化]
        CIS3[2.3 CloudTrailログの<br/>暗号化]
        CIS4[2.7 CloudTrail<br/>ログファイル検証]
    end
    
    subgraph "Control Towerガードレール"
        GR1[ルートユーザーMFA<br/>有効化の検出]
        GR2[CloudTrail有効化の<br/>強制]
        GR3[CloudTrailログ暗号化<br/>の検出]
        GR4[CloudTrailファイル<br/>整合性検証の検出]
    end
    
    CIS1 --> GR1
    CIS2 --> GR2
    CIS3 --> GR3
    CIS4 --> GR4

CIS Benchmark対応の主要ガードレール

CIS要件 ガードレール名 タイプ 動作
1.1 MFA for root user 検出的 ルートユーザーのMFA未設定を検出
1.4 Disallow root user access keys 予防的 ルートアクセスキー作成をブロック
2.1 Detect CloudTrail enabled 検出的 CloudTrail無効化を検出
2.2 Disallow CloudTrail changes 予防的 CloudTrail設定変更をブロック
2.6 S3 bucket access logging 検出的 S3アクセスログ未設定を検出
3.1 Log metric filter for unauthorized API calls 検出的 不正API呼び出しの監視設定を検出

CloudTrailログの一元管理

Control Towerの重要な機能の1つは、組織全体のCloudTrailログを自動的に一元管理することです。ログアーカイブアカウントに集約されたログは、監査対応やセキュリティ調査において不可欠な証跡となります。

Control Towerのログ集約アーキテクチャ

Control Towerをセットアップすると、自動的に組織全体のCloudTrailログがログアーカイブアカウントに集約されます。

flowchart TB
    subgraph "管理アカウント"
        MGMT_CT[CloudTrail<br/>組織の証跡]
    end
    
    subgraph "メンバーアカウント"
        ACC1_CT[アカウント1<br/>CloudTrailイベント]
        ACC2_CT[アカウント2<br/>CloudTrailイベント]
        ACC3_CT[アカウント3<br/>CloudTrailイベント]
    end
    
    subgraph "ログアーカイブアカウント"
        S3_LOG[S3バケット<br/>aws-controltower-logs-*]
        KMS[KMSキー<br/>暗号化]
        LIFECYCLE[ライフサイクル<br/>ポリシー]
    end
    
    MGMT_CT -->|自動集約| S3_LOG
    ACC1_CT --> MGMT_CT
    ACC2_CT --> MGMT_CT
    ACC3_CT --> MGMT_CT
    
    S3_LOG --> KMS
    S3_LOG --> LIFECYCLE

ログアーカイブバケットの構造

Control Towerが作成するS3バケットは、以下の構造でログを保存します。

aws-controltower-logs-{account-id}-{region}/
├── {organization-id}/
│   └── AWSLogs/
│       ├── {management-account-id}/
│       │   └── CloudTrail/
│       │       └── {region}/
│       │           └── {year}/{month}/{day}/
│       ├── {member-account-id-1}/
│       │   └── CloudTrail/
│       │       └── {region}/
│       │           └── {year}/{month}/{day}/
│       └── {member-account-id-2}/
│           └── CloudTrail/
│               └── {region}/
│                   └── {year}/{month}/{day}/

ログの保護と整合性検証

Control Towerは、CloudTrailログに対して複数の保護機能を自動的に適用します。

保護機能 実装方法 目的
S3バケット暗号化 SSE-KMS(CMK) 保存データの暗号化
ログファイル検証 ダイジェストファイル ログ改ざんの検出
バケットポリシー 削除禁止SCP 誤削除・不正削除の防止
バージョニング S3バージョニング有効化 ログの復元可能性確保
MFAデリート オプション設定 削除操作への追加認証

ログファイル検証の確認方法

CloudTrailログの整合性を検証するには、AWS CLIを使用します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# ログファイル検証の実行
aws cloudtrail validate-logs \
    --trail-arn arn:aws:cloudtrail:ap-northeast-1:123456789012:trail/aws-controltower-BaselineCloudTrail \
    --start-time 2026-01-01T00:00:00Z \
    --end-time 2026-01-25T23:59:59Z

# 出力例
# Validating log files for trail aws-controltower-BaselineCloudTrail between 2026-01-01T00:00:00Z and 2026-01-25T23:59:59Z
# Results requested for 2026-01-01T00:00:00Z to 2026-01-25T23:59:59Z
# Results found for 2026-01-01T00:00:00Z to 2026-01-25T23:59:59Z:
# 720/720 digest files valid
# 4320/4320 log files valid

CloudTrail Lakeによる高度なログ分析

大量のCloudTrailログを効率的に分析するには、CloudTrail Lakeの活用が効果的です。Control Tower環境のログをCloudTrail Lakeに取り込むことで、SQLベースのクエリが可能になります。

flowchart LR
    subgraph "Control Tower環境"
        LOGS[CloudTrailログ<br/>S3バケット]
    end
    
    subgraph "CloudTrail Lake"
        EDS[イベントデータストア]
        QUERY[SQLクエリエンジン]
        DASH[ダッシュボード]
    end
    
    subgraph "分析結果"
        REPORT[監査レポート]
        ALERT[異常検知アラート]
        INSIGHT[セキュリティインサイト]
    end
    
    LOGS --> EDS
    EDS --> QUERY
    QUERY --> REPORT
    QUERY --> ALERT
    QUERY --> DASH
    DASH --> INSIGHT

CloudTrail Lakeでの監査クエリ例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
-- 過去7日間の特権操作を検索
SELECT
    eventTime,
    userIdentity.principalId,
    userIdentity.arn,
    eventName,
    awsRegion,
    sourceIPAddress
FROM
    {event-data-store-id}
WHERE
    eventTime > date_add('day', -7, current_timestamp)
    AND (
        eventName LIKE 'Create%'
        OR eventName LIKE 'Delete%'
        OR eventName LIKE 'Update%'
        OR eventName LIKE 'Modify%'
    )
    AND userIdentity.type = 'AssumedRole'
ORDER BY
    eventTime DESC
LIMIT 100;
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
-- ルートユーザーの活動を検索
SELECT
    eventTime,
    eventName,
    eventSource,
    sourceIPAddress,
    userAgent,
    requestParameters
FROM
    {event-data-store-id}
WHERE
    userIdentity.type = 'Root'
    AND eventTime > date_add('day', -30, current_timestamp)
ORDER BY
    eventTime DESC;

AWS Configによる継続的コンプライアンス監視

Control Towerの検出的ガードレールは、AWS Configルールを基盤として実装されています。これに加えて、AWS Config適合パックを活用することで、特定のコンプライアンスフレームワークに対する包括的な監視を実現できます。

Config適合パックの活用

AWS Config適合パックは、特定のコンプライアンス標準に対応したConfigルールのコレクションです。Control Tower環境では、ガードレールに加えて適合パックを追加デプロイすることで、より網羅的なコンプライアンス監視が可能になります。

flowchart TB
    subgraph "Control Tower"
        GR[検出的ガードレール<br/>基本的なConfigルール]
    end
    
    subgraph "Config適合パック"
        CP1[CIS AWS Foundations<br/>Benchmark適合パック]
        CP2[NIST 800-53適合パック]
        CP3[PCI DSS適合パック]
        CP4[SOC 2適合パック]
    end
    
    subgraph "統合監視"
        DASH[Configダッシュボード]
        AGGR[Organizationsアグリゲータ]
    end
    
    GR --> DASH
    CP1 --> DASH
    CP2 --> DASH
    CP3 --> DASH
    CP4 --> DASH
    DASH --> AGGR

主要な適合パック一覧

適合パック名 含まれるルール数 主な監視対象
Operational Best Practices for CIS AWS Foundations Benchmark v1.4 Level 1 36 IAM、CloudTrail、VPC、S3
Operational Best Practices for CIS AWS Foundations Benchmark v1.4 Level 2 51 Level 1 + KMS、CloudWatch
Operational Best Practices for NIST 800-53 rev5 168 アクセス制御、監査、暗号化
Operational Best Practices for PCI DSS 3.2.1 105 カード会員データ保護関連
Operational Best Practices for HIPAA Security 85 PHI保護関連

適合パックのデプロイ手順

Control Tower環境で適合パックを組織全体にデプロイする手順を解説します。

手順1: 管理アカウントで適合パックをデプロイ

1
2
3
4
5
# CIS適合パックをデプロイ
aws configservice put-organization-conformance-pack \
    --organization-conformance-pack-name "CIS-AWS-Foundations-Benchmark-v1-4-Level1" \
    --template-s3-uri "s3://aws-config-conformance-packs-ap-northeast-1/Operational-Best-Practices-for-CIS-AWS-v1.4-Level1.yaml" \
    --excluded-accounts "123456789012"  # ログアーカイブアカウントなど除外する場合

手順2: デプロイ状況の確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 組織適合パックの状態を確認
aws configservice describe-organization-conformance-pack-statuses

# 出力例
# {
#     "OrganizationConformancePackStatuses": [
#         {
#             "OrganizationConformancePackName": "CIS-AWS-Foundations-Benchmark-v1-4-Level1",
#             "Status": "CREATE_SUCCESSFUL"
#         }
#     ]
# }

手順3: コンプライアンス状態の確認

1
2
3
# 適合パックのコンプライアンス概要を取得
aws configservice get-conformance-pack-compliance-summary \
    --conformance-pack-names "CIS-AWS-Foundations-Benchmark-v1-4-Level1"

マルチアカウントでのConfig集約

Control Tower環境では、Organizationsアグリゲータを使用して、すべてのメンバーアカウントのConfigデータを一元的に確認できます。

flowchart TB
    subgraph "メンバーアカウント"
        ACC1[アカウント1<br/>Configルール評価]
        ACC2[アカウント2<br/>Configルール評価]
        ACC3[アカウント3<br/>Configルール評価]
    end
    
    subgraph "監査アカウント"
        AGGR[Organizationsアグリゲータ]
        DASH[統合ダッシュボード]
        REPORT[コンプライアンスレポート]
    end
    
    ACC1 -->|評価結果| AGGR
    ACC2 -->|評価結果| AGGR
    ACC3 -->|評価結果| AGGR
    
    AGGR --> DASH
    AGGR --> REPORT

アグリゲータの設定

1
2
3
4
# Organizationsアグリゲータの作成(監査アカウントで実行)
aws configservice put-configuration-aggregator \
    --configuration-aggregator-name "OrganizationAggregator" \
    --organization-aggregation-source "RoleArn=arn:aws:iam::123456789012:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig,AllAwsRegions=true"

非コンプライアンスリソースの自動修復

AWS Config適合パックとSystems Manager Automationを組み合わせることで、非コンプライアンスリソースの自動修復が可能です。

flowchart LR
    CFG[AWS Config<br/>非準拠検出]
    EB[EventBridge<br/>イベント発火]
    SSM[Systems Manager<br/>Automation]
    REM[リソース修復]
    
    CFG -->|ComplianceChangeNotification| EB
    EB -->|ルールトリガー| SSM
    SSM -->|修復アクション| REM

自動修復ルールの例: S3パブリックアクセスブロック

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# CloudFormationテンプレート(抜粋)
Resources:
  S3BucketPublicAccessBlockRemediationConfiguration:
    Type: AWS::Config::RemediationConfiguration
    Properties:
      ConfigRuleName: s3-bucket-public-read-prohibited
      TargetType: SSM_DOCUMENT
      TargetId: AWS-DisableS3BucketPublicReadWrite
      TargetVersion: "1"
      Parameters:
        S3BucketName:
          ResourceValue:
            Value: "RESOURCE_ID"
        AutomationAssumeRole:
          StaticValue:
            Values:
              - !GetAtt RemediationRole.Arn
      Automatic: true
      MaximumAutomaticAttempts: 3
      RetryAttemptSeconds: 60

監査対応の効率化

コンプライアンス監査では、適切な証跡の収集と提示が求められます。Control Tower環境では、複数のAWSサービスを組み合わせることで、監査対応を効率化できます。

監査対応のワークフロー

監査プロセスは、事前準備、証跡収集、レポート作成、質疑対応の4フェーズで構成されます。

flowchart TB
    subgraph "Phase 1: 事前準備"
        P1_1[監査スコープの確認]
        P1_2[対象アカウント・リソースの特定]
        P1_3[必要な権限の確認]
    end
    
    subgraph "Phase 2: 証跡収集"
        P2_1[CloudTrailログ抽出]
        P2_2[Configスナップショット取得]
        P2_3[Security Hub検出結果エクスポート]
        P2_4[IAM資格情報レポート生成]
    end
    
    subgraph "Phase 3: レポート作成"
        P3_1[コンプライアンススコア算出]
        P3_2[非準拠項目の詳細分析]
        P3_3[改善計画の作成]
    end
    
    subgraph "Phase 4: 質疑対応"
        P4_1[追加証跡の提供]
        P4_2[技術的説明]
        P4_3[改善状況の報告]
    end
    
    P1_1 --> P1_2 --> P1_3
    P1_3 --> P2_1
    P2_1 --> P2_2 --> P2_3 --> P2_4
    P2_4 --> P3_1
    P3_1 --> P3_2 --> P3_3
    P3_3 --> P4_1
    P4_1 --> P4_2 --> P4_3

証跡収集の自動化

監査対応で必要な証跡を効率的に収集するためのスクリプト例を紹介します。

IAM資格情報レポートの生成

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/bash
# 組織内の全アカウントでIAM資格情報レポートを生成

# レポート生成をリクエスト
aws iam generate-credential-report

# レポートの準備を待機
sleep 10

# レポートをダウンロード
aws iam get-credential-report \
    --query 'Content' \
    --output text | base64 --decode > credential_report_$(date +%Y%m%d).csv

echo "Credential report saved to credential_report_$(date +%Y%m%d).csv"

Security Hub検出結果のエクスポート

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
# Security Hubの検出結果をJSONファイルにエクスポート

aws securityhub get-findings \
    --filters '{
        "RecordState": [{"Value": "ACTIVE", "Comparison": "EQUALS"}],
        "ComplianceStatus": [{"Value": "FAILED", "Comparison": "EQUALS"}]
    }' \
    --max-items 500 \
    --output json > securityhub_findings_$(date +%Y%m%d).json

echo "Security Hub findings exported to securityhub_findings_$(date +%Y%m%d).json"

Configコンプライアンスサマリーの取得

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
# 適合パックごとのコンプライアンスサマリーを取得

aws configservice get-conformance-pack-compliance-summary \
    --output json > conformance_pack_summary_$(date +%Y%m%d).json

# 詳細な非準拠リソースを取得
aws configservice get-aggregate-compliance-details-by-config-rule \
    --configuration-aggregator-name "OrganizationAggregator" \
    --config-rule-name "s3-bucket-public-read-prohibited" \
    --compliance-type NON_COMPLIANT \
    --output json > noncompliant_s3_buckets_$(date +%Y%m%d).json

AWS Artifactによるコンプライアンスドキュメント取得

AWS Artifactは、AWSのコンプライアンスレポートや契約書にオンデマンドでアクセスできるサービスです。監査対応時にはAWS側のコンプライアンス証明書が求められることがあります。

flowchart TB
    subgraph "AWS Artifact"
        direction TB
        REPORTS[コンプライアンスレポート]
        AGREE[契約書・同意書]
    end
    
    subgraph "利用可能なレポート"
        SOC1[SOC 1 Type II]
        SOC2[SOC 2 Type II]
        SOC3[SOC 3]
        PCI[PCI DSS AOC]
        ISO27001[ISO 27001]
        ISO27017[ISO 27017]
        ISO27018[ISO 27018]
    end
    
    REPORTS --> SOC1
    REPORTS --> SOC2
    REPORTS --> SOC3
    REPORTS --> PCI
    REPORTS --> ISO27001
    REPORTS --> ISO27017
    REPORTS --> ISO27018
レポート種類 内容 監査での用途
SOC 1 Type II 財務報告に関連する内部統制 財務監査
SOC 2 Type II セキュリティ、可用性、機密性に関する内部統制 セキュリティ監査
SOC 3 SOC 2の公開版サマリー 一般的な証明
PCI DSS AOC PCI DSSへの準拠証明 カード決済監査
ISO 27001 情報セキュリティマネジメント認証 ISMS監査
ISO 27017 クラウドサービスセキュリティ認証 クラウドセキュリティ監査
ISO 27018 クラウド上の個人情報保護認証 プライバシー監査

監査レポートの自動生成

定期的な監査レポートを自動生成するためのLambda関数の例を紹介します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import boto3
import json
from datetime import datetime, timedelta

def lambda_handler(event, context):
    """
    月次コンプライアンスレポートを自動生成するLambda関数
    """
    # クライアントの初期化
    config_client = boto3.client('config')
    securityhub_client = boto3.client('securityhub')
    s3_client = boto3.client('s3')
    
    report = {
        'report_date': datetime.now().isoformat(),
        'period': 'monthly',
        'conformance_packs': [],
        'security_hub_summary': {},
        'recommendations': []
    }
    
    # 適合パックのコンプライアンス状態を取得
    conformance_packs = config_client.describe_conformance_packs()
    for pack in conformance_packs['ConformancePackDetails']:
        pack_name = pack['ConformancePackName']
        compliance = config_client.get_conformance_pack_compliance_summary(
            ConformancePackNames=[pack_name]
        )
        report['conformance_packs'].append({
            'name': pack_name,
            'compliant_count': compliance['ConformancePackComplianceSummaryList'][0].get('ConformancePackComplianceStatus', 'UNKNOWN'),
        })
    
    # Security Hubのスコアを取得
    security_score = securityhub_client.get_findings(
        Filters={
            'ComplianceStatus': [{'Value': 'FAILED', 'Comparison': 'EQUALS'}],
            'RecordState': [{'Value': 'ACTIVE', 'Comparison': 'EQUALS'}]
        },
        MaxResults=100
    )
    
    report['security_hub_summary'] = {
        'failed_findings_count': len(security_score['Findings']),
        'critical_count': sum(1 for f in security_score['Findings'] if f.get('Severity', {}).get('Label') == 'CRITICAL'),
        'high_count': sum(1 for f in security_score['Findings'] if f.get('Severity', {}).get('Label') == 'HIGH')
    }
    
    # レポートをS3に保存
    report_key = f"compliance-reports/{datetime.now().strftime('%Y/%m')}/monthly_report.json"
    s3_client.put_object(
        Bucket='audit-reports-bucket',
        Key=report_key,
        Body=json.dumps(report, indent=2, ensure_ascii=False),
        ContentType='application/json'
    )
    
    return {
        'statusCode': 200,
        'body': json.dumps({'message': 'Report generated successfully', 'report_key': report_key})
    }

コンプライアンス対応のベストプラクティス

Control Tower環境でのコンプライアンス対応を効果的に行うためのベストプラクティスを紹介します。

継続的なコンプライアンス監視体制

監査は定期的なイベントですが、コンプライアンス監視は継続的に行う必要があります。

flowchart TB
    subgraph "日次監視"
        D1[Security Hub検出結果確認]
        D2[クリティカルアラート対応]
    end
    
    subgraph "週次レビュー"
        W1[非準拠リソースの棚卸し]
        W2[改善計画の進捗確認]
    end
    
    subgraph "月次レポート"
        M1[コンプライアンススコア報告]
        M2[経営層への報告]
    end
    
    subgraph "四半期監査"
        Q1[内部監査の実施]
        Q2[改善計画の策定]
    end
    
    D1 --> W1
    D2 --> W1
    W1 --> M1
    W2 --> M1
    M1 --> Q1
    M2 --> Q1
    Q1 --> Q2

コンプライアンス対応チェックリスト

カテゴリ 確認項目 頻度 担当
アイデンティティ ルートユーザーMFA有効化 日次 セキュリティチーム
アイデンティティ 未使用IAMユーザーの確認 週次 セキュリティチーム
ログ管理 CloudTrailログの整合性検証 月次 監査チーム
ログ管理 ログ保持期間の確認 四半期 監査チーム
データ保護 暗号化設定の確認 週次 インフラチーム
データ保護 S3パブリックアクセス確認 日次 セキュリティチーム
ネットワーク セキュリティグループ設定確認 週次 インフラチーム
ガバナンス ガードレール違反の確認 日次 クラウドチーム

責任共有モデルの理解

AWSのコンプライアンス対応では、責任共有モデルの理解が不可欠です。

flowchart TB
    subgraph "お客様の責任(クラウド内のセキュリティ)"
        CUST1[データの暗号化]
        CUST2[IAMポリシー設計]
        CUST3[ネットワーク設定]
        CUST4[OSパッチ適用]
        CUST5[アプリケーションセキュリティ]
    end
    
    subgraph "AWSの責任(クラウドのセキュリティ)"
        AWS1[物理インフラ]
        AWS2[ハイパーバイザー]
        AWS3[ネットワークインフラ]
        AWS4[マネージドサービス]
    end
    
    subgraph "コンプライアンス監査"
        AUDIT[監査対象の明確化]
    end
    
    CUST1 --> AUDIT
    CUST2 --> AUDIT
    CUST3 --> AUDIT
    CUST4 --> AUDIT
    CUST5 --> AUDIT
領域 AWSの責任 お客様の責任
物理セキュリティ データセンターの物理アクセス制御 N/A
ネットワーク グローバルネットワークインフラの保護 VPC、セキュリティグループの設計
コンピューティング ホストOSの保護(EC2の場合) ゲストOSのパッチ適用
データ マネージドサービスのデータ保護基盤 暗号化設定、アクセス制御
アプリケーション N/A アプリケーションコードのセキュリティ

まとめ

AWS Control Towerを活用したコンプライアンス対応について、以下のポイントを解説しました。

Control Towerは、主要なコンプライアンスフレームワーク(CIS、PCI DSS、NIST、SOC 2、HIPAA)に対応したガードレールを提供しています。これらのガードレールを適切に有効化することで、コンプライアンス要件の多くを自動的に満たすことができます。

CloudTrailログの一元管理は、監査対応の基盤となります。Control Towerはログアーカイブアカウントへの自動集約、暗号化、整合性検証を標準で提供します。CloudTrail Lakeを活用することで、SQLベースの高度なログ分析も可能です。

AWS Config適合パックを追加デプロイすることで、ガードレールを補完した包括的なコンプライアンス監視が実現できます。Organizationsアグリゲータによる集中管理と、自動修復機能の組み合わせが効果的です。

監査対応では、証跡収集の自動化、AWS Artifactによるコンプライアンスドキュメント取得、継続的な監視体制の構築が重要です。日次・週次・月次・四半期の監視サイクルを確立することで、監査対応をスムーズに行えます。

次回は、Control Tower運用のベストプラクティスとトラブルシューティングについて解説します。ドリフト検出と修復、バージョンアップ対応、よくある問題と解決方法を扱います。

参考リンク