AWS Control Tower

Simon Kim·2024년 2월 2일
0

Preview


새로 옮긴 부서에서 AWS를 사용 중인 멀티 계정에 대한 보안 및 비용 통제 및 거버넌스를 수립할 수 있는 서비스를 알아보는 미션이 떨어져, 제작년에 출시한 AWS Control Tower에 대해 검토를 진행하였다.

AWS Control Tower란?


  • AWS Control Tower는 조직의 보안 및 규정 준수 요구 사항을 유지하면서 사용자를 대신하여 여러 AWS 서비스를 오케스트레이션하는 서비스
  • 여러 개의 조직 및 다중 운영 계정을 통합 및 통제
  • 여러 개의 운영 계정에서 발생하는 Access 로그 및 감사 로그 등을 한 곳에서 관리할 수 있어, 시스템 관제 및 보안 사고 발생에 신속히 대응 하거나 예방함.

출처

[출처] https://aws.amazon.com/ko/controltower/

주요 특징


1. 랜딩존(Lending Zone)

  • 여러 개의 멀티 운영 계정을 빠르게 설정할 수 있도록 제공하는 솔루션
  • 클릭 몇 번만으로 핵심 계정 및 리소스 생성 시 꼭 필요한 보안 기준을 자동으로 구성하여, 안전하고 확장 가능한 워크로드 실행환경을 구성
  • AWS SSO(Single Sign-On)을 활용하여 사용자 계정 엑세스를 관리하기 때문에, 조직단위(OU) 또는 서비스단위 운영 계정 관리가 가능

2. 가드레일(Guardrail)

  • 클라우드 리소스 설정 시 보안 규칙에 어긋나지 않도록 클라우드 리소스를 유지시킬 수 있는 기능을 제공함.
  • AWS에서 기본적으로 제공하는 서비스제어정책(Service Control Policy) 뿐만 아니라 사용자 정의 서비스제어정책 적용이 가능하기 때문에,
    조직단위(OU) 또는 서비스단위 운영 계정별로 가이던스 수립이 가능.
  • 방지 가드레일과 감지 가드레일 두가지 타입을 제공함.
    1) 방지 가드레일
    : 서비스제어정책 의도를 설정하고 정책을 준수하지 않는 리소스 배포를 방지.
    : 보안 사고 예방.
    2) 감지 가드레일
    : 배포된 리소스들의 부적합을 지속적으로 모니터링.
    : 보안 관제 및 사고 대응 용이.

3. 계정 팩토리(Account Factory)

  • 매니지먼트/로그/감사 계정이 기본으로 생성되어 중앙집중화된 공간에서 계정/로그/비용을 관리함.
  • 운영 구성 환경과 사용권한을 고려하여 계정을 생성하고 권한을 부여함.
  • AWS Organizations와 연동하여 기존 운영 계정에 대한 계정 관리 및 권한 설정 가능.

비용


  • 사용 계정 당 리소스 사용 금액 및 landing zone 존에서 사용한 서비스 사용/전송 비용 및 데이터 저장 비용을 지불.
    (ex : 감사/시스템 로그 전송, Config 설정, Service Catalog 사용, S3 데이터 저장 등)
  • PoC시 리소스 및 Guardrail 설정에 대한 비용 시뮬레이션하여 대략적인 금액 산정 필요

검토


Control Tower의 주요 특징을 분석하면서, 아래 4가지의 내용을 검토해 보기로 하였다.

* Control Tower를 구성한다.
* 외부 계정 관리를 위한 조직OU를 추가하고, 외부 계정 1개를 해당 조직에 연결한다.
* 외부 계정 1개에 서비스 접근 제어(SCP)를 적용하고, 해당 계정에서 SCP 적용이 되었는지 확인한다.
* Control Tower에 대한 사용 비용을 확인한다.

위의 4가지 검토를 위해 아키택처는 다음과 같이 설계하였다.

