Peran dan izin IAM BigQuery

Dokumen ini memberikan informasi tentang peran dan izin Identity and Access Management (IAM) untuk BigQuery. Dengan IAM, Anda dapat memberikan akses terperinci ke resource BigQuery tertentu dan membantu mencegah akses ke resource lain. IAM memungkinkan Anda menerapkan prinsip keamanan dengan hak istimewa terendah, yang menyatakan bahwa tidak boleh ada orang yang memiliki izin lebih dari yang sebenarnya mereka butuhkan.

Saat akun utama (pengguna, grup, atau akun layanan) memanggil Google Cloud API, akun utama tersebut harus memiliki izin IAM yang sesuai agar dapat menggunakan resource. Untuk memberikan akun utama izin yang diperlukan, Anda memberikan peran IAM kepada akun utama.

Dokumen ini menjelaskan cara menggunakan peran IAM yang telah ditetapkan dan kustom untuk mengizinkan akun utama mengakses resource BigQuery.

Untuk mempelajari pengelolaan akses di Google Cloud secara umum, lihat ringkasan IAM.

Jenis peran IAM

Peran adalah kumpulan izin. Anda dapat menggunakan jenis peran berikut di IAM untuk memberikan akses ke resource BigQuery:

  • Peran yang telah ditetapkan dikelola oleh Google Cloud dan mendukung kasus penggunaan umum dan pola kontrol akses.
  • Peran khusus memberikan akses sesuai dengan daftar izin yang ditentukan pengguna.

Untuk menentukan apakah satu atau beberapa izin disertakan dalam peran, Anda dapat menggunakan salah satu metode berikut:

Saat Anda menetapkan beberapa jenis peran kepada pengguna, izin yang diberikan merupakan gabungan dari izin setiap peran.

Untuk informasi tambahan tentang penggunaan IAM untuk mengakses resource, lihat Memberikan, mengubah, dan mencabut akses ke resource dalam dokumentasi IAM.

Untuk mengetahui informasi cara membuat peran khusus, lihat Membuat dan mengelola peran khusus dalam dokumentasi IAM.

Peran IAM di BigQuery

Izin tidak ditetapkan langsung ke pengguna, grup, atau akun layanan. Sebagai gantinya, pengguna, grup, atau akun layanan diberi akses ke satu atau beberapa peran bawaan atau khusus untuk memberi mereka izin agar dapat melakukan tindakan pada resource.

Anda dapat memberikan akses pada level resource BigQuery berikut:

  • level organisasi atau project Google Cloud
  • level set data
  • level tabel atau tabel virtual

Peran yang diterapkan pada level organisasi atau project Google Cloud

Saat menetapkan peran pada level organisasi dan project, Anda memberikan izin untuk menjalankan tugas BigQuery atau mengakses semua resource BigQuery project.

Peran yang diterapkan pada level set data

Anda dapat menetapkan peran pada level set data untuk memberikan akses ke set data tertentu, tanpa memberikan akses lengkap ke resource project. Dalam hierarki kebijakan IAM, set data BigQuery adalah resource turunan dari project. Untuk mengetahui informasi selengkapnya tentang cara menetapkan peran pada level set data, lihat Mengontrol akses ke set data.

Peran diterapkan ke setiap resource dalam set data

Anda dapat menetapkan peran satu per satu ke jenis resource tertentu dalam set data, tanpa memberikan akses lengkap ke resource set data.

Peran dapat diterapkan ke setiap jenis resource berikut:

  • tabel
  • tabel virtual

Peran tidak dapat diterapkan ke setiap jenis resource berikut:

  • rutinitas
  • model

Untuk mengetahui informasi selengkapnya tentang cara menetapkan peran pada level tabel atau tabel virtual, lihat Mengontrol akses ke tabel atau tabel virtual.

Peran IAM bawaan BigQuery

Tabel berikut mencantumkan peran IAM BigQuery yang telah ditentukan sebelumnya, dengan daftar yang sesuai dari semua izin yang disertakan dalam setiap peran. Perlu diketahui bahwa setiap izin berlaku untuk jenis resource tertentu.

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

Peran IAM kustom untuk BigQuery

Agar dapat membuat peran IAM kustom untuk BigQuery, ikuti langkah-langkah yang diuraikan untuk peran khusus IAM menggunakan izin BigQuery.

