BigQuery IAM 역할 및 권한

이 문서에서는 BigQuery의 Identity and Access Management(IAM) 역할과 권한에 대한 정보를 제공합니다. IAM을 사용하면 특정 BigQuery 리소스에 대한 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 액세스를 방지할 수 있습니다. IAM은 최소 권한의 보안 원칙을 적용하여 실제로 필요한 것보다 더 많은 권한을 갖지 않도록 합니다.

주 구성원(사용자, 그룹 또는 서비스 계정)이 Google Cloud API를 호출하는 경우 해당 주 구성원에게 리소스를 사용할 적절한 IAM 권한이 있어야 합니다. 주 구성원에게 필수 권한을 부여하려면 주 구성원에게 IAM 역할을 부여합니다.

이 문서에서는 주 구성원이 BigQuery 리소스에 액세스할 수 있도록 사전 정의된 커스텀 IAM 역할을 사용하는 방법을 설명합니다.

Google Cloud에서 액세스를 관리하는 일반적인 방법을 알아보려면 IAM 개요를 참조하세요.

IAM 역할 유형

역할은 권한 모음입니다. IAM에서 다음 유형의 역할을 사용하여 BigQuery 리소스에 대한 액세스 권한을 제공할 수 있습니다.

  • 사전 정의된 역할은 Google Cloud에서 관리되며 일반적인 사용 사례 및 액세스 제어 패턴을 지원합니다.
  • 커스텀 역할: 사용자 지정 권한 목록에 따라 액세스 권한을 제공합니다.

역할에 하나 이상의 권한이 포함되어 있는지 확인하려면 다음 방법 중 하나를 사용할 수 있습니다.

사용자에게 여러 역할 유형을 할당할 때 부여되는 권한은 각 역할의 권한의 합집합입니다.

리소스 액세스를 위한 IAM 사용에 대한 자세한 내용은 IAM 문서의 리소스 액세스 권한 부여, 변경, 취소를 참조하세요.

커스텀 역할 만들기에 대한 자세한 내용은 IAM 문서의 커스텀 역할 만들기 및 관리를 참조하세요.

BigQuery의 IAM 역할

권한이 사용자, 그룹, 서비스 계정에 직접 할당되지 않습니다. 대신 사용자, 그룹 또는 서비스 계정에 리소스에 대해 작업을 수행할 수 있는 권한을 부여하는 하나 이상의 사전 정의된 역할 또는 커스텀 역할에 대한 액세스 권한이 부여됩니다.

다음 BigQuery 리소스 수준에서 액세스 권한을 부여할 수 있습니다.

  • 조직 또는 Google Cloud 프로젝트 수준
  • 데이터 세트 수준
  • 테이블 또는 뷰 수준

조직 또는 Google Cloud 프로젝트 수준에서 적용된 역할

조직 및 프로젝트 수준에서 역할을 할당하면 BigQuery 작업을 실행하거나 프로젝트의 모든 BigQuery 리소스에 액세스할 수 있는 권한이 제공됩니다.

데이터 세트 수준에서 적용된 역할

프로젝트 리소스에 대한 전체 액세스 권한을 제공하지 않고 데이터 세트 수준에서 역할을 할당하여 특정 데이터 세트에 대한 액세스 권한을 제공할 수 있습니다. Cloud IAM 정책 계층 구조에서 BigQuery 데이터 세트는 프로젝트의 하위 리소스입니다. 데이터 세트 수준에서 역할을 할당하는 방법에 대한 자세한 내용은 데이터 세트에 대한 액세스 제어를 참조하세요.

데이터 세트 내의 개별 리소스에 적용되는 역할

데이터 세트의 리소스에 대해 전체 액세스 권한을 제공하지 않고 데이터 세트 내의 특정 리소스 유형에 대해 개별적으로 역할을 할당할 수 있습니다.

다음 유형의 개별 리소스에는 역할이 적용될 수 있습니다.

  • 테이블

