본문 바로가기

IT 잡식

AWS Control Tower

source: https://aws.amazon.com/ko/controltower/features/

source: https://docs.aws.amazon.com/ko_kr/controltower/latest/userguide/what-is-control-tower.html

 

이전 글: AWS Organization

다음 글: AWS Control Tower FAQs

 

관련 글: AWS IAM, root user, IAM user

관련 글: AWS Firewall Manager

 

글을 쓰는 배경

AWS Account 여러 개를 단일 단위로 관리할 수 있는 개체는 AWS Organization 입니다. AWS Organization에 대해서 여기에서 이렇게 설명하고 있습니다."AWS 계정을 단일 단위로 관리할 수 있도록 통합하기 위해 생성하는 개체입니다. AWS Organizations 콘솔을 사용하여 조직 내 모든 계정을 중앙에서 확인하고 관리할 수 있습니다. " 

 

그런데 최근에 AWS Control Tower를 써야만 하는 경우가 발생하여, 이것이 무엇인지 알아봅니다. 발단은 Org 안에 속해 있는 여러 Member account (root user 또는 IAM user를 말하는 것이 아닙니다. 혼동하지 마세요)에 대해 로그인 인증 정책을 통합해 관리하고 싶다는 요구사항입니다. 얼핏 생각하면 AWS Org에서 제공하는 SCP (service control policy)를 이용하면 되지 않나 또는 별도의 도구 없이 그냥 설정하면 되지 않나라는 생각을 할 수 있습니다. 그러나 AWS Control Tower를 별도로 제공하는 이유가 있을테니, 그것을 알아보려고 합니다. 

Control Tower?

여러 개의 AWS accounts 를 보안 및 규정을 준수하게 하면서, 이런 것들을 간편하게 설정하고 관리할 수 있는 기능을 제공합니다. AWS Org, AWS Service Catalog, AWS SSO 등을 엮고 조합(orchestrate)하여 1시간 안에 금방 Landing Zone을 만들어 줍니다. (운영자/관리자/user) 대신 리소스를 만들고 설정하고 관리해 줍니다. 

Control Tower는 AWS Org 기능을 확장합니다. AWS Org나 AWS account가 BP(best practice. 상식적인 바람직한 모습/설정) 상태를 벗어나지(drift) 않도록 도와줍니다. 이런 목적을 달성할 수 있는, drift 상태를 예방하고 탐지할 수 있는 Guardrail을 제공합니다. 예를 들면 보안 로그 설정을 생성하고 활성화하고 수정하지 못하게 할 수 있습니다. 

여러 AWS accounts를 생성/삭제하고 통제할 수 있는 Orchestration 층이 있으면 좋습니다. Control Tower가 그 역할을 합니다. Control Tower를 이용하여 여러 AWS accounts에 대해 회사의 표준을 따르도록 유도하고, 규정을 준수하게 하고, 그리고 BP를 적용하게 할 수 있습니다. 이런 것을 간편하게 이룰 수 있습니다. 

AWS account template을 이용해 end user가 AWS account를 빨리 생성할 수 있도록 해 줍니다. 이러면서 모든 AWS accounts가 회사 규정을 자연스럽게 따르도록 만들 수 있습니다. 

 

AWS Control Tower  (ACT) 기능

Landing Zone

바람직한 보안 및 규정을 준수하는, 잘 설계된 Multi-accounts 환경입니다. ACT는 identity, federated access, account structure를 잘 정리해 놓은 청사진에 기반한 새로운 landing zone을 만드는 것을, 자동으로 만들수 있게 해 줍니다. Enterprise 레벨 폴더(컨테이너)입니다. 이 폴더에는 OUs, Accounts, Users, 다른 Resources를 포함합니다. AWS Org와 동일하게 폴더 안에 OUs, Accounts, Users, Resources를 포함합니다만, Control Tower는 AWS Org 대비하여 보안 및 규정을 제어하는 것을 주목적으로 합니다. 

 

Landing Zone에서 자동으로 실행해 주는 청사진(blueprints) 사례는 다음과 같습니다. 

  • AWS Org를 이용하는 multi-account 환경을 생성합니다. 
  • AWS SSO default directory 이용하는 ID 관리 기능을 제공합니다. 
  • AWS SSO를 이용하는 account에 대해 federated access를 제공합니다. 
  • AWS CloudTrail, AWS Config 로부터 오는 log를 중앙처리할 수 있습니다. 
  • Enable cross-account security audits using AWS IAM and AWS SSO (???)

Landing zone을 만들 때 반드시 또는 거의 필수적으로 Guardrail을 적용합니다. Guardrail을 선택하여 accounts나 설정이 규정을 벗어나지 않도록 합니다.

Account Factory

한줄 요약: Account를 미리 정의한 양식에 따라 신속하게 생성할 수 있는 Template

