콘텐츠로 이동하기
보안 & 아이덴티티

[GCP 보안 운영 시리즈 ] 조직 정책을 활용한 클라우드 보안 강화

2022년 4월 4일
Jinwon Seo

Security Specialist

Google Cloud 사용해 보기

$300의 무료 크레딧과 20개 이상의 항상 무료인 제품으로 Google Cloud 사용을 시작해보세요.

무료 체험

조직 정책 서비스는 구글 클라우드 조직 관리자가 중앙에서 모든 클라우드 리소스의 보안 정책을 일관성있게 제어할 수 있는 기능을 제공합니다. 이전 글인 Resource Manager에서 살펴보았듯이 구글 클라우드는 모든 자원을 Resource Manager라는 계층 구조내에서 관리합니다.

사용자는 각 자원에 적용되는 보안 정책을 조직, 폴더, 프로젝트 별로 구성할 수 있습니다. 하지만 조직 내에 폴더와 프로젝트를 많이 운영하는 경우, 폴더, 프로젝트마다 유사한 보안 정책을 운영하면서 일부 항목만 다른 경우가 있다면 모든 폴더와 프로젝트에 일일히 보안 정책을 관리하는 것은 대단히 번거로운 일입니다. 

조직 정책 서비스는 이러한 사용자의 노력을 감소하는데 큰 도움이 됩니다.  조직 정책 서비스를 사용하여 조직 정책을 관리하면 다음과 같은 이점이 있습니다. 

  • 조직의 리소스 사용 방법의 제한 사항을 중앙에서 제어합니다. 
  • 구글 클라우드를 사용하는 개발자, 관리자 들이 규정을 준수할 수 있도록 기본 정책을 정의하고 설정합니다. 
  • 조직, 폴더, 프로젝트 별로 동일한 정책을 적용하거나 다른 정책을 손쉽게 적용할 수 있습니다.

구글 클라우드에서 사용자 권한을 검사하는 IAM(Identify & Access Management)는 사용자에 초점을 맞추는 정책을 수립하지만 조직 정책은 클라우드 내의 특정 행위를 제한하는 것에 초점을 맞추고 있습니다.

조직 정책 서비스 개념

조직 정책은 리소스에 적용되는 제한 사항의 집합입니다. 즉, 조직에서 강제하고자 하는 제한 항목을 정의하고 해당 정책의 허용/차단 여부를 결정합니다.  조직 정책 서비스는 구글 클라우드에서 가장 최상위 자원인 조직 수준에 최초로 적용됩니다. 이후 해당 정책은 조직에서 폴더로, 폴더에서 프로젝트로 상속되면서 개별 자원에 각각 적용됩니다. 그러므로 조직에서 구성한 정책은 프로젝트 단위까지 자동으로 적용됩니다. 개별 리소스에 적용되는 정책은 프로젝트의 정책을 상속받게 됩니다.  이러한 점은 통일된 조직 정책을 수립하는데 매우 효과적인 방법입니다. 

한 가지 예를 들어보겠습니다. 사용자는 구글 클라우드에서 웹 서비스를 운영하고자 합니다. 일반적으로 GCE(Google Compute Engine)을 생성하고 여기에 사용자의 웹 어플리케이션을 설치합니다. 이후 DNS 서버에서 GCE의 IP를 도메인 주소와 결합하여 웹 서비스를 제공합니다. 하지만 GCE의 공인IP를 인터넷에 그대로 노출시키는 것은 많은 보안 위협이 존재합니다. 그래서 GCE에 공인IP를 직접 할당하는 것을 금지하고 반드시 부하 분산기 또는 웹 방화벽을 이용해서 인터넷 접속을 제공하도록 설정하고자 합니다. 

이러한 구조에 익숙하지 않은 담당자라면 여전히 공인 IP를 인터넷에 노출시킬 수 있습니다. 이때 조직 정책은 훌륭한 선택이 됩니다. 조직 정책에서 GCE 공인 IP 할당 금지라는 정책을 수립하게 되면 해당 프로젝트에서 생성되는 모든 GCE는 공인 IP 할당 금지의 정책을 적용받으며 IP가 설정되지 않습니다.  조직 정책은 이러한 방식으로 동작합니다. 

하지만 구현하는 프로젝트에 따라서 공인 IP 할당이 필요한 경우가 있을 수 있습니다. 그런데 특정 프로젝트에만 필요한 이 기능을 조직 차원에서 모두 허용하게 된다면 조직 전체 보안 수준이 낮아지는 문제가 발생합니다. 

