권장사항으로 최소 권한 적용

이 페이지에서는 Cloud IAM 추천자에 대한 개요를 제공합니다. Cloud IAM 추천자는 구성원에게 실제로 필요한 권한만 부여하여 최소 권한 원칙을 적용하도록 도와줍니다.

Cloud IAM 추천자 작동 방식

Cloud IAM은 추천자를 사용하여 프로젝트 수준 역할 부여를 각 구성원이 지난 90일 동안 사용한 권한과 비교합니다. 프로젝트 수준 역할을 구성원에게 부여하고 구성원이 역할의 권한을 일부만 사용하는 경우 Cloud IAM 추천자는 역할을 취소하도록 추천할 가능성이 높습니다. 필요하다면 Cloud IAM 추천자는 더 낮은 수준의 허가 역할을 대체 역할로 추천합니다.

Cloud IAM 추천자는 구성원이 지난 90일 동안 권한을 사용하지 않았더라도 구성원에게 향후 필요할 수 있는 권한을 식별하기 위해 머신러닝을 사용합니다.

Cloud IAM 추천자는 자동으로 권장사항을 적용하지 않습니다. 대신 각 권장사항을 검토하고 권장사항을 적용하거나 취소해야 합니다.

Cloud IAM 추천자는 프로젝트 수준에서 작성되었으며 최소 90일 동안 존재하는 역할 부여만 평가합니다. 다음 항목은 평가하지 않습니다.

각 구성원이 사용하는 권한

클라우드 IAM 추천자는 추천을 만들기 위해 지난 90일 동안 각 구성원이 사용한 권한을 식별합니다. 다음은 구성원이 권한을 사용할 수 있는 몇 가지 방법입니다.

  • 직접 - 권한이 필요한 API 호출

    예를 들어 Cloud IAM REST API의 roles.list 메서드에는 iam.roles.list 권한이 필요합니다. roles.list 메서드를 호출할 때 iam.roles.list 권한을 사용합니다.

  • 간접 - Google Cloud Console을 사용하여 Google Cloud 리소스와 연동

    예를 들어 Cloud Console에서 변경하는 설정에 따라 다른 권한이 필요한 Compute Engine 가상 머신(VM) 인스턴스를 수정할 수 있습니다. 하지만 Cloud Console에는 기존 설정도 표시되며 이를 위해 compute.instances.get 권한이 필요합니다.

    따라서 Cloud Console에서 VM 인스턴스를 편집할 때 compute.instances.get 권한을 사용합니다.

머신러닝

구성원이 작업을 수행하기 위해 지난 90일 동안 사용되지 않은 권한이 필요한 경우가 있습니다. Cloud IAM 추천자는 구성원에게 필요할 가능성이 있는 추가 권한을 식별하기 위해 머신 러닝(ML) 모델을 사용합니다.

Cloud IAM 추천자의 머신 러닝 모델은 여러 신호 세트에 대해 학습합니다.

  • 관찰된 내역의 공통 출현 패턴: 이전에 사용자가 A, B, C 권한을 사용했다는 사실은 A, B, C가 어떤 식으로든 관련이 있을 수 있다는 힌트를 제공하며 Google Cloud에서 작업을 수행하는 데 필요하다는 점입니다. ML 모델이 이 패턴을 자주 관찰하면 다른 사용자가 A와 B 권한을 사용할 때 모델에서 사용자에게 권한 C가 필요할 것이라고 제안합니다.

  • 역할 정의에 인코딩된 도메인 지식: Cloud IAM은 서비스별로 수백 가지의 사전 정의된 역할을 제공합니다. 사전 정의된 역할에 권한 집합이 포함되어 있으면 권한이 함께 부여되어야 한다는 강력한 신호입니다.

이러한 신호 외에도 모델은 단어 임베딩을 사용하여 권한이 의미적으로 유사한 방식을 계산합니다. 의미적으로 비슷한 권한은 임베딩 후에 서로 '가까워'지고 함께 부여될 가능성이 높습니다. 예를 들어 bigquery.datasets.getbigquery.tables.list는 임베딩 후 서로 매우 가까워집니다.

Cloud IAM 추천자 머신 러닝 파이프 라인에 사용 된 모든 데이터는 k-anonymity이므로 익명화된 데이터 세트의 개인을 다시 식별할 수 없습니다. 이러한 익명성 수준을 달성하기 위해 각 권한 사용 패턴과 관련된 사용자 ID와 같은 개인 식별 정보(PII)를 모두 삭제합니다. 그런 다음 Google Cloud 전체에 자주 표시되지 않는 사용 패턴을 모두 삭제합니다. 글로벌 모델은 이 익명화된 데이터에 대해 학습되어 있습니다.

데이터를 내보내지 않고 머신 러닝 모델을 학습시키는 머신 러닝 프로세스인 제휴 학습을 사용하여 조직별로 글로벌 모델을 맞춤 설정할 수 있습니다.

감사 로깅