다음 유형의 개별 리소스에는 역할이 적용될 수 없습니다.

  • 루틴
  • 모델

테이블 또는 뷰 수준에서 역할을 할당하는 방법에 대한 자세한 내용은 테이블 또는 뷰에 대한 액세스 제어를 참조하세요.

BigQuery 사전 정의된 IAM 역할

다음 표에서는 사전 정의된 BigQuery IAM 역할과 각 역할에 포함된 모든 권한 목록을 보여줍니다. 각 권한은 특정 리소스 유형에 적용할 수 있습니다.

Role Permissions

(roles/bigquery.admin)

Provides permissions to manage all resources within the project. Can manage all data within the project, and can cancel jobs from other users running within the project.

Lowest-level resources where you can grant this role:

  • Datasets
  • Row access policies
  • Tables
  • Views

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.config.*

  • bigquery.config.get
  • bigquery.config.update

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.jobs.*

  • bigquery.jobs.create
  • bigquery.jobs.delete
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.jobs.listExecutionMetadata
  • bigquery.jobs.update

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.overrideTimeTravelRestrictions

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.savedqueries.*

  • bigquery.savedqueries.create
  • bigquery.savedqueries.delete
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.savedqueries.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

bigquery.transfers.*

  • bigquery.transfers.get
  • bigquery.transfers.update

bigquerymigration.translation.translate

dataform.*

  • dataform.compilationResults.create
  • dataform.compilationResults.get
  • dataform.compilationResults.list
  • dataform.compilationResults.query
  • dataform.locations.get
  • dataform.locations.list
  • dataform.releaseConfigs.create
  • dataform.releaseConfigs.delete
  • dataform.releaseConfigs.get
  • dataform.releaseConfigs.list
  • dataform.releaseConfigs.update
  • dataform.repositories.commit
  • dataform.repositories.computeAccessTokenStatus
  • dataform.repositories.create
  • dataform.repositories.delete
  • dataform.repositories.fetchHistory
  • dataform.repositories.fetchRemoteBranches
  • dataform.repositories.get
  • dataform.repositories.getIamPolicy
  • dataform.repositories.list
  • dataform.repositories.queryDirectoryContents
  • dataform.repositories.readFile
  • dataform.repositories.setIamPolicy
  • dataform.repositories.update
  • dataform.workflowConfigs.create
  • dataform.workflowConfigs.delete
  • dataform.workflowConfigs.get
  • dataform.workflowConfigs.list
  • dataform.workflowConfigs.update
  • dataform.workflowInvocations.cancel
  • dataform.workflowInvocations.create
  • dataform.workflowInvocations.delete
  • dataform.workflowInvocations.get
  • dataform.workflowInvocations.list
  • dataform.workflowInvocations.query
  • dataform.workspaces.commit
  • dataform.workspaces.create
  • dataform.workspaces.delete
  • dataform.workspaces.fetchFileDiff
  • dataform.workspaces.fetchFileGitStatuses
  • dataform.workspaces.fetchGitAheadBehind
  • dataform.workspaces.get
  • dataform.workspaces.getIamPolicy
  • dataform.workspaces.installNpmPackages
  • dataform.workspaces.list
  • dataform.workspaces.makeDirectory
  • dataform.workspaces.moveDirectory
  • dataform.workspaces.moveFile
  • dataform.workspaces.pull
  • dataform.workspaces.push
  • dataform.workspaces.queryDirectoryContents
  • dataform.workspaces.readFile
  • dataform.workspaces.removeDirectory
  • dataform.workspaces.removeFile
  • dataform.workspaces.reset
  • dataform.workspaces.searchFiles
  • dataform.workspaces.setIamPolicy
  • dataform.workspaces.writeFile

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.connectionAdmin)

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

(roles/bigquery.connectionUser)

bigquery.connections.get

bigquery.connections.getIamPolicy

bigquery.connections.list

bigquery.connections.use

(roles/bigquery.dataEditor)