이를 위해서 구글 클라우드는 조직 정책을 폴더, 프로젝트에서도 수정할 수 있게 만들었습니다. 최상위 노드인 조직에 적용된 조직 정책은 폴더와 프로젝트로 상속이 됩니다. 하지만 폴더와 프로젝트는 상속받은 값을 반드시 써야 하는 것이 아니라 개별 폴더와 프로젝트의 정책에 따라서 상위 정책과 다른 정책을 적용할 수 있습니다. 즉, 상위 정책과 하위 정책 값이 다를 경우 하위 정책이 우선순위가 더 높습니다. 조직과 폴더의 보안정책이 다르다면 폴더의 정책이 우선하고, 폴더와 프로젝트의 정책이 다르다면 프로젝트의 정책이 우선합니다. 그러므로 공인 IP를 할당해야 하는 프로젝트에만 공인 IP 할당을 허용하는 정책을 수립하면 됩니다. 다른 폴더나 프로젝트는 여전히 공인 IP 할당이 금지되는 정책을 상속받습니다. 

이러한 사항은 아래 그림에 자세히 나타나 있습니다.  

https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_D7m1yxg.max-500x500.png

  • 조직의 보안 정책으로 공인 IP 할당 금지와 서비스 계정 생성 금지를 설정했습니다.
  • PCI-DSS 폴더: 조직 정책으로 기본 네트워크 사용금지를 추가했습니다. 이제 PCI-DSS 폴더는 세 가지의 조직 정책이 동작합니다. 
  • QA 폴더: 조직 정책에서 서비스 계정 생성 금지 정책을 제거하였습니다. 그러므로 QA폴더는 공인 IP 할당 금지 정책만이 운영됩니다.
  • Dev 폴더: 해당 폴더에 프로젝트가 하나 존재합니다. 이 프로젝트에서 공인 IP 할당 금지와 서비스 계정 생성금지 정책을 모두 제거하고 신뢰하는 운영체제 이미지 사용 정책을 추가했습니다.  이제 프로젝트는 조직 정책을 한 개만 운영합니다. 

GCE에 공인 IP를 할당하는 조직 정책은 ‘VM 인스턴스에 허용되는 외부 IP 정의’ 항목입니다. 이 항목은 GCP 웹 콘솔에서 IAM 및 관리자 -> 조직 정책에서 찾을 수 있습니다.  아래 그림은 현재 정책이 상속된 값으로 외부 IP 할당이 거부된 상태입니다.

조직 정책 설정 예시

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_O094yjS.max-600x600.png

이러한 조직 정책 설정에서 GCE 생성 메뉴 차원에서 외부 IP 부여가 막혀 있는 것을 확인할 수 있습니다. 또한 현재 조직 정책에서 이 설정을 차단하고 있음을 안내하고 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_iPuq8uo.max-500x500.png

다음 그림은 해당 정책을 수정하는 것을 보여줍니다. 적용 대상을 맞춤 설정으로 변경하고 정책 시행을 바꾸기로 변경하면 현재 수정한 정책값이 상속된 정책값을 덮어 쓰게 됩니다. 그리고 규칙을 모두 허용으로 변경하고 완료를 누릅니다. 

이제 조직 정책에서 외부 IP 차단이 허용으로 변경됩니다.  

https://storage.googleapis.com/gweb-cloudblog-publish/images/image6_noYgXy4.max-600x600.png

이를 확인하기 위해서 다시 GCE의 네트워크 메뉴를 선택하면 외부 IP를 할당할 수 있도록 메뉴가 활성화 되어 있는 것을 확인할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_5IZqDqe.max-500x500.png

지금까지 조직 정책의 동작 방식을 간략하게 살펴보았습니다. 조직 정책은 여기에서 살펴본 것보다 훨씬 많은 제약 조건을 제공합니다. 개별 항목의 상세 내역은 조직 정책 제약조건 페이지에서 확인하실 수 있습니다.

조직 정책은 구글 클라우드를 구축하는데 있어서 초기에 구성해야 하는 보안 정책입니다. 클라우드를 활용함에서 있어서 기업이 구성해야 할 정책을 조직 정책을 통해서 구현하시고 개별 프로젝트마다 필요에 따라 조직 정책을 수정하신다면 일관된 보안 정책을 운영하실 수 있습니다.

게시 위치