目次

AWS Control Catalog 完全ガイド v2.0

クラウド統制・コンプライアンスコントロールの統一カタログ


概要

AWS Control Catalog「AWS Control Tower・AWS Audit Manager・AWS Security Hub・AWS Config 等で使用されている統制(Control)・ガードレール(Guardrail)・コンプライアンスルールを統一 API で検索・参照・マッピングできるカタログサービス」 です。組織のコンプライアンス要件(PCI DSS / HIPAA / ISO27001 / FedRAMP など)に対応する AWS ネイティブコントロールを横断的に検索し、カスタム統制を定義・一元管理します。

Control Catalog は 「コンプライアンス実装の複雑性を抽象化する統制ディレクトリ」 です。従来は Control Tower のガードレール・Security Hub の検出ルール・Config のマネージドルール・Audit Manager のフレームワークが各サービスで分散管理されていましたが、Control Catalog で統一 API・統一検索インターフェース経由でアクセス可能。大規模マルチアカウント環境でのコンプライアンス戦略立案・実装を大幅簡素化します。

企業のコンプライアンス基盤を実現するために、以下の主要課題を解決します:

  1. 複数のコンプライアンスフレームワーク管理の複雑性:PCI DSS v4.0・HIPAA・NIST CSF・ISO 27001・FedRAMP・CIS Benchmark が要求するコントロール要件を AWS で実装する際、各フレームワークの要件と AWS コントロールの対応付けを手動で行うのは 数週間かかるが、Control Catalog が自動マッピング
  2. コントロールの重複排除・最適化:複数フレームワークで同一のセキュリティ要件(例:MFA 強制)が繰り返される場合、Control Catalog で共通コントロールを特定・統一実装
  3. カスタムコントロール・ガードレールの一元管理:Control Tower ガードレール・Config カスタムルール・Lambda ベースの自動修復を全て Control Catalog に登録して統一管理
  4. コンプライアンス監査・レポーティング自動化:「PCI DSS 要件 X はどのコントロールで対応しているか」を Control Catalog API で即座に回答可能
  5. Infrastructure as Code(IaC)でのコンプライアンス管理:CloudFormation / Terraform で Control Catalog API を参照し、コンプライアンス要件をコード化・バージョン管理

Control Catalog を選ぶ理由は 「AWS ネイティブの統制・ルール・ガードレール全体を統一インターフェースで管理可能な唯一のサービス」 にあります。Audit Manager Frameworks・Control Tower ガードレール・Security Hub のコントロール・Config のマネージドルールが全て Control Catalog で参照可能で、外部コンプライアンス管理ツール(Cloudticity / nCino / Domo など)不要で AWS ネイティブコンプライアンス管理を完結させることができます。


このサービスを選ぶ理由

なぜ AWS Control Catalog でないといけないのか?

理由 詳細
コンプライアンスフレームワークの統一管理 PCI DSS / HIPAA / NIST / ISO 等の複数フレームワークに対応するコントロールが AWS 全体で分散されており、手動で対応付けるのは数週間かかるが、Control Catalog の ListControlMappings API で自動マッピング
複数 AWS サービスのコントロール統一検索 Control Tower ガードレール・Security Hub 検出ルール・AWS Config マネージドルール・Audit Manager フレームワーク規則が別々のコンソール・API に散在するが、Control Catalog 統一 API で横断検索可能
カスタムコントロール・カスタムルールの一元管理 組織独自のセキュリティ要件(例:「本社ネットワーク外からの AWS API アクセス禁止」)を Control Catalog に登録・参照・監視する仕組みを提供
コンプライアンス監査・テスト準備の高速化 「この Config ルールは PCI DSS のどの要件に対応するか」を Control Catalog ListControlMappings で即座に答えられるため、監査対応・テスト計画立案が高速化
Infrastructure as Code でのコンプライアンス要件管理 CloudFormation / Terraform で Control Catalog API を参照し、コンプライアンス要件をコード化・バージョン管理・自動テスト可能(CDK + Control Catalog)
マルチアカウント・マルチリージョンのコンプライアンス統制 Organizations 統合で 100+ アカウント × 複数リージョンのコンプライアンス状況を Control Catalog で一元管理・監視

具体的なユースケース