When applied to a table or view, this role provides permissions to:

  • Read and update data and metadata for the table or view.
  • Delete the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • Read the dataset's metadata and list tables in the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.config.get

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.getIamPolicy

bigquery.datasets.updateTag

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.tables.create

bigquery.tables.createIndex

bigquery.tables.createSnapshot

bigquery.tables.delete

bigquery.tables.deleteIndex

bigquery.tables.export

bigquery.tables.get

bigquery.tables.getData

bigquery.tables.getIamPolicy

bigquery.tables.list

bigquery.tables.replicateData

bigquery.tables.restoreSnapshot

bigquery.tables.update

bigquery.tables.updateData

bigquery.tables.updateTag

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.dataOwner)

When applied to a table or view, this role provides permissions to:

  • Read and update data and metadata for the table or view.
  • Share the table or view.
  • Delete the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • Read, update, and delete the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.config.get

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.dataViewer)

When applied to a table or view, this role provides permissions to:

  • Read data and metadata from the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to list all of the resources in the dataset (such as tables, views, snapshots, models, and routines) and to read their data and metadata with applicable APIs and in queries.

When applied at the project or organization level, this role can also enumerate all datasets in the project. Additional roles, however, are necessary to allow the running of jobs.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.datasets.get

bigquery.datasets.getIamPolicy

bigquery.models.export

bigquery.models.getData

bigquery.models.getMetadata

bigquery.models.list

bigquery.routines.get

bigquery.routines.list

bigquery.tables.createSnapshot

bigquery.tables.export

bigquery.tables.get

bigquery.tables.getData

bigquery.tables.getIamPolicy

bigquery.tables.list

bigquery.tables.replicateData

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.filteredDataViewer)

Access to view filtered table data defined by a row access policy

bigquery.rowAccessPolicies.getFilteredData

(roles/bigquery.jobUser)

Provides permissions to run jobs, including queries, within the project.

Lowest-level resources where you can grant this role:

  • Project

bigquery.config.get

bigquery.jobs.create

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.metadataViewer)

When applied to a table or view, this role provides permissions to:

  • Read metadata from the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • List tables and views in the dataset.
  • Read metadata from the dataset's tables and views.

When applied at the project or organization level, this role provides permissions to:

  • List all datasets and read metadata for all datasets in the project.
  • List all tables and views and read metadata for all tables and views in the project.

Additional roles are necessary to allow the running of jobs.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.datasets.get

bigquery.datasets.getIamPolicy

bigquery.models.getMetadata

bigquery.models.list

bigquery.routines.get

bigquery.routines.list

bigquery.tables.get

bigquery.tables.getIamPolicy

bigquery.tables.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.readSessionUser)

Provides the ability to create and use read sessions.

Lowest-level resources where you can grant this role:

  • Project

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceAdmin)

Administers BigQuery workloads, including slot assignments, commitments, and reservations.

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

recommender.bigqueryCapacityCommitmentsInsights.*

  • recommender.bigqueryCapacityCommitmentsInsights.get
  • recommender.bigqueryCapacityCommitmentsInsights.list
  • recommender.bigqueryCapacityCommitmentsInsights.update

recommender.bigqueryCapacityCommitmentsRecommendations.*

  • recommender.bigqueryCapacityCommitmentsRecommendations.get
  • recommender.bigqueryCapacityCommitmentsRecommendations.list
  • recommender.bigqueryCapacityCommitmentsRecommendations.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceEditor)

Manages BigQuery workloads, but is unable to create or modify slot commitments.

bigquery.bireservations.get

bigquery.capacityCommitments.get

bigquery.capacityCommitments.list

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceViewer)

Can view BigQuery workloads, but cannot create or modify slot reservations or commitments.

bigquery.bireservations.get

bigquery.capacityCommitments.get

bigquery.capacityCommitments.list

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.list

bigquery.reservationAssignments.search

bigquery.reservations.get

bigquery.reservations.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.studioAdmin)

Combination role of BigQuery Admin, Dataform Admin, and Notebook Runtime Admin.

aiplatform.notebookRuntimeTemplates.apply

