IAM 역할 및 권한

이 문서에는 워크로드 관리자 평가를 사용하고 평가를 실행하기 위한 워크로드 관리자 서비스 계정을 자동으로 만드는 데 필요한 다양한 프로젝트의 역할과 권한이 나열되어 있습니다.

워크로드 관리자 프로젝트

워크로드 관리자 평가에서는 타겟 프로젝트라고 하는 여러 프로젝트의 리소스를 스캔하지만 평가는 소비자 프로젝트라고 하는 하나의 프로젝트에만 저장됩니다.

Google Cloud 콘솔에서 워크로드 관리자에 액세스하고 평가를 만들고 실행하는 데 소비자 프로젝트를 사용합니다. Google Cloud 콘솔을 사용하여 평가를 만들 때 워크플로의 평가 범위 섹션에서 평가할 리소스가 포함된 타겟 프로젝트를 지정합니다.

평가할 리소스가 워크로드 관리자 평가를 만드는 프로젝트에 있는 경우 소비자 프로젝트도 타겟 프로젝트 중 하나로 간주됩니다.

평가를 만들고 실행하는 데 필요한 권한 요약

다음 표에는 워크로드 관리자를 사용하여 평가를 만들고 실행하는 데 필요한 소비자 및 타겟 프로젝트의 사용자 권한이 요약되어 있습니다. 필요한 권한을 얻으려면 관리자에게 필수 권한이 포함된 역할을 부여해 달라고 요청하거나 커스텀 역할을 만드세요.

작업 소비자 프로젝트 대상 프로젝트
Workload Manager API 사용 설정 권한:
serviceusage.services.enable

권한이 포함된 사전 정의된 역할:
roles/serviceusage.serviceUsageAdmin
없음
평가 생성 서비스 계정 생성 권한:
resourcemanager.projects.setIamPolicy

권한이 포함된 사전 정의된 역할:
roles/resourcemanager.projectIamAdmin

첫 번째 평가를 만들 때만 필요합니다.

평가를 만들 권한을 부여하는 사전 정의된 역할:
roles/workloadmanager.evaluationAdmin

알림 알림을 만들 권한을 부여하는 사전 정의된 역할:
roles/monitoring.metricWriter

맞춤 규칙을 사용하여 평가를 만들려면 다음 추가 권한이 필요합니다.

Cloud 애셋 인벤토리 데이터를 읽을 수 있는 권한을 부여하는 사전 정의된 역할:
roles/cloudasset.owner

Cloud Storage 버킷에 저장된 규칙을 읽을 권한을 부여하는 사전 정의된 역할:
roles/storage.objectViewer

평가 결과를 BigQuery 데이터 세트에 쓸 수 있는 권한을 부여하는 사전 정의된 역할:
roles/bigquery.admin

서비스 계정 생성 권한:
resourcemanager.projects.setIamPolicy

권한이 포함된 사전 정의된 역할:
roles/resourcemanager.projectIamAdmin

첫 번째 평가를 만들 때만 필요합니다.

평가 실행 권한:
workloadmanager.evaluations.run

권한이 포함된 사전 정의된 역할:
roles/workloadmanager.evaluationAdmin

없음

평가 결과 보기 권한:
workloadmanager.results.list

권한이 포함된 사전 정의된 역할:
roles/workloadmanager.evaluationAdmin
또는
roles/workloadmanager.evaluationViewer
없음

워크로드 관리자 서비스 에이전트

워크로드 관리자는 서비스 에이전트를 사용하여 리소스와 연결된 프로젝트 간의 액세스 및 통신을 제어합니다.

Google Cloud console 또는 워크로드 관리자 API를 사용하여 워크로드를 평가할 수 있습니다. Google Cloud console를 사용하는 경우 워크로드 관리자가 필요한 모든 서비스 에이전트를 자동으로 만듭니다. Workload Manager API를 사용하는 경우 서비스 에이전트를 수동으로 만들어야 합니다.

필요한 역할

서비스 에이전트를 만드는 데 필요한 권한을 얻으려면 관리자에게 범위 내 각 타겟 프로젝트에 대한 프로젝트 IAM 관리자 (roles/resourcemanager.projectIamAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 서비스 에이전트를 만드는 데 필요한 resourcemanager.projects.setIamPolicy 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

서비스 에이전트 만들기 및 역할 부여

Google Cloud 콘솔

Google Cloud console 를 사용하여 워크로드를 평가하면 워크로드 관리자가 소비자 프로젝트에 서비스 에이전트를 자동으로 만듭니다.

이 서비스 에이전트의 이메일 주소는 service-PROJECT_NUMBER@gcp-sa-workloadmanager.iam.gserviceaccount.com이며, 워크로드 관리자 서비스 계정이라고 합니다.

워크로드 관리자 서비스 에이전트가 평가를 실행하려면 다음 역할이 필요합니다. 메시지가 표시되면 서비스 에이전트에 이러한 역할을 부여합니다.

  • 워크로드 관리자 서비스 에이전트 (roles/workloadmanager.serviceAgent): 대상 프로젝트에 필요합니다.
  • 워크로드 관리자 작업자 (roles/workloadmanager.worker): 평가 빈도를 설정한 경우에만 소비자 프로젝트에서 필요합니다.

Workload Manager API

워크로드 관리자 API를 사용하여 워크로드를 평가하는 경우 평가를 만들기 전에 소비자 프로젝트에서 워크로드 관리자 서비스 에이전트를 수동으로 만들어야 합니다. 서비스 에이전트를 만들려면 gcloud beta services identity create 명령어를 사용합니다.

  gcloud beta services identity create --service=workloadmanager.googleapis.com  \
      --project=PROJECT_NUMBER

PROJECT_NUMBER를 서비스 에이전트를 만들려는 소비자 프로젝트의 숫자 ID로 바꿉니다.

서비스 에이전트를 만든 후에는 서비스 에이전트에 다음 역할을 부여해야 합니다.

  • 워크로드 관리자 서비스 에이전트 (roles/workloadmanager.serviceAgent): 대상 프로젝트에 필요합니다.
  • 워크로드 관리자 작업자 (roles/workloadmanager.worker): 평가 빈도를 설정한 경우에만 소비자 프로젝트에서 필요합니다.

자세한 내용은 서비스 에이전트에 역할 부여를 참고하세요.

추가 워크로드 관리자 역할

사용자가 워크로드 관리자 평가 및 리소스에 대한 액세스 권한을 추가로 제어하려면 추가 워크로드 관리자 역할이 필요합니다.

자세한 내용은 Workload Manager: IAM으로 액세스 제어를 참고하세요.

다음 단계