Identity and Access Management (IAM)를 사용하면 프로젝트 리소스에 대한 액세스를 제어할 수 있습니다. 이 문서에서는 Apache Spark용 서버리스와 관련된 IAM 권한과 해당 권한이 부여된 IAM 역할에 대해 집중적으로 다룹니다.
Apache Spark용 서버리스의 Dataproc 권한
Dataproc 권한을 통해 사용자 및 서비스 계정은 Apache Spark용 서버리스 리소스에서 작업을 수행할 수 있습니다. 예를 들어 dataproc.batches.create
권한이 있으면 프로젝트에서 배치 워크로드를 만들 수 있습니다.
사용자에게 권한을 직접 부여하는 대신 하나 이상의 권한이 번들로 포함된 IAM 역할을 부여합니다. 권한 목록이 포함된 사전 정의된 역할을 부여하거나 커스텀 역할에 포함할 하나 이상의 권한이 포함된 커스텀 역할을 만들어 부여할 수 있습니다.
다음 표에는 Apache Spark용 서버리스 리소스를 만들거나 액세스하는 Dataproc API (메서드)를 호출하는 데 필요한 기본 권한이 나와 있습니다. 표는 각 Serverless for Apache Spark 리소스와 연결된 API에 따라 구성됩니다. 여기에는 batches
, sessions
, sessionTemplates
, operations
이 포함됩니다.
예:
dataproc.batches.create
는 포함된 프로젝트에서 배치를 만들도록 허용합니다.dataproc.sessions.create
를 사용하면 포함된 프로젝트에서 대화형 세션을 만들 수 있습니다.
배치 권한
메서드 | 필수 권한 |
---|---|
projects.locations.batches.create | dataproc.batches.create 1 |
projects.locations.batches.delete | dataproc.batches.delete |
projects.locations.batches.get | dataproc.batches.get |
projects.locations.batches.list | dataproc.batches.list |
1 dataproc.batches.create
는 또한 gcloud
명령줄 도구에서 상태 업데이트를 가져오도록 허용하기 위해 dataproc.batches.get
및 dataproc.operations.get
권한이 필요합니다.
세션 권한
메서드 | 필수 권한 |
---|---|
projects.locations.sessions.create | dataproc.sessions.create 1 |
projects.locations.sessions.delete | dataproc.sessions.delete |
projects.locations.sessions.get | dataproc.sessions.get |
projects.locations.sessions.list | dataproc.sessions.list |
projects.locations.sessions.terminate | dataproc.sessions.terminate |
1 dataproc.sessions.create
는 또한 gcloud
명령줄 도구에서 상태 업데이트를 가져오도록 허용하기 위해 dataproc.sessions.get
및 dataproc.operations.get
권한이 필요합니다.
세션 템플릿 권한
메서드 | 필수 권한 |
---|---|
projects.locations.sessionTemplates.create | dataproc.sessionTemplates.create 1 |
projects.locations.sessionTemplates.delete | dataproc.sessionTemplates.delete |
projects.locations.sessionTemplates.get | dataproc.sessionTemplates.get |
projects.locations.sessionTemplates.list | dataproc.sessionTemplates.list |
projects.locations.sessionTemplates.update | dataproc.sessionTemplates.update |
1 dataproc.sessionTemplates.create
는 또한 gcloud
명령줄 도구에서 상태 업데이트를 가져오도록 허용하기 위해 dataproc.sessionTemplates.get
및 dataproc.operations.get
권한이 필요합니다.
작업 권한
메서드 | 필수 권한 |
---|---|
projects.regions.operations.get | dataproc.operations.get |
projects.regions.operations.list | dataproc.operations.list |
projects.regions.operations.cancel 1 | dataproc.operations.cancel |
projects.regions.operations.delete | dataproc.operations.delete |
projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
1 배치 작업을 취소하려면 dataproc.operations.cancel
에 dataproc.batches.cancel
권한도 필요합니다.
Apache Spark 3.0 이상 런타임 권한용 서버리스
Apache Spark용 서버리스 3.0
및 이후 런타임에 적용되는 권한은 다음과 같습니다.
워크로드 권한
메서드 | 필수 권한 |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.create | dataprocrm.workloads.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.cancel | dataprocrm.workloads.cancel |
dataprocrm.v1.dataprocrm.projects.locations.workloads.delete | dataprocrm.workloads.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.get | dataprocrm.workloads.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.list | dataprocrm.workloads.list |
dataprocrm.v1.dataprocrm.projects.locations.workloads.use | dataprocrm.workloads.use |
NodePools 권한
메서드 | 필수 권한 |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.create | dataprocrm.nodePools.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.delete | dataprocrm.nodePools.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.resize | dataprocrm.nodePools.resize |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.deleteNodes | dataprocrm.nodePools.deleteNodes |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.update | dataprocrm.nodePools.update |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.get | dataprocrm.nodePools.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.list | dataprocrm.nodePools.list |
노드 권한
메서드 | 필수 권한 |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.create | dataprocrm.nodes.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.delete | dataprocrm.nodes.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.update | dataprocrm.nodes.update |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.heartbeat | dataprocrm.nodes.heartbeat |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.get | dataprocrm.nodes.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.list | dataprocrm.nodes.list |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.mintOAuthToken | dataprocrm.nodes.mintOAuthToken |
작업 권한
메서드 | 필수 권한 |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Dataproc 및 서버리스 Dataproc 역할
Dataproc IAM 역할에는 Dataproc 및 Apache Spark용 Serverless 리소스와 관련된 권한이 모두 포함될 수 있습니다. 서버리스 Dataproc IAM 역할에는 Apache Spark용 서버리스 리소스와 연결된 권한이 포함됩니다.
예를 들어 Dataproc 뷰어 역할에는 dataproc.batches
및 dataproc.sessions
가져오기 및 나열 권한이 포함되며, 이를 통해 사용자 또는 서비스 계정은 프로젝트에서 배치 워크로드 및 세션을 가져와 나열할 수 있습니다.
사용자 권한 및 역할 요구사항
사용자에게는 일괄 워크로드를 제출하는 등 서버리스 Apache Spark 리소스를 배포할 수 있는 서비스 계정
ActAs
권한이 있어야 합니다. 자세한 내용은 서비스 계정 인증 역할을 참고하세요.Apache Spark용 서버리스
3.0
이상 런타임 역할 요구사항:- 일괄 작업 및 세션을 실행하려면 사용자 계정에 Dataproc 편집자 또는 Dataproc Serverless 편집자 역할이 필요합니다.
- 배치 및 세션을 가져오고 나열하려면 사용자 계정에 Dataproc 뷰어 또는 Dataproc Serverless 편집자 역할이 필요합니다.
- 일괄 작업 및 세션을 실행하려면 맞춤 서비스 계정에 Dataproc 작업자 역할이 필요합니다.
Apache Spark용 서버리스
3.0
런타임과 연결된 서비스 계정에 대한 자세한 내용은 Apache Spark용 서버리스 서비스 계정을 참고하세요.
Dataproc 역할 및 권한 조회
다음 섹션을 사용하여 Dataproc 역할과 권한을 조회할 수 있습니다.
Role | Permissions |
---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Dataproc, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Hub Agent( Allows management of Dataproc resources. Intended for service accounts running Dataproc Hub instances. |
|
Dataproc Serverless Editor( Permissions needed to run serverless sessions and batches as a user |
|
Dataproc Serverless Node.( Node access to Dataproc Serverless sessions and batches. Intended for service accounts. |
|
Dataproc Serverless Viewer( Permissions needed to view serverless sessions and batches |
|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Dataproc Viewer( Provides read-only access to Dataproc resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Worker( Provides worker access to Dataproc resources. Intended for service accounts. |
|
프로젝트 역할
IAM 프로젝트 역할을 사용하여 프로젝트 수준에서 권한을 설정할 수도 있습니다. 다음 표에는 IAM 프로젝트 역할과 관련된 권한이 요약되어 있습니다.
프로젝트 역할 | 권한 |
---|---|
프로젝트 뷰어 | 상태를 보존하는 읽기 전용 작업에 대한 모든 프로젝트 권한(가져오기, 표시) |
프로젝트 편집자 | 모든 프로젝트 뷰어 권한에 더해 상태를 수정하는 작업에 대한 모든 프로젝트 권한(만들기, 삭제, 업데이트, 사용, 취소, 중지, 시작) |
프로젝트 소유자 | 모든 프로젝트 편집자 권한에 더해 프로젝트에 대한 액세스 제어를 관리하고(IamPolicy 가져오기/설정) 프로젝트 결제를 설정하는 권한 |
다음 단계
- 프로젝트, 폴더, 조직에 대한 액세스 관리 방법을 알아보세요.