aiplatform.notebookRuntimeTemplates.create

aiplatform.notebookRuntimeTemplates.delete

aiplatform.notebookRuntimeTemplates.get

aiplatform.notebookRuntimeTemplates.getIamPolicy

aiplatform.notebookRuntimeTemplates.list

aiplatform.notebookRuntimeTemplates.setIamPolicy

aiplatform.notebookRuntimes.*

  • aiplatform.notebookRuntimes.assign
  • aiplatform.notebookRuntimes.delete
  • aiplatform.notebookRuntimes.get
  • aiplatform.notebookRuntimes.list
  • aiplatform.notebookRuntimes.start
  • aiplatform.notebookRuntimes.update
  • aiplatform.notebookRuntimes.upgrade

aiplatform.operations.list

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.config.*

  • bigquery.config.get
  • bigquery.config.update

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.jobs.*

  • bigquery.jobs.create
  • bigquery.jobs.delete
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.jobs.listExecutionMetadata
  • bigquery.jobs.update

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.overrideTimeTravelRestrictions

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.savedqueries.*

  • bigquery.savedqueries.create
  • bigquery.savedqueries.delete
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.savedqueries.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

bigquery.transfers.*

  • bigquery.transfers.get
  • bigquery.transfers.update

bigquerymigration.translation.translate

compute.reservations.get

compute.reservations.list

dataform.*

  • dataform.compilationResults.create
  • dataform.compilationResults.get
  • dataform.compilationResults.list
  • dataform.compilationResults.query
  • dataform.locations.get
  • dataform.locations.list
  • dataform.releaseConfigs.create
  • dataform.releaseConfigs.delete
  • dataform.releaseConfigs.get
  • dataform.releaseConfigs.list
  • dataform.releaseConfigs.update
  • dataform.repositories.commit
  • dataform.repositories.computeAccessTokenStatus
  • dataform.repositories.create
  • dataform.repositories.delete
  • dataform.repositories.fetchHistory
  • dataform.repositories.fetchRemoteBranches
  • dataform.repositories.get
  • dataform.repositories.getIamPolicy
  • dataform.repositories.list
  • dataform.repositories.queryDirectoryContents
  • dataform.repositories.readFile
  • dataform.repositories.setIamPolicy
  • dataform.repositories.update
  • dataform.workflowConfigs.create
  • dataform.workflowConfigs.delete
  • dataform.workflowConfigs.get
  • dataform.workflowConfigs.list
  • dataform.workflowConfigs.update
  • dataform.workflowInvocations.cancel
  • dataform.workflowInvocations.create
  • dataform.workflowInvocations.delete
  • dataform.workflowInvocations.get
  • dataform.workflowInvocations.list
  • dataform.workflowInvocations.query
  • dataform.workspaces.commit
  • dataform.workspaces.create
  • dataform.workspaces.delete
  • dataform.workspaces.fetchFileDiff
  • dataform.workspaces.fetchFileGitStatuses
  • dataform.workspaces.fetchGitAheadBehind
  • dataform.workspaces.get
  • dataform.workspaces.getIamPolicy
  • dataform.workspaces.installNpmPackages
  • dataform.workspaces.list
  • dataform.workspaces.makeDirectory
  • dataform.workspaces.moveDirectory
  • dataform.workspaces.moveFile
  • dataform.workspaces.pull
  • dataform.workspaces.push
  • dataform.workspaces.queryDirectoryContents
  • dataform.workspaces.readFile
  • dataform.workspaces.removeDirectory
  • dataform.workspaces.removeFile
  • dataform.workspaces.reset
  • dataform.workspaces.searchFiles
  • dataform.workspaces.setIamPolicy
  • dataform.workspaces.writeFile

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.studioUser)

Combination role of BigQuery Job User, BigQuery Read Session User, Dataform Code Creator, and Notebook Runtime User.

aiplatform.notebookRuntimeTemplates.apply

aiplatform.notebookRuntimeTemplates.get

