IAM 추천자(IAM Recommender)를 사용하여 적은 노력으로 최소 권한 달성
Abhi Yadav
Product Manager
Liang Zhang
Software Engineer, Google Cloud
* 본 아티클의 원문은 2020년 8월 4일 Google Cloud 블로그(영문)에 게재되었습니다.
클라우드 도입이 증가하면서 클라우드 리소스도 기하급수적 성장세를 보이고 있습니다. 이와 더불어 클라우드 리소스에 액세스 및 변경할 수 있도록 사람과 워크로드에 부여되는 권한 또한 증가하고 있습니다. 여기에는 조직의 보안을 침해할 수 있는 권한 남용을 비롯한 잠재적인 위험이 따릅니다.
이러한 위험을 완화하려면 권한이 필요한 시점에 필요한 권한만 사람 및 워크로드에 부여하는 것이 바람직합니다. 이 같은 보안 권장사항을 '최소 권한 액세스'라고 합니다.
안타깝게도 이러한 관행은 제대로 시행되고 있지 않습니다. 실제로 Google 내부 연구에 따르면 관리자가 부여하는 대부분의 권한이 90일의 관찰 기간 내에 사용되지 않고 있습니다. 최소 권한을 달성하기 위해서는 불필요하기 때문에 삭제해도 무방한 위험도 높은 권한을 파악해야 합니다. 본 게시물에서는 규모에 맞춘 최소 권한을 확립하는 데 따르는 도전과제, 시작 방법에 대한 권장사항, IAM 추천자(IAM Recommender)가 도움이 되는 방법을 살펴보겠습니다.
최소 권한 기본사항
최소 권한을 확립하는 첫 번째 단계는 사용자가 현재 보유한 권한과 최근 사용한 권한을 파악하는 것입니다. 그런 다음 해당 사용자가 앞으로 필요로 할 가능성이 큰 권한을 파악해야 수작업을 통해 권한을 추가로 할당하는 소모적인 시행착오를 반복하지 않을 수 있습니다. 이러한 권한을 파악한 후에는 여러 구성원과 프로젝트에 걸쳐 역할을 재사용할 수 있도록 ID 및 액세스 관리(IAM) 정책 구성 방식을 결정해야 합니다. 마지막으로, 불필요한 권한을 삭제하거나 권한 사용을 면밀히 모니터링할 수 있도록 정책을 변경해야 합니다.
간단하게 들리지만 실제로는 그렇지 않습니다.
규모에 맞게 최소 권한 확립
이 문제를 해결하는 데 있어 관건은 규모에 맞게 최소 권한을 효율적으로 달성하는 방법을 파악하는 것입니다. Google Cloud는 모든 조직이 데이터에 기반한 혁신을 통해 비즈니스를 신속하게 재편할 수 있도록 노력하고 있습니다. 클라우드 보안 환경을 개선하는 혁신을 제공하는 것이 Google의 목표입니다. 그러면 개발자는 신속하게 혁신을 꾀하면서도 데이터 기반 인텔리전스를 통해 리소스를 안전하게 보호할 수 있습니다.
Next ‘19에서 IAM 추천자를 처음 선보인 이래 Google은 Uber와 Veolia Group 등 여러 대규모 조직과의 협력해 왔으며 IAM 추천을 사용하여 환경 보안을 강화하면서도 부여된 권한의 수를 줄일 수 있도록 도움을 주었습니다. 이제 IAM 추천자가 Google의 새로운 Active Assist 포트폴리오의 일부로서 GA로 제공되어 프로젝트를 최소 권한으로 이전하면서도 사용자 측의 수동 작업이 크게 필요하지 않은 IAM 정책에 대한 안전하고 실용적인 컨텍스트 내 변경을 제공합니다.
프랑스의 리소스 관리 회사인 Veolia Group은 전 세계에 171,000명의 직원을 보유하고 있으며 Google Cloud에서 약 87,000건의 프로젝트를 관리합니다. Veolia는 위험을 더 잘 파악하고 프로젝트 소유자의 의사결정을 돕기 위해 IAM 추천자의 데이터를 사용하여 프로덕션 프로젝트의 일회성 정리 활동을 실시했습니다.
“IAM 추천자를 통해 초기 정리 활동에서 120만 개의 권한을 확실히 줄이면서 1,000개가 넘는 사용자 계정 및 서비스 계정을 확보했습니다. 덕분에 공격이 성공할 가능성이 낮아졌습니다.” -Veolia Group
Veolia의 혁신 여정에 대한 자세한 내용은 Google Cloud Next ‘20: OnAir 소그룹 세션인 Policy Intelligence를 통한 최소 권한 액세스 달성에서 들을 수 있습니다.
Uber와 같은 고객은 IAM 추천자 외에도 혁신적인 솔루션을 개발하여 보안 장비를 자동화했습니다. Uber는 IAM 추천자를 사용하여 어떤 역할 삭제를 자동화할 수 있으며 어떤 부분을 사람이 확인해야 하는지 결정하는 위험 엔진을 사용하여 매일 편집자 역할을 삭제합니다. 모든 변경사항을 감사하고 추적할 목적으로 JIRA 티켓이 열려 있습니다.
“IAM 추천자를 통해 GCP 인프라에서 과도하게 할당된 상당수의 권한을 파악한 덕분에 최소 권한을 달성하려는 목표에 한 걸음 더 다가갈 수 있었습니다.” -Uber
Uber의 아키텍처에 대한 자세한 내용은 소그룹 세션인 IAM 추천자를 통한 권한 최소화에서 들을 수 있습니다.
시작하기 위한 권장사항
Google은 Uber, Veolia 등 여러 기업과의 협업을 통해 손쉽게 최소 권한을 달성하는 데 도움이 되는 권장사항을 파악했습니다.
#1 측면 이동 (lateral movement) 위협 완화
프로젝트가 여러 개인 경우 어떤 추천을 먼저 적용할지 결정하는 데 도움이 되도록 추천의 중요도 또는 순위를 파악하는 우선순위 프레임워크부터 구축하는 것이 좋습니다. 먼저 프로젝트 및 서비스 계정에 iam.service.actAs 권한을 부여하는 역할 binding을 살펴보시기 바랍니다. 주 구성원은 이 권한을 통해 코드를 서비스 계정으로 실행하고 해당 코드를 사용하여 주 구성원이 액세스해서는 안 되는 리소스에 액세스할 수도 있습니다. 이렇게 하면 서비스 계정 명의 도용을 통한 측면 이동 위협을 방지할 수 있습니다.
#2 기존 역할에서 마이그레이션
기존 소유자(역할/소유자)와 편집자(역할/편집자) 역할을 사용하지 않는 것이 좋습니다. IAM 추천자를 사용하여 액세스 범위를 더욱 세분화된 역할로 좁힙니다. IAM 추천자는 이러한 기존 역할에서 더 작은 여러 역할로 마이그레이션하는 경로를 제공합니다. 이는 기본적으로 편집자 역할이 주어지는 서비스 계정에 특히 중요합니다.
#3 빅데이터 분석을 통한 추천 분석
이제 BigQuery와의 즉시 통합이 지원됩니다. 이를 통해 모든 추천을 BigQuery 테이블로 내보내 Data Studio와 같은 Google 도구를 통해 추가적으로 분석할 수 있습니다. 이 기법을 사용하여 조직 수준의 커스텀 보고서를 작성할 수 있습니다. 예를 들어 여러 프로덕션 워크로드에 걸친 과도한 프로비저닝을 확인하거나 특정 서비스 계정에 부여된 권한 사용을 분석하려는 경우 이제 손쉽게 이러한 작업을 수행할 수 있습니다.
#4 검토를 위한 거버넌스 프로세스 구축
ID 거버넌스 및 관리나 액세스 인증 도구로 추천을 내보냅니다. 이를 통해 분기별 리소스 소유자 또는 사용자 관리자 증명 속도가 향상됩니다.
#5 자동화를 위한 후보 사용 사례 파악
초기 정리를 완료한 후에는 자동화를 위한 후보 사용 사례를 파악합니다. 소유자/편집자 역할 또는 분리된 사용자가 있는 구성원이 그런 사례에 해당합니다. 이를 통해 엔지니어와 프로젝트 소유자에게 충분한 권한을 부여할 수 있기 때문에 지나친 요청을 하거나 실수를 저지르지 않을까 걱정할 필요가 없습니다. 처음부터 데이터 품질이 뛰어나기 때문에 불필요한 권한을 자동으로 제거할 수 있게 됩니다. 그러면 위험에 대한 경각심을 높이고 속도와 보안을 보다 균형 있게 유지하는 문화를 조성하기 위한 노력을 기울일 수 있습니다.
자세한 내용은 IAM 추천자 권장사항 페이지를 참조하세요.
자세히 알아보기
클라우드가 도입되기 전에 권한을 최소 권한에 가깝게 축소하고자 했다면 데이터를 역할 마이닝 도구 또는 스프레드시트에 연결한 다음 팀에서 몇 주에 걸쳐 분석했을 것입니다. 추천이 ML에서 생성되고 즉시 적용될 수 있기 때문에 Google은 이 과정에 소요되는 시간과 노력을 크게 줄였으며 데이터를 수집하고 상관관계를 파악하는 복잡한 작업도 백엔드에서 수행했습니다.
동영상에서 작동 방식을 자세히 알아보세요.

이러한 작업 방식에 대한 내부 작동 원리는 두 번째 블로그인 비하인드 스토리: Google Cloud에서 IAM 추천을 지원하는 보안 분석에서 이어지며 보다 자세한 내용은 Cloud IAM 추천자를 지원하는 머신러닝 모델 살펴보기를 참조하세요.
IAM 추천자 및 Active Assist에 대해 자세히 알아보려면 다음 링크를 클릭하세요. Google 고객이 최소 권한 문제를 해결한 실질적인 방법을 알아보려면 다음과 같은 Google Cloud Next ‘20: OnAir 세션에 참여하세요.