Peran dasar BigQuery

Untuk mengetahui informasi tentang peran dasar BigQuery, lihat Peran dasar dan izin BigQuery.

Izin BigQuery

Tabel berikut menjelaskan izin yang tersedia di BigQuery. Peran ini termasuk dalam peran yang telah ditetapkan dan dapat digunakan dalam definisi peran khusus.

Izin Deskripsi
bigquery.bireservations.get Membaca pemesanan BI Engine.
bigquery.bireservations.update Memperbarui pemesanan BI Engine.
bigquery.capacityCommitments.create Membuat komitmen kapasitas dalam project.
bigquery.capacityCommitments.delete Menghapus komitmen kapasitas.
bigquery.capacityCommitments.get Mengambil detail tentang komitmen kapasitas.
bigquery.capacityCommitments.list Mencantumkan semua komitmen kapasitas dalam project.
bigquery.capacityCommitments.update Memperbarui semua komitmen kapasitas dalam project.
bigquery.config.update Membuat konfigurasi.
bigquery.config.get Mendapatkan detail tentang konfigurasi.
bigquery.connections.create Membuat koneksi baru dalam project.
bigquery.connections.delete Menghapus koneksi.
bigquery.connections.get Mendapatkan metadata koneksi. Kredensial dikecualikan.
bigquery.connections.list Mencantumkan koneksi dalam project.
bigquery.connections.update Memperbarui koneksi dan kredensialnya.
bigquery.connections.updateTag

Memperbarui tag untuk koneksi.

bigquery.connections.use Menggunakan konfigurasi koneksi untuk terhubung ke sumber data jarak jauh.
bigquery.connections.delegate Mendelegasikan koneksi untuk membuat tabel eksternal yang diotorisasi dan fungsi jarak jauh.
bigquery.dataPolicies.create

Membuat kebijakan data baru.

bigquery.dataPolicies.delete

Menghapus kebijakan data.

bigquery.dataPolicies.get

Mendapatkan metadata tentang kebijakan data.

bigquery.dataPolicies.getIamPolicy

Membaca kebijakan data izin IAM.

bigquery.dataPolicies.list

Mencantumkan kebijakan data dalam project.

bigquery.dataPolicies.maskedGet

Melihat data yang disamarkan di kolom yang memiliki tag kebijakan terkait dengan kebijakan data.

bigquery.dataPolicies.setIamPolicy

Menetapkan kebijakan data izin IAM.

bigquery.dataPolicies.update

Memperbarui metadata untuk kebijakan data.