aiplatform.notebookRuntimeTemplates.getIamPolicy

aiplatform.notebookRuntimeTemplates.list

aiplatform.notebookRuntimes.assign

aiplatform.notebookRuntimes.get

aiplatform.notebookRuntimes.list

aiplatform.operations.list

bigquery.config.get

bigquery.jobs.create

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.user)

When applied to a dataset, this role provides the ability to read the dataset's metadata and list tables in the dataset.

When applied to a project, this role also provides the ability to run jobs, including queries, within the project. A principal with this role can enumerate their own jobs, cancel their own jobs, and enumerate datasets within a project. Additionally, allows the creation of new datasets within the project; the creator is granted the BigQuery Data Owner role (roles/bigquery.dataOwner) on these new datasets.

Lowest-level resources where you can grant this role:

  • Dataset

bigquery.bireservations.get

bigquery.capacityCommitments.get

bigquery.capacityCommitments.list

bigquery.config.get

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.getIamPolicy

bigquery.jobs.create

bigquery.jobs.list

bigquery.models.list

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

bigquery.reservationAssignments.list

bigquery.reservationAssignments.search

bigquery.reservations.get

bigquery.reservations.list

bigquery.routines.list

bigquery.savedqueries.get

bigquery.savedqueries.list

bigquery.tables.list

bigquery.transfers.get

bigquerymigration.translation.translate

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquerydatapolicy.maskedReader)

Masked read access to sub-resources tagged by the policy tag associated with a data policy, for example, BigQuery columns

bigquery.dataPolicies.maskedGet

BigQuery용 커스텀 IAM 역할

BigQuery의 커스텀 IAM 역할을 만들려면 BigQuery 권한을 사용하여 IAM 커스텀 역할에 설명된 단계를 따르세요.

BigQuery 기본 역할

BigQuery 기본 역할에 대한 자세한 내용은 BigQuery 기본 역할 및 권한을 참조하세요.

BigQuery 권한

다음 표에서는 BigQuery에서 제공하는 권한을 설명합니다. 사전 정의된 역할에 포함되어 있으며 커스텀 역할 정의에 사용될 수 있습니다.

권한 설명
bigquery.bireservations.get BI Engine 예약을 읽습니다.
bigquery.bireservations.update BI Engine 예약을 업데이트합니다.
bigquery.capacityCommitments.create 프로젝트에서 용량 약정을 만듭니다.
bigquery.capacityCommitments.delete 용량 약정을 삭제합니다.
bigquery.capacityCommitments.get 용량 약정에 대한 세부정보를 가져옵니다.
bigquery.capacityCommitments.list 프로젝트의 모든 용량 약정을 나열합니다.
bigquery.capacityCommitments.update 프로젝트의 모든 용량 약정을 업데이트합니다.
bigquery.config.update 구성을 만듭니다.
bigquery.config.get 구성 세부정보를 가져옵니다.
bigquery.connections.create 프로젝트에서 새 연결을 만듭니다.
bigquery.connections.delete 연결을 삭제합니다.
bigquery.connections.get 연결 메타데이터를 가져옵니다. 사용자 인증 정보는 제외됩니다.
bigquery.connections.list 프로젝트의 연결을 나열합니다.
bigquery.connections.update 연결 및 사용자 인증 정보를 업데이트합니다.
bigquery.connections.updateTag

연결 태그를 업데이트합니다.

bigquery.connections.use 연결 구성을 사용하여 원격 데이터 소스에 연결합니다.
bigquery.connections.delegate 연결을 위임하여 승인된 외부 테이블 및 원격 함수를 만듭니다.
bigquery.dataPolicies.create

새 데이터 정책을 만듭니다.

bigquery.dataPolicies.delete

데이터 정책을 삭제합니다.

bigquery.dataPolicies.get

데이터 정책에 대한 메타데이터를 가져옵니다.

bigquery.dataPolicies.getIamPolicy

데이터 정책의 IAM 권한을 읽습니다.

bigquery.dataPolicies.list

