보안 제어와 멀티 계정 거버넌스

SCP, IAM Identity Center, Organizations OU 구조, Control Tower, KMS 크로스 계정 접근을 실무 관점에서 정리합니다.

SAP-C02에서 보안과 멀티 계정 거버넌스는 D1의 핵심 축입니다. 대규모 조직은 수십~수백 개의 AWS 계정을 운영하며, 이 계정들을 일관된 보안 정책으로 통제하는 것이 Solutions Architect의 주요 역할입니다.

핵심 질문은 "이 조직의 보안 요구사항을 최소 운영 오버헤드로 어떻게 달성하는가?"입니다. SCP, IAM Identity Center, Control Tower, KMS를 올바르게 조합하면 수백 개 계정을 중앙에서 효율적으로 통제할 수 있습니다.

 

AWS Organizations와 SCP

AWS Organizations는 여러 AWS 계정을 하나의 조직으로 묶어 관리하는 서비스입니다. 계정들을 OU(Organizational Unit)로 그룹화하고, 각 OU에 서비스 제어 정책(SCP)을 적용합니다.

SCP의 핵심 규칙은 "Deny가 항상 우선"입니다. SCP에서 거부한 작업은 아무리 IAM 정책에서 허용해도 실행할 수 없습니다. SCP는 IAM보다 상위 레벨의 경계 설정이라고 이해하면 됩니다.

관리 계정(Management Account)은 SCP의 영향을 받지 않습니다. 이것은 시험에서 자주 출제되는 포인트입니다. 예를 들어 "모든 계정에서 Reserved Instance 구매를 차단하되, 재무팀만 구매할 수 있게 하라"는 문제에서, SCP를 루트 OU에 적용하면 관리 계정은 자동으로 예외가 됩니다.

특정 계정만 예외를 주려면 별도 OU를 만들어 분리합니다. SCP 구문 자체에서 개별 계정을 조건으로 제외하는 것은 지원되지 않기 때문입니다.

| SCP 패턴 | 설명 | |----------|------| | Deny at Root OU | 전체 조직에 특정 작업 차단, 관리 계정 자동 예외 | | 예외 OU 분리 | 차단 대상에서 제외할 계정을 별도 OU로 이동 | | 리전 제한 | 허용 리전 외 모든 API 호출 차단 | | 서비스 제한 | 특정 서비스(EC2 구매, S3 퍼블릭 설정 등) 차단 |

 

IAM Identity Center (SSO)

IAM Identity Center는 여러 AWS 계정에 대한 중앙 집중 접근 관리를 제공합니다. 사용자는 한 번 로그인하면 할당된 모든 계정과 역할에 접근할 수 있습니다.

외부 자격 증명 공급자(IdP)와 통합할 때 SAML 2.0 연합 인증을 사용합니다. 시험에서는 SAML Assertion의 Role ARN과 IdP ARN이 IAM Role의 Trust Policy와 일치해야 한다는 점이 자주 출제됩니다. AccessDenied 오류가 나면 이 매핑을 먼저 확인해야 합니다.

Permission Set은 IAM Identity Center에서 사용자에게 부여하는 권한 묶음입니다. 하나의 Permission Set을 여러 계정에 할당할 수 있어, 수백 개 계정의 권한을 일관되게 관리할 수 있습니다.

 

Control Tower

Control Tower는 Organizations 위에 구축된 랜딩존 자동화 서비스입니다. 새 계정을 생성하면 미리 정의된 보안 가드레일(SCP + Config Rules)이 자동으로 적용됩니다.

가드레일에는 두 종류가 있습니다. 예방적 가드레일은 SCP로 구현되어 특정 작업을 사전에 차단합니다. 탐지적 가드레일은 AWS Config Rules로 구현되어 비규정 준수 상태를 감지하고 보고합니다.

Account Factory는 Control Tower의 계정 자동 생성 기능입니다. 표준화된 설정(VPC, 서브넷, 보안 그룹)으로 새 계정을 프로비저닝합니다. Service Catalog와 통합되어 개발팀이 셀프서비스로 새 계정을 요청할 수 있습니다.

 

KMS와 크로스 계정 암호화

KMS(Key Management Service)는 암호화 키를 중앙에서 관리합니다. SAP-C02에서는 크로스 계정 시나리오가 자주 출제됩니다.

계정 A의 KMS 키로 암호화된 데이터를 계정 B에서 복호화하려면 두 가지 설정이 필요합니다. KMS 키 정책에서 계정 B의 역할을 허용하고, 계정 B의 IAM 정책에서 해당 KMS 키 사용을 허용해야 합니다.

AWS 관리형 키(aws/s3, aws/ebs 등)는 크로스 계정 접근이 불가능합니다. 크로스 계정 시나리오에서는 반드시 고객 관리형 CMK(Customer Managed Key)를 사용해야 합니다.

S3 버킷 암호화에서 SSE-S3는 S3가 관리하는 키를 사용하고, SSE-KMS는 KMS CMK를 사용합니다. 크로스 계정 S3 접근 시 SSE-KMS를 사용하면 KMS 키 권한도 함께 설정해야 합니다.

 

CloudTrail과 중앙 집중 로깅

대규모 조직에서는 모든 계정의 API 호출을 중앙에서 수집해야 합니다. Organizations Trail을 생성하면 조직 내 모든 계정의 CloudTrail 로그가 지정된 S3 버킷으로 자동 전달됩니다.

중앙 로깅 계정에 S3 버킷을 두고, 버킷 정책으로 조직 내 모든 계정의 CloudTrail 쓰기를 허용합니다. 이 버킷은 S3 Object Lock으로 보호하여 로그가 변조되지 않도록 합니다.

Security Hub는 GuardDuty, Inspector, Config 등의 보안 발견 사항을 한 곳에 모읍니다. 위임 관리자(Delegated Administrator)를 지정하면 관리 계정이 아닌 보안 전담 계정에서 조직 전체의 보안 상태를 모니터링할 수 있습니다.

 

RAM — 리소스 공유

AWS RAM(Resource Access Manager)은 조직 내 계정 간에 리소스를 공유합니다. Transit Gateway, Resolver Rule, 서브넷, License Manager 구성 등을 공유할 수 있습니다.

Organizations 통합이 활성화되면 OU 단위로 공유가 가능하여, 새 계정이 OU에 추가되면 자동으로 공유 리소스에 접근할 수 있습니다.

 

시험 핵심 정리

"모든 계정에서 특정 작업 차단, 예외 불가" -- SCP (관리 계정 제외)

"관리 계정은 SCP 영향 안 받음" -- SCP 관리 계정 예외 규칙

"특정 계정만 예외" -- 별도 OU로 분리 후 해당 OU에 SCP 미적용

"여러 계정에 SSO 접근" -- IAM Identity Center

"SAML 연합 인증 AccessDenied" -- Role ARN/IdP ARN 매핑 확인

"새 계정에 자동 보안 가드레일" -- Control Tower

"크로스 계정 암호화 데이터 접근" -- 고객 관리형 CMK + 키 정책 + IAM 정책

"AWS 관리형 키로 크로스 계정 접근" -- 불가. CMK 필요

"조직 전체 API 감사 로그" -- Organizations Trail (CloudTrail)

"보안 발견 사항 중앙 집계" -- Security Hub + 위임 관리자

"조직 내 리소스 공유" -- AWS RAM

블로그 목록으로 돌아가기