Access control

Overview

BigQuery ML uses Identity and Access Management (IAM) to manage access to model resources. To grant access to a model resource, assign one or more IAM roles to a user, group, or service account. BigQuery ML's permissions are incorporated into the IAM roles.

This page provides details on BigQuery ML IAM permissions and roles. For more information on access controls in BigQuery, see the BigQuery access control page.

BigQuery ML permissions

The following table describes the permissions available in BigQuery ML.

For more information on BigQuery ML releases, see the Release notes.

Permission Description
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Create a new model using CREATE MODEL statement
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Replace an existing model using CREATE OR REPLACE MODEL statement
bigquery.models.delete Delete model using models.delete API
bigquery.jobs.create
bigquery.models.delete
Delete model using DROP MODEL statement
bigquery.models.getMetadata Get model metadata using models.get API
bigquery.models.list List models and metadata on models using models.list API
bigquery.models.updateMetadata Update model metadata using models.delete API. If setting or updating a non-zero expiration time for Model, bigquery.models.delete permission is also needed
bigquery.jobs.create
bigquery.models.getData
Perform evaluation, prediction and model and feature inspections using ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO, and ML.WEIGHTS, etc.
bigquery.jobs.create
bigquery.models.export
Export a model

Roles

The following table lists the BigQuery predefined IAM roles with a corresponding list of all the permissions each role includes. BigQuery ML permissions are listed along with the BigQuery permissions. Note that every permission is applicable to a particular resource type.

Función Título Descripción Permisos Recurso más bajo
roles/bigquery.admin Administrador de BigQuery Proporciona permisos para administrar todos los recursos dentro del proyecto. Puede administrar todos los datos dentro del proyecto y cancelar trabajos de otros usuarios que se ejecutan dentro del proyecto.
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.config.*
  • bigquery.connections.*
  • bigquery.datasets.*
  • bigquery.jobs.*
  • bigquery.models.*
  • bigquery.readsessions.*
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • bigquery.routines.*
  • bigquery.rowAccessPolicies.create
  • bigquery.rowAccessPolicies.delete
  • bigquery.rowAccessPolicies.getIamPolicy
  • bigquery.rowAccessPolicies.list
  • bigquery.rowAccessPolicies.setIamPolicy
  • bigquery.rowAccessPolicies.update
  • bigquery.savedqueries.*
  • bigquery.tables.*
  • bigquery.transfers.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Proyecto
roles/bigquery.connectionAdmin Administrador de conexión de BigQuery
  • bigquery.connections.*
roles/bigquery.connectionUser Usuario de conexión de BigQuery
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.use
roles/bigquery.dataEditor Editor de datos de BigQuery

Cuando se aplica a una tabla o vista, esta función proporciona permisos para lo siguiente:

  • Leer y actualizar los datos y metadatos de la tabla o vista
  • Borrar la tabla o vista

Esta función no se puede aplicar a modelos ni rutinas individuales.

Cuando se aplica a un conjunto de datos, esta función proporciona permisos para lo siguiente:

  • Leer los metadatos del conjunto de datos y enumerar las tablas en el conjunto de datos
  • Crear, actualizar, obtener y borrar las tablas del conjunto de datos

Cuando se aplica a nivel del proyecto o de la organización, esta función también puede crear conjuntos de datos nuevos.

  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.updateTag
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.create
  • bigquery.tables.delete
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabla o vista
roles/bigquery.dataOwner Propietario de datos de BigQuery

Cuando se aplica a una tabla o vista, esta función proporciona permisos para lo siguiente:

  • Leer y actualizar los datos y metadatos de la tabla o vista
  • Compartir la tabla o vista
  • Borrar la tabla o vista

Esta función no se puede aplicar a modelos ni rutinas individuales.

Cuando se aplica a un conjunto de datos, esta función proporciona permisos para lo siguiente:

  • Leer, actualizar y borrar el conjunto de datos
  • Crear, actualizar, obtener y borrar las tablas del conjunto de datos

