Identity and Access Management (IAM)를 사용하면 프로젝트 리소스에 대한 액세스를 제어할 수 있습니다. 이 문서에서는 Apache Spark용 서버리스와 관련된 IAM 권한과 해당 권한이 부여된 IAM 역할에 대해 집중적으로 다룹니다.
Apache Spark용 서버리스의 Dataproc 권한
Dataproc 권한을 통해 사용자와 서비스 계정은 Apache Spark용 서버리스 리소스에서 작업을 수행할 수 있습니다. 예를 들어 dataproc.batches.create 권한이 있으면 프로젝트에서 배치 워크로드를 만들 수 있습니다.
사용자에게 권한을 직접 부여하는 대신 하나 이상의 권한이 번들로 포함된 IAM 역할을 부여합니다. 권한 목록이 포함된 사전 정의된 역할을 부여하거나 커스텀 역할에 포함할 하나 이상의 권한이 포함된 커스텀 역할을 만들어 부여할 수 있습니다.
다음 표에는 Serverless for 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 |
Apache Spark용 서버리스 역할 요구사항
다음 표에는 일괄 워크로드와 세션을 관리하는 데 필요한 권한이 포함된 역할이 나와 있습니다. 요구사항은 배치 또는 세션 런타임 버전과 배치 또는 세션이 서비스 계정 또는 최종 사용자 사용자 인증 정보 (EUC)로 실행되는지에 따라 다를 수 있습니다.
| 런타임 버전 | IAM 역할 |
|---|---|
pre-3.0 |
사용자에게 다음 역할을 부여합니다.
|
3.0명 이상 |
사용자에게 다음 역할을 부여합니다.
|
참고:
일괄 워크로드를 제출하거나
3.0+런타임 및 최종 사용자 사용자 인증 정보 (3.0 이상 기본값)로 대화형 세션을 만들면 데이터 플레인 시스템 작업이 Dataproc 리소스 관리자 노드 서비스 에이전트에 의해 실행됩니다. 자세한 내용은 3.0 이상 런타임 서비스 에이전트 서비스 계정을 참고하세요.이전 버전과의 호환성을 위해 기존 Dataproc 편집자 및 Dataproc 뷰어 역할은 Dataproc Serverless 편집자 및 Dataproc Serverless 뷰어 역할 대신
3.0+런타임으로 부여할 수 있습니다. Dataproc Serverless 노드 역할 대신 Dataproc 작업자 역할을 부여할 수도 있습니다.서비스 계정에 프로젝트 편집자 역할이 부여된 경우 Dataproc 작업자 역할에 포함된 권한이 포함됩니다.
자세한 내용은 Apache Spark용 서버리스 서비스 계정을 참고하세요.
역할을 부여해야 하나요?
조직 정책에 따라 필수 역할이 이미 부여되었을 수 있습니다.
사용자에게 부여된 역할 확인
사용자에게 역할이 부여되었는지 확인하려면 프로젝트, 폴더, 조직에 대한 액세스 관리 > 현재 액세스 권한 보기의 안내를 따르세요.
서비스 계정에 부여된 역할 확인
서비스 계정에 역할이 부여되었는지 확인하려면 IAM 서비스 계정 역할 보기 및 관리를 참고하세요.
서비스 계정에 부여된 역할 확인
사용자에게 서비스 계정에 대한 역할이 부여되었는지 확인하려면 서비스 계정에 대한 액세스 관리 > 현재 액세스 보기의 안내를 따르세요.
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 가져오기/설정) 프로젝트 결제를 설정할 수 있는 권한이 추가된 모든 프로젝트 편집자 권한 |
다음 단계
- 프로젝트, 폴더, 조직에 대한 액세스 관리 방법을 알아보세요.