0Pricing
AWS Solutions Architect · 강의

Conformance Packs 및 조직 추적

AWS 조직 전체에 Conformance Packs를 적용해 CIS 또는 PCI-DSS 벤치마크를 준수하고, 중앙 집중식 감사를 위해 조직 수준의 추적을 배포합니다.

Conformance Packs 및 조직 추적은(는) CoddyKit의 무료 AWS Solutions Architect 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AWS Solutions Architect 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

Conformance Packs란 무엇입니까?

AWS Config Conformance Packs는 CloudFormation과 유사한 YAML 템플릿을 사용하여 여러 Config 규칙과 수정 작업을 하나의 배포 가능한 단위로 묶은 모음입니다. 이는 CIS AWS Foundations Benchmark, PCI-DSS, HIPAA 또는 NIST 800-53과 같은 특정 표준이나 프레임워크를 위한 규정 준수 제어 집합을 나타냅니다. 수십 개의 개별 Config 규칙을 수동으로 배포하는 대신 Conformance Pack 하나를 배포하여 몇 분 만에 포괄적인 범위를 확보할 수 있습니다.

Conformance Packs 예시

AWS는 GitHub와 AWS 콘솔에서 수십 가지 샘플 Conformance Pack 템플릿을 제공합니다. 예를 들면 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 템플릿 구조

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_ENABLED

Conformance Pack 규정 준수 요약

배포가 완료되면 각 Conformance Pack의 규정 준수 요약을 확인할 수 있습니다. 여기에는 통과한 규칙 수, 실패한 규칙 수, 각 규칙에서 규정 미준수인 리소스 수가 표시됩니다. 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

Organisation Conformance Packs

Organisation Conformance Pack은 관리 계정(또는 위임된 관리자 계정)에서 AWS Organisation의 모든 계정에 Conformance Pack을 동시에 배포합니다. 멤버 계정에서는 배포된 규칙을 삭제하거나 수정할 수 없습니다. 조직에 새로 가입하는 계정에는 Conformance Pack이 자동으로 적용됩니다. 이는 각 계정에 개별적으로 접속하지 않고 수백 개 계정에 걸쳐 규정 준수 기준선을 적용하는 가장 효율적인 방법입니다.

# 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 OrgSecurityBaseline

AWS Config의 위임된 관리자

AWS Organisation에서는 위임된 관리자 계정을 AWS Config의 계정으로 지정하여 관리 계정을 일상적인 Config 운영에 사용하지 않을 수 있습니다. 위임된 관리자는 조직의 Config 규칙, Conformance Packs, 집계기를 배포하고 모든 멤버 계정의 규정 준수 데이터를 확인할 수 있습니다. 이는 운영 작업에서 관리 계정의 사용을 최소화하는 모범 사례를 따르는 방식입니다.

# 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 operations

Organisation Trails: 중앙 집중식 API 감사

AWS CloudTrail의 조직 트레일은 AWS Organisation의 모든 계정(현재 멤버와 향후 멤버)의 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로 파티션을 나눈 단일 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 Organisations의 서비스 제어 정책(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": "*"
#   }]
# }

집계된 Findings를 위한 Security Hub

AWS Security Hub는 Config(규정 준수 검사 결과), GuardDuty(위협 탐지), 인스펙터(취약성 Findings), 메이시(데이터 민감도), 파트너 도구의 Findings를 하나의 표준화된 보기로 수집합니다. 또한 Findings를 CIS Foundations, PCI-DSS, AWS Foundational Security Best Practices와 같은 보안 표준에 매핑합니다. Config가 구성 상태에 초점을 맞추는 반면, 전체 보안 점수와 모든 서비스의 우선순위가 지정된 Findings 목록을 확인하려면 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는 Findings를 우선순위가 지정된 보안 점수로 집계하고, EventBridge + Lambda는 심각도가 높은 Findings에 자동으로 대응합니다. 이러한 다층 접근 방식이 AWS가 클라우드 거버넌스를 위해 사용하는 심층 방어 모델입니다.

빠른 확인

이 레슨에서 다룬 AWS Solutions Architect (SAA-C03) 개념에 대한 이해도를 확인해 보십시오.

레슨 요약

이 레슨에서는 다음을 학습했습니다. Conformance Packs는 여러 Config 규칙을 프레임워크 규정 준수를 위한 하나의 배포 가능한 YAML 템플릿으로 묶습니다. Organisation Conformance Packs는 모든 AWS Organisation 계정에 자동으로 적용되며 멤버가 수정할 수 없습니다. 또한 Organisation Trails는 계정별 구성 없이 모든 계정의 API 감사 로그를 중앙에 모읍니다. 다음으로 Storage Deep Dive에서 EBS 볼륨 유형을 살펴보겠습니다.

자주 묻는 질문

“Conformance Packs 및 조직 추적” 강의는 무료인가요?

네 — “Conformance Packs 및 조직 추적” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AWS Solutions Architect 강의 전체를 잠금 해제할 수 있습니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

“Conformance Packs 및 조직 추적”에서 뭘 배우나요?

AWS 조직 전체에 Conformance Packs를 적용해 CIS 또는 PCI-DSS 벤치마크를 준수하고, 중앙 집중식 감사를 위해 조직 수준의 추적을 배포합니다. 브라우저에서 직접 실행하는 실습 코드로 AWS Solutions Architect을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AWS Solutions Architect을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AWS Solutions Architect은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“Conformance Packs 및 조직 추적” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AWS Solutions Architect 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AWS Solutions Architect 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. CloudTrail 추적 및 이벤트 기록
  2. CloudTrail Insights 및 로그 파일 무결성
  3. AWS Config 규칙 및 문제 해결
  4. Conformance Packs 및 조직 추적
← AWS Solutions Architect(으)로 돌아가기