개요
프로젝트 또는 조직 내 사용자의 액세스를 제한하려면 Dataflow의 ID 및 액세스 관리(IAM) 역할을 사용하면 됩니다. 사용자에게 전체 Google Cloud 프로젝트에 대한 뷰어, 편집자 또는 소유자 액세스 권한을 부여하는 대신 Dataflow 관련 리소스에 대한 액세스 권한을 제한할 수 있습니다.
이 페이지에서는 Dataflow의 IAM 역할을 사용하는 방법을 주로 설명합니다. IAM과 그 기능에 대한 자세한 설명은 IAM 문서를 참조하세요.
모든 Dataflow 메서드는 호출자에게 필요 권한을 요구합니다. Dataflow가 지원하는 권한과 역할 목록은 다음 섹션을 참조하세요.
권한 및 역할
이 섹션에는 Dataflow IAM이 지원하는 권한과 역할이 요약되어 있습니다.
필수 권한
다음 표에는 호출자가 각 메소드를 호출하는 데 필요한 권한이 있습니다.
메서드 | 필수 권한 |
---|---|
dataflow.jobs.create |
dataflow.jobs.create |
dataflow.jobs.cancel |
dataflow.jobs.cancel |
dataflow.jobs.updateContents |
dataflow.jobs.updateContents |
dataflow.jobs.list |
dataflow.jobs.list |
dataflow.jobs.get |
dataflow.jobs.get |
dataflow.messages.list |
dataflow.messages.list |
dataflow.metrics.get |
dataflow.metrics.get |
dataflow.jobs.snapshot |
dataflow.jobs.snapshot |
역할
다음 표에는 Dataflow IAM 역할과 각 역할에 포함된 모든 권한 목록이 나열되어 있습니다. 모든 권한은 특정 리소스 유형에 적용할 수 있습니다.
역할 | 이름 | 설명 | 권한 | 최하위 리소스 |
---|---|---|---|---|
roles/ |
Dataflow 관리자 | Dataflow 작업을 만들고 관리하기 위한 최소한의 역할입니다. |
|
|
roles/ |
Dataflow 개발자 | Dataflow 작업을 실행 및 조작하는 데 필요한 권한을 제공합니다. |
|
프로젝트 |
roles/ |
Dataflow 뷰어 | 모든 Dataflow 관련 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. |
|
프로젝트 |
roles/ |
Dataflow 작업자 | Compute Engine 서비스 계정에서 Dataflow 파이프라인의 작업 단위를 실행하는 데 필요한 권한을 제공합니다. |
|
프로젝트 |
Dataflow 작업자 역할(roles/dataflow.worker
)은 Compute Engine 서비스 계정에서 Apache Beam 파이프라인의 작업 단위를 실행하는 데 필요한 권한 (dataflow.workItems.lease
, dataflow.workItems.update
, dataflow.workItems.sendMessage
)을 제공합니다. 일반적으로는 이러한 계정에만 역할이 할당되어야 하고, Dataflow 서비스에서 작업을 요청하고 업데이트할 수 있는 기능만 포함해야 합니다.
Dataflow 서비스 에이전트 역할(roles/dataflow.serviceAgent
)은 Dataflow 서비스 계정에 관리형 리소스에 대한 액세스 권한을 부여합니다. 이 서비스 에이전트 역할은 Dataflow 프로젝트를 만들 때 Dataflow 서비스 계정에 할당됩니다.
작업 만들기
작업을 만들려면 작업을 실행하고 조사하는 데 필요한 최소한의 권한 집합이 포함된 roles/dataflow.admin
이 필요합니다.
또는 다음 권한이 필요합니다.
- 작업 자체를 인스턴스화할 수 있는
roles/dataflow.developer
역할 - 머신 유형 정보에 액세스하고 다른 설정을 볼 수 있는
roles/compute.viewer
역할 - Cloud Storage에서 파일 스테이징 권한을 제공할 수 있는
roles/storage.objectAdmin
역할
역할 할당의 예시
다양한 Dataflow 역할의 유용성을 파악하려면 다음 분석을 살펴보세요.
- 작업을 만들고 검사하는 개발자에게는
roles/dataflow.admin
역할이 필요합니다. - 권한을 더 정교하게 관리하려면 Dataflow 작업과 상호작용하는 개발자에게
roles/dataflow.developer
역할이 필요합니다.- 필수 파일을 스테이징하려면
roles/storage.objectAdmin
또는 관련 역할이 필요합니다. - 디버깅 및 할당량을 확인하려면 프로젝트
roles/compute.viewer
역할이 필요합니다. - 다른 역할 할당이 없으면 개발자는 이 역할을 통해 Dataflow 작업을 만들고 취소할 수 있지만 개별 VM과 상호작용하거나 다른 Cloud 서비스에 액세스할 수 없습니다.
- 필수 파일을 스테이징하려면
- Dataflow 서비스의 데이터를 처리하려면 컨트롤러 서비스 계정에
roles/dataflow.worker
역할이 필요합니다. 작업 데이터에 액세스하려면 서비스 계정에 다른 역할(예:roles/storage.objectAdmin
)이 필요합니다.
Dataflow 역할 할당
현재 조직과 프로젝트에만 Dataflow 역할을 설정할 수 있습니다.
조직 수준에서 역할을 관리하려면 IAM을 사용하여 조직 액세스 제어를 참조하세요.
프로젝트 수준 역할을 설정하려면 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.