프로젝트의 데이터 정책을 나열합니다.

bigquery.dataPolicies.maskedGet

데이터 정책과 연결된 정책 태그가 있는 열의 마스킹된 데이터를 봅니다.

bigquery.dataPolicies.setIamPolicy

데이터 정책의 IAM 권한을 설정합니다.

bigquery.dataPolicies.update

데이터 정책의 메타데이터를 업데이트합니다.

bigquery.datasets.create 새로운 빈 데이터 세트를 만듭니다.
bigquery.datasets.createTagBinding 데이터 세트에 리소스 태그 바인딩을 만듭니다.
bigquery.datasets.delete 데이터 세트를 삭제합니다.
bigquery.datasets.deleteTagBinding 데이터 세트에서 리소스 태그 바인딩을 삭제합니다.
bigquery.datasets.get 데이터 세트에 대한 메타데이터 및 권한을 가져옵니다. Google Cloud 콘솔에서 권한을 보려면 bigquery.datasets.getIamPolicy 권한도 필요합니다.
bigquery.datasets.getIamPolicy Google Cloud 콘솔에서 데이터 세트에 대한 IAM 권한을 가져오는 옵션을 제공하는 데 필요합니다. 오류 시 열림(Fails open). 권한을 가져오는 작업을 실제로 수행하는 기능은 bigquery.datasets.get 권한으로 관리됩니다.
bigquery.datasets.link 연결된 데이터 세트를 만듭니다.
bigquery.datasets.listTagBindings 데이터 세트의 리소스 태그 바인딩을 나열합니다.
bigquery.datasets.setIamPolicy Google Cloud 콘솔에서 사용자에게 데이터 세트의 IAM 권한을 설정하는 옵션을 제공하는 데 필요합니다. 오류 시 열림(Fails open). 권한 설정 작업을 실제로 수행하는 기능은 bigquery.datasets.update 권한으로 관리됩니다.
bigquery.datasets.update 데이터 세트에 대한 메타데이터 및 권한을 업데이트합니다. Google Cloud 콘솔에서 권한을 부여하려면 bigquery.datasets.setIamPolicy 권한도 필요합니다.
bigquery.datasets.updateTag 데이터 세트의 Data Catalog 태그를 업데이트합니다.
bigquery.jobs.create 프로젝트 내에서 쿼리를 비롯한 작업을 실행합니다.
bigquery.jobs.get 모든 작업의 데이터와 메타데이터를 가져옵니다.1
bigquery.jobs.list 모든 작업을 나열하고 사용자가 제출한 모든 작업에서 메타데이터를 검색합니다. 다른 사용자가 제출한 작업의 경우 세부정보와 메타데이터가 수정됩니다.
bigquery.jobs.listAll 모든 작업을 나열하고 사용자가 제출한 모든 작업에서 메타데이터를 검색합니다.
bigquery.jobs.listExecutionMetadata 사용자가 제출한 작업에 대한 모든 작업 실행 메타데이터(민감한 정보 제외)를 나열합니다. 조직 수준에서만 적용될 수 있으며 관리 UI에서 사용됩니다.
bigquery.jobs.delete 작업의 메타데이터를 삭제합니다.
bigquery.jobs.update 모든 작업을 취소합니다.1
bigquery.models.create 머신러닝 모델을 만듭니다.
bigquery.models.delete 머신러닝 모델을 삭제합니다.
bigquery.models.getData 머신러닝 모델 데이터를 가져옵니다. 모델 메타데이터를 가져오려면 bigquery.models.getMetadata가 필요합니다.
bigquery.models.getMetadata 머신러닝 모델 메타데이터를 가져옵니다. 모델 데이터를 가져오려면 bigquery.models.getData가 필요합니다.
bigquery.models.list 모델의 머신러닝 모델 및 메타데이터를 나열합니다.
bigquery.models.updateData 머신러닝 모델 데이터를 업데이트합니다. 모델 메타데이터를 업데이트하려면 bigquery.models.updateMetadata가 필요합니다.
bigquery.models.updateMetadata 머신러닝 모델 메타데이터를 업데이트합니다. 모델 데이터를 업데이트하려면 bigquery.models.updateData가 필요합니다.
bigquery.models.export 머신러닝 모델을 내보냅니다.
bigquery.models.updateTag 모델의 Data Catalog 태그를 업데이트합니다.
bigquery.readsessions.create Storage API를 사용하여 새 읽기 세션을 만듭니다.
bigquery.readsessions.getData Storage Read API를 사용하여 읽기 세션에서 데이터를 읽습니다.
bigquery.readsessions.update Storage Read API를 사용하여 읽기 세션을 업데이트합니다.
bigquery.reservations.create 관리 프로젝트에서 슬롯 예약을 만듭니다.
bigquery.reservations.delete 슬롯 예약을 삭제합니다.
bigquery.reservations.get 슬롯 예약에 대한 세부정보를 가져옵니다.
bigquery.reservations.list 관리 프로젝트의 모든 슬롯 예약을 나열합니다.
bigquery.reservations.update 슬롯 예약의 속성을 업데이트합니다.
bigquery.reservationAssignments.create