ユースケース 1:金融機関の PCI DSS v4.0 実装戦略

  • 金融機関が PCI DSS v4.0(2024 年版)の 232 要件全て に対応する AWS 環境を構築
  • 従来:PCI DSS ドキュメント読み込み → 各要件を AWS サービスマッピング → Control Tower / Security Hub / Config ルール設定(2-3 ヶ月)
  • Control Catalog 利用:
    1. AWS Console → Control Catalog → Compliance Framework → 「PCI-DSS-v4.0」検索
    2. 232 要件ごとに対応する AWS ネイティブコントロール一覧表示
    3. 各要件の実装状況(Implemented / Partially / Not Implemented)を Compliance Dashboard で可視化
    4. 未実装要件に対して自動で「推奨 Control Tower ガードレール」「推奨 Config ルール」を提示
    5. Control Catalog API で Terraform モジュール・CloudFormation テンプレート自動生成
    6. 結果:1 ヶ月で全要件実装・監査対応

ユースケース 2:Healthcare 企業の HIPAA / HITECH コンプライアンス

  • Healthcare SaaS 企業が HIPAA / HITECH コンプライアンス環境を構築
  • 患者データ暗号化・アクセス監査・データ保持・削除ルール等の複数要件を AWS で実装
  • Control Catalog の役割:
    1. Control Catalog → Compliance Framework → 「HIPAA」検索
    2. 暗号化・ログ記録・アクセス制御の各カテゴリーごとに対応コントロール一覧
    3. 複数フレームワーク(HIPAA + HITECH + PCI-DSS)で共通要件を特定
    4. 共通コントロール統一実装で 3 つのフレームワークに同時対応
    5. Audit Manager との統合で HIPAA 監査証拠を自動収集

ユースケース 3:大規模エンタープライズの複数フレームワーク対応

  • グローバル企業が複数地域・複数規制対応を同時実施
    • 日本オフィス:FISC 基準対応
    • 欧州オフィス:GDPR + ISO27001 対応
    • 米国オフィス:SOC2 + FedRAMP 対応
    • 金融部門:PCI DSS 対応
  • Control Catalog の活用:
    1. 各地域・部門の要件を Control Catalog に登録
    2. Control Catalog API で共通コントロール特定(「暗号化」等が 4 つのフレームワークで要求)
    3. 共通コントロール 1 つで複数フレームワーク対応・コスト効率化
    4. Control Tower ガードレール / Security Hub / Config ルール統一設定で複数フレームワーク同時実装

ユースケース 4:セキュアコード開発・CI/CD パイプラインとの統合

  • DevSecOps チームが開発パイプライン内にコンプライアンスチェックを組み込み
  • CI/CD Pipeline:
    1. CloudFormation テンプレート commit
    2. Control Catalog API を呼び出して「このテンプレートは HIPAA のどのコントロールに対応するか」を検証
    3. テンプレートが対応コントロール要件を満たさない場合 → Deploy 失敗
    4. 開発者が修正 → Control Catalog コンプライアンスチェック合格後に Deploy
    5. 結果:非準拠なクラウドリソースが本番環境に進むことを防止

コアコンセプト

1. Control(統制)

Control は AWS のセキュリティ・コンプライアンス要件を実装するための最小単位です。

Control の構成要素:

Control ID: arn:aws:controlcatalog:us-east-1::/control/...
Control Name: "Restricted SSH Access to EC2"

Control Metadata:
  ├─ Description: "Restricts SSH access to EC2 instances from specific CIDR blocks"
  ├─ Category: Networking / Access Control
  ├─ Severity: High
  ├─ Implementation Type: 
  │  ├─ Preventive(デプロイ前にチェック)
  │  ├─ Detective(デプロイ後に検出・監視)
  │  └─ Responsive(自動修復)
  ├─ AWS Service Integration:
  │  ├─ Control Tower Guardrail
  │  ├─ AWS Config Managed Rule
  │  ├─ Security Hub Custom Insight
  │  └─ AWS Lambda Custom Control
  └─ Compliance Framework Mapping:
     ├─ PCI DSS: Requirement 1.2.1
     ├─ HIPAA: Technical Safeguards §164.312(a)(2)(i)
     ├─ ISO 27001: A.13.1.3
     └─ NIST CSF: PR.AC-3

Control Scope:
  ├─ Organization-wide(全組織・全アカウント・全リージョン)
  ├─ OU-based(特定の Organizational Unit)
  ├─ Account-specific(特定のアカウント)
  └─ Resource-specific(特定のリソースタイプ・タグ)

2. Compliance Framework(コンプライアンスフレームワーク)

Compliance Framework は規制・業界基準等による一群の要件・原則の集合です。

AWS Control Catalog が対応するフレームワーク(2025-2026):