Account Factory는 조직(Org)에서 새로운 Account를 자동으로 생성하게 해 줍니다. Accont Factory는 설정 가능한 Account Template이며, 이미 승인받은 형태로 새로운 Account를 생성할 수 있도록 해 줍니다. Template을 이용하므로 빠르게 생성할 수 있으며, 규정을 따르도록 할 수 있습니다. (이하 영어 문장 해석 포기) You can configure your account factory with pre-approved network configuration and region selections. And you can enable self-service for your builders to configure and provision new accounts using AWS Service Catalog.

Preventive & Detective Guardrails

미리 정의해서 엮어놓은 AWS 환경을 관리/지배하는 규정입니다. Enterprise 전체 또는 특정 Accounts 그룹에 적용할 수 있는 보안, 운영, 준수 사항을 말합니다. Guardrail은 영어 평문으로 표현하며, AWS 환경에 적용하는 지배 정책을 강제 적용합니다. Guardrail을 AWS Org OU에 적용할 수 있습니다. Guardrail은 2가지 분류가 있습니다. 첫번째 분류는 Preventive 또는 Detective, 두번째 분류는 Mandatory or Optional 입니다. Preventive Gaurdrail은 규정을 벗어나는 resource 생성을 방지합니다. Detective Guardrail은 규정을 벗어나는 resource가 생성/운영되는 것을 감시합니다. Control Tower는 Guardrail을 이용해 아래와 같은 방법을 써서 AWS 정책을 적용합니다.  

  • (AWS CloudFormation을 이용하는) configuration baseline을 만듭니다. 
  • SCP(service control policy)를 변경하는 것을 방지합니다. 
  • AWS Config rules을 이용해 설정이 변하는 것을 계속 탐지합니다. 
  • Guardrail 상태를 dashboard에서 볼 수 있게 합니다. 

Mandatory & Optional Guardrails

ACT는 고객들이 공통으로 적용하는 보편적인 Guardrail 세트를 제공합니다. Landing zone을 생성할 때 mandatory gaurdrails을 자동으로 적용하게 할 수 있습니다. mandatory guardrails을 예로 들면

  • IAM role 설정 변경을 차단합니다. 
  • 로그 저장소를 읽은 것을 (public read access) 차단합니다. 
  • 로그 저장소에 대한 정책 변경을 차단합니다. 

OU에 대해 강력추천 Guardrail을 적용할 수도 있습니다. 강력추천 Guardrail이 적용된 OU 아래 생성된 Accounts는 그런 Guardrail 특성을 상속받습니다. 강력추천 Guardrails을 예로 들면

  • Amazon S3에 대한 쓰기를 차단(public write access) 합니다. 
  • MFA 없이 root user로 접근하는 것을 차단합니다. 
  • Amazon EBS에 암호화를 활성화합니다. 

Dashboard

AWS Org (enterprise)안 여러 accounts, gaurdrails을 볼 수 있고, 또한 규정을 벗어나는 accounts, users, resources를 확인할 수 있습니다. 

 

다른 AWS Services와 상호 작용하는 방법

Control Tower는 AWS Service Catalog, AWS SSO, AWS Org를 기반으로 합니다. 이것들을 이용해 AWS로 이전해 오는 것을 도와줄 수 있습니다. 

Account 자동 설정 (automated account configuration): Account Factory를 이용해 룰을 따르는 account를 쉽고 빠르게 생성할 수 있게 해 줍니다. Account Factory는 Service Catolog를 기반으로 합니다. 

중앙통제 (centralized governance): AWS Org에서 이용할 수 있는 SCP 및 기능을 이용하여 mulit accouts에 대해 보안 및 규정을 준수하도록 할 수 있습니다. 

(다음 문장은 체감이 되지를 않네요. 체감될때까지 원문을 그대로 인용합니다) Extensibility: You can build or extend your own AWS Control Tower environment by working directly in AWS Organizations, as well as in the AWS Control Tower console. You can see your changes reflected in AWS Control Tower after you register your existing organizations and enroll your existing accounts into AWS Control Tower. You can update your AWS Control Tower landing zone to reflect your changes. If your workloads require further advanced capabilities, you can leverage other AWS partner solutions along with AWS Control Tower.

 

결론

AWS multi-accounts 환경에서 바람직한 보안설정 및 규정을 준수하도록, 쉽게 설정하고 관리할 수 있는 솔루션입니다.  

 

 

이전 글: AWS Organization

다음 글: AWS Control Tower FAQs

 

관련 글: AWS IAM, root user, IAM user

관련 글: AWS Firewall Manager

 

'IT 잡식' 카테고리의 다른 글

USB 1.0 2.0 3.0 3.1 3.2 Type A B C PD 3.0  (0) 2021.07.25