권장사항을 적용하거나 취소하면 Cloud IAM 추천자가 로그 항목을 만듭니다. 이러한 항목은 Cloud IAM 추천자에서 보거나 Google Cloud 감사 로그에서 볼 수 있습니다.

기타 액세스 제어 유형

일부 Google Cloud 서비스는 Cloud IAM과 별개로 액세스 제어를 제공합니다. 예를 들어 Cloud Storage는 액세스제어 목록(ACL)을 제공하며 Google Kubernetes Engine(GKE)은 역할 기반 액세스 제어(RBAC)를 지원합니다.

Cloud IAM 추천자는 Cloud IAM 액세스 제어만 분석합니다. 다른 유형의 액세스 제어를 사용하는 경우 권장사항을 검토할 때 특히 주의하고 이러한 액세스 제어가 Cloud IAM 정책과 어떤 관련이 있는지 고려합니다.

역할 추천의 예

다음 예는 수신할 수 있는 추천 유형을 보여줍니다.

기존 역할 취소

사용자 fuyo@example.com 프로젝트에 맞춤 역할이 부여되었습니다. 맞춤 역할에는 하나의 권한 iam.serviceAccounts.actAs이 포함되며, 이는 fuyo@example.com에 서비스 계정 역할을 할 수 있는 기능을 부여합니다. 그러나 지난 90일 동안 fuyo@example.com은 해당 프로젝트에서 서비스 계정 역할을 하지 않았습니다.

따라서 Cloud IAM 추천자는 fuyo@example.com에서 맞춤 역할을 취소할 것을 제안합니다.

기존 역할 바꾸기

서비스 계정에 프로젝트에 대한 소유자 역할(roles/owner)이 부여되었습니다. 이 기본 역할에는 2,500개 이상의 권한이 포함되며 거의 무제한으로 프로젝트에 액세스할 수 있습니다. 그러나 지난 90일 동안 서비스 계정은 몇 백 개의 권한만 사용했습니다.

따라서 Cloud IAM 추천자는 소유자 역할을 취소하고 4개의 다른 역할 조합으로 대체하여 수천 개의 권한을 삭제할 것을 제안합니다.

머신 러닝에서 제안한 권한 추가

서비스 계정에 프로젝트에 대한 편집자 역할(roles/editor)이 부여되었습니다. 이 기본 역할에는 2,000개 이상의 권한이 포함되며 프로젝트에 대한 광범위한 액세스 권한이 부여됩니다. 그러나 지난 90일 동안 서비스 계정은 10개 미만의 사용 권한을 사용했습니다.

따라서 Cloud IAM 추천자는 편집자 역할을 취소하고 이를 Storage 객체 관리자 역할(storage.objectAdmin)로 대체할 것을 제안합니다. 이는 Cloud Storage 버킷에서 객체를 관리할 수 있는 전체 권한을 부여합니다. 이 변경으로 인해 수천 개의 권한이 제거되었습니다.

이 역할에는 서비스 계정에서 지난 90일 동안 사용하지 않은 여러 가지 권한이 포함됩니다. 그러나 Cloud IAM 추천자는 머신 러닝을 사용하여 향후 서비스 계정에 이러한 권한이 필요하다고 예측합니다.

클라우드 IAM 추천자는 머신 러닝 아이콘을 사용하여 추가 권한을 식별합니다. 이 예에서는 머신 러닝을 기반으로 resourcemanager.projects.get 권한이 추천되었습니다.

필수 권한

이 섹션에서는 Cloud IAM 추천자를 사용하기 위해 필요한 Cloud IAM 권한에 대해 설명합니다.

권장사항 보기

Cloud IAM 추천자의 권장사항을 보려면 현재 보고 있는 프로젝트에 대해 다음 권한이 있어야 합니다.

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • resourcemanager.projects.getIamPolicy

최소 권한 원칙을 준수하면서 이러한 권한을 얻으려면 관리자에게 다음과 같은 사전 정의된 역할을 부여할 것을 요청합니다.

  • 역할 뷰어(roles/iam.roleViewer)
  • IAM 추천자 뷰어(roles/recommender.iamViewer) 또는 IAM 보안 검토자(roles/iam.securityReviewer)

또는 관리자가 커스텀 역할이나 더 많은 권한이 있는 사전 정의된 역할 등 필요한 권한을 포함하는 다른 역할을 부여할 수 있습니다.

추천 적용 및 취소

Cloud IAM 추천자의 권장 사항을 적용하거나 취소하려면 관리 중인 프로젝트에 대해 다음 권한이 있어야 합니다.

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

최소 권한 원칙을 준수하면서 이러한 권한을 얻으려면 관리자에게 다음과 같은 사전 정의된 역할을 부여할 것을 요청합니다.

  • 역할 뷰어(roles/iam.roleViewer)
  • IAM 추천자 관리자(roles/recommender.iamAdmin)
  • 프로젝트 IAM 관리자(roles/resourcemanager.projectIamAdmin)

또는 관리자가 커스텀 역할이나 더 많은 권한이 있는 사전 정의된 역할 등 필요한 권한을 포함하는 다른 역할을 부여할 수 있습니다.

다음 단계