[Financial / Payment]
├─ PCI DSS v3.2.1 / v4.0(Payment Card Industry Data Security Standard)
├─ NIST Cybersecurity Framework(NIST CSF)v1.0 / v1.1
├─ SOC2(Service Organization Control 2)- Type I / Type II
└─ CIS Benchmarks(Center for Internet Security)

[Healthcare / Privacy]
├─ HIPAA(Health Insurance Portability and Accountability Act)
├─ HITECH Act(Health Information Technology for Economic and Clinical Health)
├─ GDPR(General Data Protection Regulation)- EU
├─ CCPA(California Consumer Privacy Act)- USA
└─ PIPEDA(Personal Information Protection and Electronic Documents Act)- Canada

[Government / Defense]
├─ FedRAMP(Federal Risk and Authorization Management Program)
│  ├─ Low Impact
│  ├─ Moderate Impact
│  └─ High Impact
├─ DoD CC SRG(DoD Cloud Computing Security Requirements Guide)
├─ NIST SP 800-171(Protection of Controlled Unclassified Information)
└─ FISMA(Federal Information Security Management Act)

[International / Industry]
├─ ISO/IEC 27001:2013 / 2022(Information Security Management)
├─ ISO/IEC 27002(Information Security Controls)
├─ CSA Cloud Controls Matrix(CCM)- Cloud Security Alliance
└─ COBIT(Control Objectives for Information and Related Technology)

[Japan / Asia]
├─ FISC(金融庁 Financial Information Systems Council 基準)
├─ My Number Act(個人番号法・マイナンバー法)
├─ APPI(Act on the Protection of Personal Information)
└─ PDPA(Thailand Personal Data Protection Act)

3. Control Mapping(統制の対応付け)

Control Mapping は各フレームワークの要件と AWS Control の対応関係を示します。

Control Mapping の構造:

Framework: PCI DSS v4.0
Requirement: 1.2.1 "Configuration standards for firewalls"

Mapped Controls:
├─ Control 1: Security Group Configuration
│  └─ Implementation: AWS Config managed rule "restricted-ssh"
│
├─ Control 2: Network ACL Configuration
│  └─ Implementation: Control Tower Guardrail "Disallow public SSH access"
│
├─ Control 3: VPC Flow Logs
│  └─ Implementation: AWS Config managed rule "vpc-flow-logs-enabled"
│
└─ Control 4: CloudTrail Logging
   └─ Implementation: Security Hub control "CloudTrail is enabled"

Coverage Analysis:
Requirement 1.2.1 Coverage: 95%(4/4 controls mapped)
├─ Preventive: ✓(Guardrail blocks SSH before deployment)
├─ Detective: ✓(Config rules detect violations)
├─ Responsive: ✓(Lambda remediation function available)
└─ Evidence: ✓(CloudTrail logs for audit)

4. Common Control(共通コントロール)

複数フレームワークで要求される統制を共通コントロール(Common Control)として特定・統一実装します。

複数フレームワークの共通要件例:

Requirement: "Enforce Multi-Factor Authentication(MFA)"

PCI DSS v4.0:
└─ Requirement 8.3.1 "Require MFA for user accounts with administrative access"

HIPAA:
└─ §164.308(a)(5)(ii)(C) "Implement procedures for the periodic review and update"

ISO 27001:
└─ A.9.2.1 "Ensure that user registration and de-registration procedures are established"

NIST CSF:
└─ ID.BE-1 "Organizational structure and responsibilities"

AWS Control Catalog での実装:
├─ AWS IAM MFA Policy(共通コントロール)
│  └─ 実装方法:Control Tower ガードレール "Disallow changes to MFA-protected APIs"
│                または AWS Config rule "mfa-enabled-for-iam-console-access"
│
└─ Coverage:
   ├─ PCI DSS v4.0 Requirement 8.3.1: ✓
   ├─ HIPAA §164.308(a)(5)(ii)(C): ✓
   ├─ ISO 27001 A.9.2.1: ✓
   └─ NIST CSF ID.BE-1: ✓

Result: 1 つのコントロール実装で 4 つのフレームワーク要件に同時対応

アーキテクチャと統合