Cuando se aplica a nivel del proyecto o de la organización, esta función también puede crear conjuntos de datos nuevos.

  • bigquery.datasets.*
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.rowAccessPolicies.create
  • bigquery.rowAccessPolicies.delete
  • bigquery.rowAccessPolicies.getIamPolicy
  • bigquery.rowAccessPolicies.list
  • bigquery.rowAccessPolicies.setIamPolicy
  • bigquery.rowAccessPolicies.update
  • bigquery.tables.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabla o vista
roles/bigquery.dataViewer Visualizador de datos de BigQuery

Cuando se aplica a una tabla o vista, esta función proporciona permisos para lo siguiente:

  • Leer datos y metadatos de la tabla o vista

Esta función no se puede aplicar a modelos ni rutinas individuales.

Cuando se aplica a un conjunto de datos, esta función proporciona permisos para lo siguiente:

  • Leer los metadatos del conjunto de datos y enumerar las tablas en el conjunto de datos
  • Leer datos y metadatos de las tablas del conjunto de datos

Cuando se aplica a nivel del proyecto o de la organización, esta función también puede enumerar todos los conjuntos de datos en el proyecto. Sin embargo, se requieren funciones adicionales para permitir la ejecución de los trabajos.

  • 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.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabla o vista
roles/bigquery.filteredDataViewer Visualizador de datos filtrados de BigQuery Acceso para ver los datos de tabla filtrados y definidos por una política de acceso de fila
  • bigquery.rowAccessPolicies.getFilteredData
roles/bigquery.jobUser Usuario de trabajo de BigQuery Proporciona permisos para ejecutar trabajos, incluidas las consultas, dentro del proyecto.
  • bigquery.jobs.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Proyecto
roles/bigquery.metadataViewer Visualizador de metadatos de BigQuery

Cuando se aplica a una tabla o vista, esta función proporciona permisos para lo siguiente:

  • Leer metadatos de la tabla o vista

Esta función no se puede aplicar a modelos ni rutinas individuales.

Cuando se aplica a un conjunto de datos, esta función proporciona permisos para lo siguiente:

  • Enumerar tablas y vistas en el conjunto de datos
  • Leer los metadatos de las tablas y vistas del conjunto de datos

Cuando se aplica a nivel de proyecto o de organización, esta función proporciona permisos para lo siguiente:

  • Enumerar todos los conjuntos de datos y leer los metadatos de todos los conjuntos de datos del proyecto
  • Enumerar todas las tablas y vistas, y leer los metadatos de todas las tablas y vistas del proyecto

Se requieren funciones adicionales para permitir la ejecución de trabajos.

  • 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
Tabla o vista
roles/bigquery.readSessionUser Usuario de sesión de lectura de BigQuery Otorga acceso para crear y usar sesiones de lectura.
  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceAdmin Administrador de recursos de BigQuery Administra todos los recursos de BigQuery.
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceEditor Editor de recursos de BigQuery Tiene permiso para administrar todos los recursos de BigQuery, pero no puede tomar decisiones de compra.
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceViewer Visualizador de recursos de BigQuery Tiene permiso para visualizar todos los recursos de BigQuery, pero no puede realizar cambios o tomar decisiones de compra.
  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.user Usuario de BigQuery

Cuando se aplica a un conjunto de datos, esta función permite leer los metadatos del conjunto de datos y enumerar las tablas en el conjunto de datos.

Cuando se aplica a un proyecto, esta función también permite ejecutar trabajos, incluidas las consultas, dentro del proyecto. Un miembro con esta función puede enumerar y cancelar sus propios trabajos y enumerar conjuntos de datos dentro de un proyecto. Además, permite la creación de nuevos conjuntos de datos dentro del proyecto. Al creador se le otorga la función de propietario de datos de BigQuery (roles/bigquery.dataOwner) en estos conjuntos de datos nuevos.

  • 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.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
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Conjunto de datos

Custom roles

In addition to the predefined roles, BigQuery ML also supports custom roles. For more information, see Creating and managing custom roles in the IAM documentation.

For more information on BigQuery ML releases, see the Release notes.