bigquery.datasets.create Membuat set data kosong yang baru.
bigquery.datasets.createTagBinding Membuat binding tag resource pada set data.
bigquery.datasets.delete Menghapus set data.
bigquery.datasets.deleteTagBinding Menghapus binding tag resource di set data.
bigquery.datasets.get Mendapatkan metadata dan izin tentang set data. Izin melihat di Konsol Google Cloud juga memerlukan izin bigquery.datasets.getIamPolicy.
bigquery.datasets.getIamPolicy Diperlukan oleh konsol Google Cloud untuk memberi pengguna opsi dalam mendapatkan izin IAM set data. Gagal terbuka. Kemampuan untuk benar-benar melakukan operasi dalam mendapatkan izin dibatasi oleh izin bigquery.datasets.get .
bigquery.datasets.link Buat set data tertaut.
bigquery.datasets.listTagBindings Mencantumkan binding tag resource pada set data.
bigquery.datasets.setIamPolicy Diperlukan oleh konsol Google Cloud untuk memberi pengguna opsi untuk menetapkan izin IAM set data. Gagal terbuka. Kemampuan untuk benar-benar melakukan operasi dalam menyetel izin dibatasi oleh izin bigquery.datasets.update .
bigquery.datasets.update Memperbarui metadata dan izin untuk set data. Memberikan izin di Konsol Google Cloud juga memerlukan izin bigquery.datasets.setIamPolicy.
bigquery.datasets.updateTag Perbarui tag Data Catalog untuk set data.
bigquery.jobs.create Menjalankan tugas (termasuk kueri) dalam project.
bigquery.jobs.get Mendapatkan data dan metadata dari setiap tugas.1
bigquery.jobs.list Mencantumkan semua tugas dan mengambil metadata dari setiap tugas yang dikirimkan pengguna. Untuk tugas yang dikirimkan oleh pengguna lain, detail dan metadata akan disamarkan.
bigquery.jobs.listAll Mencantumkan semua tugas dan mengambil metadata pada setiap tugas yang dikirimkan oleh pengguna mana pun.
bigquery.jobs.listExecutionMetadata Mencantumkan semua metadata eksekusi tugas (tanpa informasi sensitif) pada tugas apa pun yang dikirimkan oleh pengguna. Kolom ini hanya dapat diterapkan di tingkat organisasi dan digunakan oleh UI Admin.
bigquery.jobs.delete Menghapus metadata tugas.
bigquery.jobs.update Membatalkan setiap tugas.1
bigquery.models.create Membuat model machine learning baru.
bigquery.models.delete Hapus model machine learning.
bigquery.models.getData Mendapatkan data model machine learning. Untuk mendapatkan metadata model, Anda memerlukan bigquery.models.getMetadata.
bigquery.models.getMetadata Mendapatkan metadata model machine learning. Untuk mendapatkan data model, Anda memerlukan bigquery.models.getData.
bigquery.models.list Mencantumkan model machine learning dan metadata pada model.
bigquery.models.updateData Memperbarui data model machine learning. Untuk memperbarui metadata model, Anda memerlukan bigquery.models.updateMetadata.
bigquery.models.updateMetadata Memperbarui metadata model machine learning. Untuk memperbarui data model, Anda memerlukan bigquery.models.updateData.
bigquery.models.export Ekspor model machine learning.
bigquery.models.updateTag Memperbarui tag Data Catalog untuk model.
bigquery.readsessions.create Buat sesi baca baru menggunakan Storage Read API.
bigquery.readsessions.getData Membaca data dari sesi baca menggunakan Storage Read API.
bigquery.readsessions.update Mengupdate sesi baca menggunakan Storage Read API.
bigquery.reservations.create Buat reservasi slot dalam project administrasi.
bigquery.reservations.delete Hapus reservasi slot.
bigquery.reservations.get Mengambil detail tentang reservasi slot.
bigquery.reservations.list Mencantumkan semua reservasi slot dalam project administrasi.
bigquery.reservations.update Perbarui properti reservasi slot.
bigquery.reservationAssignments.create

Buat tugas reservasi. Izin ini diperlukan untuk project pemilik dan resource penerima tugas.
Untuk memindahkan penetapan reservasi, Anda memerlukan bigquery.reservationAssignments.create di project pemilik baru dan resource penerima tugas.

bigquery.reservationAssignments.delete

Hapus tugas reservasi. Izin ini diperlukan untuk project pemilik dan resource penerima tugas.
Untuk memindahkan penetapan reservasi, Anda memerlukan bigquery.reservationAssignments.delete di project pemilik dan resource penerima tugas yang ada.

bigquery.reservationAssignments.list Mencantumkan semua tugas reservasi di project.
bigquery.reservationAssignments.search Menemukan tugas reservasi untuk project, folder, atau organisasi tertentu.
bigquery.rowAccessPolicies.create Membuat kebijakan akses tingkat baris yang baru pada tabel.
bigquery.rowAccessPolicies.delete Menghapus kebijakan akses tingkat baris dari tabel.
bigquery.rowAccessPolicies.getFilteredData Dapatkan data dalam tabel yang hanya ingin Anda lihat oleh akun utama dalam daftar penerima hibah kebijakan akses tingkat baris. Sebaiknya izin ini hanya diberikan pada resource kebijakan akses tingkat baris.
bigquery.rowAccessPolicies.list Mencantumkan semua kebijakan akses tingkat baris pada tabel.
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions Mengakses data historis untuk tabel yang memiliki, atau pernah memiliki, kebijakan akses tingkat baris.
bigquery.rowAccessPolicies.getIamPolicy Mendapatkan kebijakan akses baris izin IAM.
bigquery.rowAccessPolicies.setIamPolicy Menetapkan kebijakan akses baris izin IAM.
bigquery.rowAccessPolicies.update Membuat ulang kebijakan akses tingkat baris.
bigquery.routines.create Membuat rutinitas baru (fungsi dan prosedur yang tersimpan).
bigquery.routines.delete Menghapus rutinitas.
bigquery.routines.get Mendapatkan metadata dan definisi rutinitas.
bigquery.routines.list Mencantumkan rutinitas dan metadata pada rutinitas.
bigquery.routines.update