graph TB
    subgraph "Control Catalog Data Sources"
        A["AWS Control Tower<br/>Guardrails & Controls"]
        B["AWS Security Hub<br/>Managed Insights & Rules"]
        C["AWS Config<br/>Managed Rules & Custom Rules"]
        D["AWS Audit Manager<br/>Framework Templates"]
        E["Custom Controls<br/>Lambda / SNS / API"]
    end
    
    subgraph "Control Catalog Core"
        F["Control Registry<br/>Control Definitions & Metadata"]
        G["Compliance Mapping<br/>Framework ↔ Control Links"]
        H["Control Relationships<br/>Dependencies & Conflicts"]
    end
    
    subgraph "Query & Access APIs"
        I["ListControls API<br/>Framework-based Search"]
        J["GetControl API<br/>Control Details"]
        K["ListControlMappings API<br/>Framework-to-Control Links"]
        L["GetControlMapping API<br/>Specific Mapping Details"]
    end
    
    subgraph "Integration & Management"
        M["Control Tower<br/>Auto-enforcement"]
        N["Security Hub<br/>Compliance Dashboard"]
        O["Audit Manager<br/>Evidence Collection"]
        P["CloudFormation Hooks<br/>Deploy-time Validation"]
    end
    
    subgraph "Reporting & Analytics"
        Q["Compliance Dashboard<br/>Status by Framework"]
        R["Control Coverage Report<br/>Framework Compliance %"]
        S["Audit Trail & Evidence<br/>CloudTrail Logs"]
    end
    
    A --> F
    B --> F
    C --> F
    D --> F
    E --> F
    F --> G
    F --> H
    G --> I
    F --> J
    G --> K
    G --> L
    I --> M
    J --> N
    K --> O
    L --> P
    M --> Q
    N --> R
    O --> S

Control Catalog API の操作例

ListControls:フレームワーク別にコントロール検索

import boto3

control_catalog = boto3.client('controlcatalog', region_name='us-east-1')

# PCI DSS v4.0 のすべてのコントロール検索
response = control_catalog.list_controls(
    catalog_id='arn:aws:controlcatalog::aws:catalog/...',
    filter_by_compliance_frameworks=[
        {
            'compliance_framework': 'PCI-DSS-v4.0'
        }
    ],
    max_results=100
)

for control in response['Controls']:
    print(f"Control: {control['Name']}")
    print(f"  ARN: {control['Arn']}")
    print(f"  Description: {control['Description']}")
    print(f"  Category: {control['Category']}")
    print()

# 結果サンプル:
# Control: Restricted SSH Access to EC2
#   ARN: arn:aws:controlcatalog:us-east-1::/control/rsa-ec2-001
#   Description: Restricts SSH access to EC2 instances from specific CIDR blocks
#   Category: Networking / Access Control
#
# Control: Enforce Encryption in Transit
#   ARN: arn:aws:controlcatalog:us-east-1::/control/tls-001
#   Description: Ensures all data in transit is encrypted using TLS 1.2+
#   Category: Data Protection / Encryption

GetControl:特定コントロールの詳細情報取得

# 特定のコントロール詳細取得
response = control_catalog.get_control(
    control_arn='arn:aws:controlcatalog:us-east-1::/control/rsa-ec2-001'
)

control = response['Control']
print(f"Control Name: {control['Name']}")
print(f"Description: {control['Description']}")
print(f"Implementation Type: {control['ImplementationType']}")  # Preventive / Detective / Responsive
print(f"Severity: {control['Severity']}")  # Critical / High / Medium / Low
print(f"Category: {control['Category']}")

# Related AWS Services
print(f"\nImplementation Options:")
for impl in control['ImplementationOptions']:
    print(f"  - {impl['ServiceName']}: {impl['ControlName']}")
    print(f"    Details: {impl['Description']}")

# Compliance Framework Links
print(f"\nCompliance Frameworks:")
for framework in control['ComplianceFrameworkLinks']:
    print(f"  - {framework['ComplianceName']}")
    print(f"    Requirement: {framework['RequirementId']} - {framework['RequirementDescription']}")

# 結果サンプル:
# Control Name: Restricted SSH Access to EC2
# Description: Restricts SSH access to EC2 instances from specific CIDR blocks...
# Implementation Type: Preventive
# Severity: High
# Category: Networking / Access Control
#
# Implementation Options:
#   - Control Tower: Disallow public SSH access to EC2 instances
#     Details: Guardrail that prevents EC2 SGs from allowing SSH (22) from 0.0.0.0/0
#   - AWS Config: restricted-ssh
#     Details: Managed rule that checks if EC2 SGs restrict SSH to authorized CIDR blocks
#
# Compliance Frameworks:
#   - PCI DSS v4.0
#     Requirement: 1.2.1 - Configure standards for firewalls
#   - HIPAA
#     Requirement: §164.308(a)(1)(ii)(B) - Risk Assessment

ListControlMappings:フレームワーク要件と AWS Control のマッピング