Control Tower 구성


  • 조직OU 및 로그 수집 계정(아카이브 및 감사) 설정.
    • Control Tower 기본 OU와 추가 OU를 기본적으로 구성해야 하며, 기본값을 제공함.
      (기본 OU 기본값 : Security, 추가 OU 기본값 : Sendbox)
  • 중앙집중화된 로그를 관리 하기 위해 로그 아카이브 및 감사 계정을 각각 설정.
    • 총 2개의 계정 ID가 생성됨.
  • 로그 관리 수명 주기 정책 설정 및 KMS 암호화 설정
    • 수집된 로그에 대한 S3 수명 주기 정책 설정(기본 1년)
    • 민감 정보 등의 데이터 또는 암호화된 로그 보관을 위해 KMS 암호화 여부 검토가 필요
  • 위의 항목을 설정 하면 Control Tower 랜딩 존이 구성되며, 설정 시간은 최대 60분 소요.
  • 신규 생성된 로그아카이브 및 감사 수집 계정에 대한 invite 메일 발송
  • 신규 생성된 로그아카이브 및 감사 수집 계정은 AWS SSO에서 로그인이 가능하며 향후, 외부 계정 추가 시 해당 서비스로 로그인을 진행함. (ex : d-xxxxx.amazon.com)
  • 최초 등록 시 MFA 인증 등록 필수
  • Root 계정으로 로그인 시, 로그아카이브 및 감사 수집 계정 포함하여 조직에 속해 있는 계정 ID가 목록으로 조회 되고, 계정 ID별로 Console 접근이 가능함.

외부 계정 연결


  • AWS Organizetion을 활용하여 외부 계정을 연결하면, Control Tower를 통해 거버넌스 설정 및 권한 관리가 가능.
  • Control Tower에 계정에 연결하기 위해, 외부 계정에 사용자 지정 신뢰 정책을 생성함.
  • 사용자 지정 신뢰 정책을 선택하여 정책을 입력하고, AdministratorAccess 권한을 추가함.
  • Root 계정의 Organizations 에서 AWS 계정 추가를 누르고, 외부 계정ID를 입력하여 계정 초대를 함.
  • 계정 초대에 대한 이메일이 도착하며, 외부 계정에 로그인 후 Organizations 에 invite로 온 계정에 대해 Accept 처리함.
  • Root 계정의 Organizations 목록에 외부 계정 OU 등록이 완료되며, 계정 업데이트 요청이 필요하며, 계정 체크하는 시간이 꽤 걸림
    (30분~1시간, 권한 및 보안 준수 여부 체크)

외부 계정에 SCP 적용


  • Root계정에서 외부계정에 대한 서비스 접근 정책(SCP)을 생성한다. 제일 간단한 예제로, 외부계정에서 생성된 EC2 인스턴스에 대한 중지 또는 삭제 시 MFA 인증을 통해야만 삭제할 수 있도록 설정하였다.

    외부 계정 로그인 후 사전에 생성된 EC2에 대해서 중지 요청을 하게되면, 조직단위에 설정된 SCP에 의해 중지 요청이 Deny됨을 확인.

Control Tower 사용 비용 확인


  • Control Tower 설정 및 계정 생성 비용은 무료임.
  • But, Control Tower를 사용하는 Root 계정에 외부 계정이 사용하는 감사 로그 또는 엑세스 로그에 대한 전송비용 및 저장 비용이 발생하고, Control Tower를 구성하기 위한 AWS Config 비용이 별도로 발생함
    (주로 집행되는 비용은 로그 전송 비용 및 각 계정별 리소스 설정 비용.)
  • 특정 리소스 사용량에 대한 Notification을 받을 수 있으며, 사용자 정의 Notification 구성 가능.

Conclusion


  • 멀티 조직 및 계정에 대한 중앙집중적 관리 제공.
  • 조직 또는 계정 단위별로 서비스 접근 정책 설정 및 보안 사고 예방을 위한 guardrail 설정 제공.
  • 중앙집중적 로그 아카이브 및 감사 로그 관리.
  • SSO(Single Sign On) 기반 계정 로그인 및 Console 화면 제공.
    (일반적으로 접근 가능한 aws URL에 대한 접근 통제 가능)
  • 비용 관리 및 효율적인 통제 제공.
  • 그 외에도 많다..
profile
다양한 주제를 심플하고 명확하게 정리해 보려는 연차만 많은 IT 잡부입니다. 사람들과의 소통을 사랑합니다.~^^

0개의 댓글