예약 할당을 생성합니다. 이 권한은 소유자 프로젝트 및 할당된 담당자 리소스에 필요합니다.
예약 할당을 이동하려면 새 소유자 프로젝트 및 할당된 담당자 리소스에 bigquery.reservationAssignments.create가 필요합니다.

bigquery.reservationAssignments.delete

예약 할당을 삭제합니다. 이 권한은 소유자 프로젝트 및 할당된 담당자 리소스에 필요합니다.
예약 할당을 이동하려면 기존 소유자 프로젝트 및 할당된 담당자 리소스에 bigquery.reservationAssignments.delete가 필요합니다.

bigquery.reservationAssignments.list 프로젝트의 모든 예약 할당을 나열합니다.
bigquery.reservationAssignments.search 특정 프로젝트, 폴더 또는 조직의 예약 할당을 찾습니다.
bigquery.rowAccessPolicies.create 테이블에 새 행 수준 액세스 정책을 만듭니다.
bigquery.rowAccessPolicies.delete 테이블에서 행 수준 액세스 정책을 삭제합니다.
bigquery.rowAccessPolicies.getFilteredData 행 수준 액세스 정책 권한 수혜자 목록의 주 구성원에게만 표시할 테이블의 데이터를 가져옵니다. 이 권한은 행 수준 액세스 정책 리소스에만 부여하는 것이 좋습니다.
bigquery.rowAccessPolicies.list 테이블의 모든 행 수준 액세스 정책을 나열합니다.
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions 행 수준 액세스 정책이 있거나 이전에 있었던 테이블의 이전 데이터에 액세스합니다.
bigquery.rowAccessPolicies.getIamPolicy 행 액세스 정책의 IAM 권한을 가져옵니다.
bigquery.rowAccessPolicies.setIamPolicy 행 액세스 정책의 IAM 권한을 설정합니다.
bigquery.rowAccessPolicies.update 행 수준 액세스 정책을 다시 만듭니다.
bigquery.routines.create 새 루틴(함수 및 저장 절차)을 만듭니다.
bigquery.routines.delete 루틴을 삭제합니다.
bigquery.routines.get 루틴 정의 및 메타데이터를 가져옵니다.
bigquery.routines.list 루틴 및 루틴의 메타데이터를 나열합니다.
bigquery.routines.update

루틴 정의 및 메타데이터를 업데이트합니다.

bigquery.routines.updateTag

루틴의 Data Catalog 태그를 업데이트합니다.