# HIPAA 要件 §164.308(a)(5)(ii)(A) に対応する AWS Control をすべて検索
response = control_catalog.list_control_mappings(
    catalog_id='arn:aws:controlcatalog::aws:catalog/...',
    filter_by_compliance_frameworks=[
        {
            'compliance_framework': 'HIPAA'
        }
    ]
)

# フレームワーク単位でグループ化
for mapping in response['ControlMappings']:
    print(f"\nFramework: {mapping['ComplianceFramework']}")
    print(f"Requirement: {mapping['RequirementId']}")
    print(f"Requirement Title: {mapping['RequirementDescription']}")
    print(f"Controls that satisfy this requirement:")
    
    for control in mapping['RelatedControls']:
        print(f"  - {control['Name']} (ARN: {control['Arn']})")
        print(f"    Implementation: {control['ImplementationType']}")
        print(f"    Coverage: {control['CoverageSummary']}")

# 結果サンプル:
# Framework: HIPAA
# Requirement: §164.308(a)(5)(ii)(A)
# Requirement Title: Establish and implement policies and procedures for managing
#                   information access
# Controls that satisfy this requirement:
#   - IAM MFA Enforcement (ARN: arn:aws:controlcatalog:us-east-1::/control/iam-mfa-001)
#     Implementation: Preventive
#     Coverage: 85%(部分的対応)
#   - CloudTrail Logging (ARN: arn:aws:controlcatalog:us-east-1::/control/ct-001)
#     Implementation: Detective
#     Coverage: 95%(ほぼ完全対応)
#   - VPC Flow Logs (ARN: arn:aws:controlcatalog:us-east-1::/control/vfl-001)
#     Implementation: Detective
#     Coverage: 70%(部分的対応)

Terraform での Control Catalog 統合

# Terraform で Control Catalog API を参照しながら環境構築

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
    local = {
      source  = "hashicorp/local"
      version = "~> 2.0"
    }
  }
}

provider "aws" {
  region = "us-east-1"
}

# Control Catalog API で PCI DSS v4.0 のコントロール一覧を取得
data "aws_controlcatalog_controls" "pci_dss_v4" {
  catalog_id = "arn:aws:controlcatalog::aws:catalog/default"
  
  filter {
    compliance_framework = "PCI-DSS-v4.0"
  }
}

# 取得したコントロール情報を local ファイルに出力(Audit Trail)
resource "local_file" "pci_dss_controls_list" {
  filename = "${path.module}/pci-dss-controls.json"
  
  content = jsonencode({
    framework   = "PCI-DSS-v4.0"
    timestamp   = timestamp()
    controls    = [for control in data.aws_controlcatalog_controls.pci_dss_v4.controls : {
      name              = control.name
      arn               = control.arn
      severity          = control.severity
      implementation_type = control.implementation_type
    }]
  })
}

# Control Catalog コントロール情報に基づいて EC2 Security Group を定義
resource "aws_security_group" "web_tier" {
  name        = "web-tier-pci-compliant"
  description = "Security Group compliant with PCI DSS v4.0 via Control Catalog"
  vpc_id      = aws_vpc.main.id

  # SSH: Restricted Access(Control Catalog "Restricted SSH" に対応)
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["203.0.113.0/24"]  # 管理者 CIDR のみ
    description = "SSH - Compliant with PCI-DSS-v4.0 Requirement 1.2.1 (Control Catalog)"
  }

  # HTTPS: Web Traffic
  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
    description = "HTTPS - Compliant with PCI-DSS-v4.0 Requirement 6.5.10 (Encryption in Transit)"
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
    description = "Egress - Default allow (monitored by CloudTrail per Control Catalog)"
  }

  tags = {
    Name                    = "web-tier-sg"
    ComplianceFramework     = "PCI-DSS-v4.0"
    ControlCatalogMappings  = "rsa-ec2-001,tls-001,ct-001"  # Control ARNs
  }
}

output "security_group_id" {
  value = aws_security_group.web_tier.id
  description = "Security Group ID - Configured per Control Catalog PCI-DSS-v4.0 controls"
}

output "pci_dss_controls_count" {
  value       = length(data.aws_controlcatalog_controls.pci_dss_v4.controls)
  description = "Total number of PCI DSS v4.0 controls in Control Catalog"
}

Control Catalog vs. 競合ツール比較