Memperbarui metadata dan definisi rutinitas.

bigquery.routines.updateTag

Memperbarui tag Data Catalog untuk rutinitas.

bigquery.savedqueries.create Membuat kueri tersimpan.
bigquery.savedqueries.delete Menghapus kueri tersimpan.
bigquery.savedqueries.get Mendapatkan metadata pada kueri tersimpan.
bigquery.savedqueries.list Mencantumkan kueri tersimpan.
bigquery.savedqueries.update Memperbarui kueri tersimpan.
bigquery.tables.create Membuat tabel baru.
bigquery.tables.createIndex Membuat indeks penelusuran pada tabel.
bigquery.tables.createSnapshot Membuat snapshot tabel yang baru.
bigquery.tables.createTagBinding Membuat binding tag resource pada tabel.
bigquery.tables.delete Menghapus tabel.
bigquery.tables.deleteIndex Menghapus indeks penelusuran pada tabel.
bigquery.tables.deleteSnapshot Menghapus snapshot tabel.
bigquery.tables.deleteTagBinding Hapus binding tag resource pada tabel.
bigquery.tables.export Mengekspor data tabel dari BigQuery.
bigquery.tables.get Mendapatkan metadata tabel.
Untuk mendapatkan data tabel, Anda memerlukan bigquery.tables.getData.
bigquery.tables.getData Mendapatkan data tabel. Izin ini diperlukan untuk membuat kueri data tabel.
Untuk mendapatkan metadata tabel, Anda memerlukan bigquery.tables.get.
bigquery.tables.getIamPolicy Membaca tabel kebijakan IAM.
bigquery.tables.list Mencantumkan tabel dan metadata pada tabel.
bigquery.tables.replicateData Mereplikasikan data tabel. Izin ini diperlukan untuk membuat replika tampilan terwujud.
bigquery.tables.restoreSnapshot Memulihkan snapshot tabel.
bigquery.tables.setCategory Menetapkan tag kebijakan dalam skema tabel.
bigquery.tables.setIamPolicy Mengubah tabel kebijakan IAM.
bigquery.tables.update

Memperbarui metadata tabel.
Untuk memperbarui data tabel, Anda memerlukan bigquery.tables.updateData.

bigquery.tables.updateData

Memperbarui data tabel.
Untuk memperbarui metadata tabel, Anda memerlukan bigquery.tables.update.

bigquery.tables.updateTag Memperbarui tag Data Catalog untuk tabel.
bigquery.transfers.get Mendapatkan metadata transfer.
bigquery.transfers.update Membuat, memperbarui, dan menghapus transfer.

1 Untuk setiap tugas yang dibuat, Anda secara otomatis memiliki izin yang setara dengan izin bigquery.jobs.get dan bigquery.jobs.update untuk tugas tersebut.

Izin untuk tugas ML BigQuery

Tabel berikut menjelaskan izin yang diperlukan untuk tugas umum BigQuery ML.

Izin Deskripsi
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Membuat model baru menggunakan pernyataan CREATE MODEL
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Mengganti model yang ada menggunakan pernyataan CREATE OR REPLACE MODEL
bigquery.models.delete Menghapus model menggunakan models.delete API
bigquery.jobs.create
bigquery.models.delete
Menghapus model menggunakan pernyataan DROP MODEL
bigquery.models.getMetadata Mendapatkan metadata model menggunakan models.get API
bigquery.models.list Mencantumkan model dan metadata pada model menggunakan models.list API
bigquery.models.updateMetadata Memperbarui metadata model menggunakan models.delete API. Jika ingin menyetel atau memperbarui akhir masa berlaku yang bukan nol untuk Model, izin bigquery.models.delete juga diperlukan
bigquery.jobs.create
bigquery.models.getData
Lakukan evaluasi, prediksi, serta pemeriksaan model dan fitur menggunakan fungsi seperti ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO, dan ML.WEIGHTS.
bigquery.jobs.create
bigquery.models.export
Mengekspor model
bigquery.models.updateTag Memperbarui tag Data Catalog untuk model.

Langkah selanjutnya