bigquery.savedqueries.create 저장된 쿼리를 만듭니다.
bigquery.savedqueries.delete 저장된 쿼리를 삭제합니다.
bigquery.savedqueries.get 저장된 쿼리의 메타데이터를 가져옵니다.
bigquery.savedqueries.list 저장된 쿼리를 나열합니다.
bigquery.savedqueries.update 저장된 쿼리를 업데이트합니다.
bigquery.tables.create 새 테이블을 만듭니다.
bigquery.tables.createIndex 테이블에 검색 색인을 만듭니다.
bigquery.tables.createSnapshot 새 테이블 스냅샷을 만듭니다.
bigquery.tables.createTagBinding 테이블에 리소스 태그 바인딩을 만듭니다.
bigquery.tables.delete 테이블을 삭제합니다.
bigquery.tables.deleteIndex 테이블에서 검색 색인을 제거합니다.
bigquery.tables.deleteSnapshot 테이블 스냅샷을 삭제합니다.
bigquery.tables.deleteTagBinding 테이블에서 리소스 태그 바인딩을 삭제합니다.
bigquery.tables.export BigQuery의 테이블 데이터를 내보냅니다.
bigquery.tables.get 테이블 메타데이터를 가져옵니다.
테이블 데이터를 업데이트하려면 bigquery.tables.getData가 필요합니다.
bigquery.tables.getData 테이블 데이터를 가져옵니다. 테이블 데이터를 쿼리하려면 이 권한이 필요합니다.
테이블 메타데이터를 가져오려면 bigquery.tables.get이 필요합니다.
bigquery.tables.getIamPolicy 테이블의 IAM 정책을 읽습니다.
bigquery.tables.list 테이블 및 테이블의 메타데이터를 나열합니다.
bigquery.tables.replicateData 테이블 데이터를 복제합니다. 이 권한은 복제본의 구체화된 뷰를 만들 때 필요합니다.
bigquery.tables.restoreSnapshot 테이블 스냅샷을 복원합니다.
bigquery.tables.setCategory 테이블 스키마에서 정책 태그를 설정합니다.
bigquery.tables.setIamPolicy 테이블의 IAM 정책을 변경합니다.
bigquery.tables.update

테이블 메타데이터를 업데이트합니다.
테이블 데이터를 업데이트하려면 bigquery.tables.updateData가 필요합니다.

bigquery.tables.updateData

테이블 데이터를 업데이트합니다.
테이블 메타데이터를 업데이트하려면 bigquery.tables.update가 필요합니다.

bigquery.tables.updateTag 테이블의 Data Catalog 태그를 업데이트합니다.
bigquery.transfers.get 전송 메타데이터를 가져옵니다.
bigquery.transfers.update 전송을 생성, 업데이트, 삭제합니다.

1 사용자가 만드는 모든 작업은 해당 작업에 대해 bigquery.jobs.getbigquery.jobs.update에 상응하는 권한이 자동으로 부여됩니다.

BigQuery ML 태스크 권한

다음 표에서는 일반적인 BigQuery ML 태스크에 필요한 권한을 설명합니다.

권한 설명
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
CREATE MODEL 문을 사용하여 새 모델을 만듭니다.
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
CREATE OR REPLACE MODEL 문을 사용하여 기존 모델을 교체합니다.
bigquery.models.delete models.delete API를 사용하여 모델을 삭제합니다.
bigquery.jobs.create
bigquery.models.delete
DROP MODEL 문을 사용하여 모델을 삭제합니다.
bigquery.models.getMetadata models.get API를 사용하여 모델 메타데이터를 가져옵니다.
bigquery.models.list models.list API를 사용하여 모델과 모델의 메타데이터를 나열합니다.
bigquery.models.updateMetadata models.delete API를 사용하여 모델 메타데이터를 업데이트합니다. 모델의 만료 시간을 0이 아닌 값을 설정하거나 업데이트하는 경우 bigquery.models.delete 권한도 필요합니다.
bigquery.jobs.create
bigquery.models.getData
ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO, ML.WEIGHTS 등의 함수를 사용하여 평가, 예측, 모델, 특성 검사를 수행합니다.
bigquery.jobs.create
bigquery.models.export
모델을 내보냅니다.
bigquery.models.updateTag 모델의 Data Catalog 태그를 업데이트합니다.

다음 단계