機能 / 特性 AWS Control Catalog AWS Audit Manager Control Tower Microsoft Compliance Manager GCP Assured Workloads
統制・ガードレール統一管理 全サービス統一 Framework ベース ガードレール専門 限定的 Google Cloud 限定
複数フレームワーク対応 8+ フレームワーク 4+ フレームワーク 3+ フレームワーク 40+ コンプライアンス標準 Google Cloud ベース
カスタムコントロール対応 Yes(API 統合) Yes(Framework) Yes(Lambda) Yes(Compliance Manager) Limited
Infrastructure as Code 統合 API ベース(Terraform) Framework export CloudFormation PowerShell GCP Terraform
コンプライアンス要件マッピング ListControlMappings API Built-in 限定的 Compliance Score Limited
複数クラウド対応 AWS のみ AWS のみ AWS のみ Azure / Office 365 / Dynamics 365 GCP のみ
自動修復・Responsive Controls Yes(Config / Lambda) 限定的 Yes(SCP) 限定的 限定的
API 整備 完全な RESTful API 限定的 CloudFormation Graph API GCP API
レポーティング・監査証拠 CloudTrail + 各サービス Built-in evidence collection Limited Compliance Score Report 限定的
導入コスト 無料 月額/評価 マネージメント費用 組織の規模に応じた変動 Google Cloud 料金に含含

選択のポイント:

  • AWS ネイティブ・複数フレームワーク対応:→ Control Catalog(唯一の統一ソリューション)
  • 証拠収集・監査対応重視:→ Audit Manager(Framework ベースで証拠自動収集)
  • ガードレール・Preventive Control 重視:→ Control Tower(ガードレール専門)
  • マルチクラウド・Microsoft 製品統合:→ Microsoft Compliance Manager(Enterprise ソリューション)
  • GCP 統合:→ GCP Assured Workloads(Google Cloud ネイティブ)

ベストプラクティス

1. コンプライアンス戦略の策定

フレームワーク優先順位の設定

  • Primary:PCI DSS v4.0(Payments 扱い)
  • Secondary:HIPAA(Patient Data 扱い)
  • Tertiary:GDPR(EU ユーザー扱い)

共通コントロール特定・統一実装: 複数フレームワークで同じセキュリティ要件を共通コントロールで統一実装(開発効率向上)

フレームワークごとに異なるコントロール実装: 重複・競合・保守性低下を招く

2. Control Catalog API の活用

IaC(CloudFormation / Terraform)でのコンプライアンスチェック: CI/CD パイプライン内に Control Catalog API を組み込み、非準拠なリソースのデプロイを防止

定期的なコンプライアンス監査報告書の自動生成ListControlMappings API で各フレームワークの要件→AWS Control マッピング状況を定期報告

手動のコンプライアンス対応付け: エラー・漏落・バージョン不一致のリスク

3. Security Hub・Audit Manager との統合

Security Hub Compliance Standard:Control Catalog ベース設定: Security Hub で「PCI DSS」「HIPAA」等を有効化すると、Control Catalog の対応コントロール自動有効化

Audit Manager Framework と Control Catalog の同期: Audit Manager で定義したフレームワークを Control Catalog に登録・共有


料金

項目 料金
AWS Control Catalog(API アクセス) 無料
Control Catalog ListControls / GetControl API 無料
ListControlMappings API 無料
AWS Audit Manager(フレームワーク・証拠収集) 月額 3,000 USD(初年度)/ 3,500 USD(以降、Assessment あたり)
Control Tower(ガードレール実行) Landing Zone 月額 300 USD + Account/month(アカウント数)
AWS Config(マネージドルール) 0.003 USD / Configuration Item / month(オプション)
AWS Security Hub 0.001 USD / Config Item / month + Custom Insights(1つ目まで無料)

例:100 アカウント、3 フレームワーク(PCI DSS / HIPAA / GDPR)対応

  • Control Catalog:無料
  • Audit Manager:3,000-3,500 USD / 月(Evidence Collection)
  • Control Tower:300 + (100 × 0.1) = 310 USD / 月(概算)
  • Total:3,300-3,800 USD / 月

トラブルシューティング

問題 原因 解決策
ListControls API で特定フレームワークが検索結果に表示されない フレームワーク対応が遅延していない可能性 AWS Control Catalog サポートドキュメント確認、最新対応フレームワーク確認
GetControlMapping で取得した要件番号と実際の基準がズレている Control Catalog バージョン・フレームワークバージョン相違 GetControl / ListControlMappings で詳細確認、フレームワークバージョンを明示指定
Control Catalog に登録したカスタムコントロールが Audit Manager に反映されない Audit Manager の Framework Definition が古い可能性 Audit Manager コンソール → Framework Update → Control Catalog Sync ボタン実行

実装例:金融機関の PCI DSS v4.0 コンプライアンス実装

段階的な Control Catalog 導入

Phase 1: Assessment & Mapping(1-2 週間)

1. Control Catalog API を使用して PCI DSS v4.0 のすべてのコントロール検索
   aws controlcatalog list-controls \
     --filter-by-compliance-frameworks '[{"compliance_framework": "PCI-DSS-v4.0"}]'

2. 現在の AWS 環境との Gap 分析
   ├─ 既に実装されているコントロール(Security Hub / Config Rules より抽出)
   ├─ 部分的に実装されているコントロール
   ├─ 未実装のコントロール
   └─ Control Catalog API で自動マッピング

3. Control Coverage Report 生成
   ├─ PCI DSS v4.0: 232 要件中 180 要件カバー(77.6%)
   ├─ 未カバー要件:52 要件(22.4%)
   └─ 優先順位付け(Critical / High / Medium / Low)

Phase 2: Control Implementation(2-3 ヶ月)

Priority 1 - Critical(即座に実装):
├─ MFA Enforcement(Control Catalog: iam-mfa-001)
│  └─ Implementation: Control Tower ガードレール "Disallow changes to MFA-protected APIs"
├─ Encryption at Rest(Control Catalog: enc-rest-001)
│  └─ Implementation: AWS Config rule "encrypted-volumes"
├─ CloudTrail Logging(Control Catalog: ct-001)
│  └─ Implementation: Control Tower ガードレール "Enable CloudTrail in all regions"
└─ VPC Flow Logs(Control Catalog: vfl-001)
   └─ Implementation: AWS Config rule "vpc-flow-logs-enabled"

Priority 2 - High(1-2 ヶ月で実装):
├─ Firewall Configuration(Control Catalog: fw-001)
│  └─ Implementation: AWS Config rule "restricted-ssh" + "restricted-rdp"
├─ Vulnerability Assessment(Control Catalog: va-001)
│  └─ Implementation: AWS Inspector + Security Hub Custom Insights
├─ Access Control(Control Catalog: ac-001 ~ ac-005)
│  └─ Implementation: IAM Policies + S3 Block Public Access
└─ Incident Response(Control Catalog: ir-001)
   └─ Implementation: EventBridge + Lambda + SNS

Priority 3 - Medium(2-3 ヶ月で実装):
├─ User Awareness Training(Control Catalog: ua-001)
│  └─ Implementation: Manual tracking + Audit evidence
├─ Vendor Management(Control Catalog: vm-001)
│  └─ Implementation: Custom Control + AWS Marketplace integration
└─ Penetration Testing(Control Catalog: pt-001)
   └─ Implementation: AWS Security Partner ecosystem

Phase 3: Compliance Validation(2-4 週間)

1. Audit Manager Frameworks で証拠収集
   ├─ PCI DSS v4.0 Framework 有効化
   ├─ Control Catalog と連携してコントロール有効化
   └─ 自動証拠収集(CloudTrail / Config / Security Hub ログ)

2. Control Catalog API で Compliance Status Report 生成
   aws controlcatalog list-control-mappings \
     --filter-by-compliance-frameworks '[{"compliance_framework": "PCI-DSS-v4.0"}]' \
     > pci-dss-v4.0-mapping-report.json

3. Compliance Dashboard で可視化
   ├─ 要件別の実装状況(Implemented / Partial / Not Implemented)
   ├─ フレームワーク全体の Coverage %(目標:100%)
   └─ 検出された violations・remediation status

Phase 4: Ongoing Monitoring(継続的運用)

定期監視(週単位):
├─ Security Hub Compliance Dashboard 確認
├─ Control Tower ガードレール違反検出
├─ AWS Config コンプライアンス状況確認
└─ Audit Manager 証拠自動収集状況確認

月次報告(月 1 回):
├─ Control Catalog API で Compliance Status レポート生成
├─ 外部監査人に提出する証拠ファイル作成
├─ Exception 管理(承認された逸脱)
└─ 改善提案(セキュリティ向上の機会)

年次監査対応:
├─ PCI DSS Assessment(内部・外部監査)
├─ Control Catalog で実装コントロール全て可視化
├─ CloudTrail / Config / Audit Manager ログで証拠提示
└─ 準拠性宣言(Attestation)発行

Control Catalog を使用した DevSecOps Pipeline

# GitHub Actions Workflow + Control Catalog API 統合

name: Deploy with Control Catalog Compliance Check

on:
  pull_request:
    paths:
      - 'infrastructure/**'
      - '.github/workflows/compliance-check.yaml'

jobs:
  compliance-validation:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Control Catalog - PCI DSS Mapping Check
        run: |
          # 1. Control Catalog API で PCI DSS のコントロール検索
          aws controlcatalog list-controls \
            --filter-by-compliance-frameworks '[{"compliance_framework": "PCI-DSS-v4.0"}]' \
            > /tmp/pci-controls.json
          
          # 2. Pull Request の CloudFormation テンプレート解析
          cfn-lint infrastructure/*.yaml > /tmp/cfn-violations.json
          
          # 3. 各 CloudFormation リソースが Control Catalog コントロールを満たすか検証
          python3 << 'EOF'
          import json
          import boto3
          
          cc = boto3.client('controlcatalog')
          
          # テンプレート内の各リソース検証
          with open('infrastructure/security-group.yaml') as f:
              # EC2 Security Group が "Restricted SSH" コントロールを満たす確認
              sg_config = yaml.safe_load(f)
              ssh_port = sg_config.get('Properties', {}).get('SecurityGroupIngress', {})
              
              # Control Catalog で "SSH Access Control" コントロール取得
              response = cc.get_control(
                  control_arn='arn:aws:controlcatalog:us-east-1::/control/rsa-ec2-001'
              )
              
              # SSH がポート 22/tcp で 0.0.0.0/0 からアクセス可能でないことを検証
              if ssh_port.get('CidrIp') == '0.0.0.0/0' and ssh_port.get('FromPort') == 22:
                  print('❌ FAIL: Control Catalog "Restricted SSH" violation detected')
                  exit(1)
              else:
                  print('✓ PASS: SSH access control compliant with PCI-DSS-v4.0')
          EOF
      
      - name: Control Catalog - HIPAA Mapping Check(Health Data handling)
        run: |
          # healthcare テンプレート向けの HIPAA チェック
          aws controlcatalog list-control-mappings \
            --filter-by-compliance-frameworks '[{"compliance_framework": "HIPAA"}]' \
            | jq '.ControlMappings[] | select(.RequirementId | contains("164.308"))' \
            > /tmp/hipaa-encryption-controls.json
      
      - name: Comment Compliance Status on PR
        if: always()
        uses: actions/github-script@v6
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |
            const fs = require('fs');
            const controlMappings = JSON.parse(fs.readFileSync('/tmp/pci-controls.json'));
            const comment = `## Control Catalog Compliance Check

             PCI DSS v4.0 Controls: ${controlMappings.length} controls verified
             Security Group: SSH access restricted 
             Encryption: All EBS volumes encrypted 
             CloudTrail: Logging enabled 
            
            ### Mapping Summary
            - Requirement 1.2.1 (Firewall):  Implemented
            - Requirement 6.5.10 (Encryption):  Implemented
            - Requirement 10.1 (Logging):  Implemented
            
            **Compliance Status**: PASS 
            
            [Control Catalog Report](https://console.aws.amazon.com/controlcatalog/)`;
            
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: comment
            });

  deploy:
    needs: compliance-validation
    runs-on: ubuntu-latest
    if: success()
    steps:
      - name: Deploy CloudFormation Stack
        run: |
          aws cloudformation deploy \
            --template-file infrastructure/template.yaml \
            --stack-name pci-compliant-stack \
            --tags ComplianceFramework=PCI-DSS-v4.0 \
                    ControlCatalogMapping=rsa-ec2-001,tls-001,ct-001

2025-2026 年のアップデート

  • 新フレームワーク対応拡張:FISMA / COBIT / CSA CCM(計画中)
  • AI-driven Compliance Recommendation:Control Catalog × Bedrock で自動コンプライアンスアドバイス(計画中)
  • Terraform AWS Provider Native Support:terraform aws_controlcatalog_* resources 追加(2026)
  • Marketplace Controls:APN パートナー提供のカスタムコントロールを Control Catalog に登録・販売(計画中)
  • マルチクラウド対応検討:Azure / GCP コンプライアンスフレームワークの部分対応(長期計画)

まとめ

AWS Control Catalog は 「AWS 全体のコントロール・ガードレール・ルールを統一 API で検索・参照・対応付けするカタログサービス」。Control Tower・Security Hub・Config・Audit Manager が使用する統制を横断的に管理し、複数コンプライアンスフレームワーク(PCI DSS / HIPAA / GDPR / ISO27001 等)への同時対応を効率化します。

IaC(CloudFormation / Terraform)での コンプライアンスチェック・自動マッピング・共通コントロール特定により、大規模マルチアカウント環境のコンプライアンス管理を自動化・統一。AWS ネイティブの唯一の統制カタログサービスとして、エンタープライズ・金融機関・Healthcare 企業のコンプライアンス基盤を支える重要なサービスです。


参考リンク