Funciones y permisos predefinidos

En esta página, se proporciona información sobre las funciones y permisos de Cloud Identity and Access Management en BigQuery.

En esta página, se incluyen funciones y permisos relevantes para cada uno de los productos complementarios de BigQuery:

  • BigQuery ML
  • Servicio de transferencia de datos de BigQuery
  • BigQuery BI Engine

Para obtener información adicional sobre los controles de acceso en BigQuery ML, consulta Control de acceso en la documentación de BigQuery ML.

Descripción general

Cuando una identidad llama a una API de Google Cloud Platform, BigQuery requiere que la identidad tenga los permisos adecuados para usar el recurso. Puedes otorgar permisos si asignas funciones a un usuario, a un grupo o una cuenta de servicio.

En esta página, se describen las funciones de Cloud IAM en BigQuery que puedes otorgar a las identidades para acceder a los recursos de BigQuery.

Tipos de funciones de Cloud IAM

Existen tres tipos de funciones en Cloud Identity and Access Management:

  • Las funciones básicas, que incluyen las de Propietario, Editor y Visualizador que existían antes de la introducción de Cloud Identity and Access Management.
  • Las funciones predefinidas, que proporcionan acceso detallado a un servicio específico y las administra GCP. Las funciones predefinidas están destinadas a brindar compatibilidad con patrones de control de acceso y casos prácticos comunes.
  • Las funciones personalizadas, que proporcionan acceso detallado según una lista de permisos especificada por el usuario.

Para determinar si se incluyen uno o más permisos en una función básica, predefinida o personalizada, puedes usar uno de los métodos siguientes:

Cuando asignas funciones predefinidas y básicas a un usuario, los permisos otorgados son una unión de los permisos de cada función.

Si deseas obtener información adicional sobre el uso de Cloud IAM para acceder a los recursos, consulta cómo conceder, cambiar y revocar el acceso a los recursos en la documentación de Cloud Identity and Access Management.

Para obtener información sobre la creación de funciones personalizadas, consulta la creación y administración de funciones personalizadas en la documentación de Cloud Identity and Access Management.

Funciones predefinidas de Cloud IAM y permisos en BigQuery

Para otorgar acceso a un recurso de BigQuery, debes asignar una o más funciones a un usuario, grupo o cuenta de servicio. Cuando asignas funciones a nivel de organización y de proyecto, otorgas permiso para ejecutar trabajos de BigQuery o administrar todos los recursos de BigQuery de un proyecto.

También puedes asignar funciones a nivel de conjunto de datos para proporcionar acceso solo a uno o más conjuntos de datos. En la jerarquía de políticas de Cloud IAM, los conjuntos de datos de BigQuery son recursos secundarios de los proyectos. Las tablas y las vistas son recursos secundarios de los conjuntos de datos y heredan los permisos del conjunto de datos principal.

Para obtener más información la asignación de funciones a nivel de conjunto de datos, consulta el control de acceso a los conjuntos de datos.

Permisos de BigQuery

En la tabla siguiente, se describen los permisos disponibles en BigQuery.

Permiso Descripción
bigquery.jobs.create Crea trabajos nuevos.
bigquery.jobs.listAll Genera una lista de todos los trabajos y recupera los metadatos de cualquier trabajo enviado por un usuario.*
bigquery.jobs.list Genera una lista de todos los trabajos y recupera los metadatos de cualquier trabajo enviado por un usuario.* En los trabajos que enviaron otros usuarios, se ocultan los detalles y los metadatos.
bigquery.jobs.get Obtiene datos y metadatos de cualquier trabajo.*
bigquery.jobs.update Cancela cualquier trabajo.*
bigquery.datasets.create Crea conjuntos de datos vacíos nuevos.
bigquery.datasets.delete Borra un conjunto de datos.
bigquery.datasets.get Obtiene los metadatos sobre un conjunto de datos.
bigquery.datasets.update Actualiza los metadatos para un conjunto de datos.
bigquery.tables.create Crea tablas nuevas.
bigquery.tables.list Enumera las tablas y los metadatos de las tablas.
bigquery.tables.delete Borra las tablas.
bigquery.tables.get Obtiene metadatos de tablas.
Para obtener datos de tablas, necesitas bigquery.tables.getData.
bigquery.tables.getData Obtiene datos de tablas. Este permiso es necesario para consultar los datos de la tabla.
Para obtener metadatos de tablas, necesitas bigquery.tables.get.
bigquery.tables.export Exporta los datos de las tablas fuera de BigQuery.
bigquery.tables.update

Actualiza los metadatos de las tablas.
Para actualizar los datos de las tablas, necesitas bigquery.tables.updateData.

bigquery.tables.updateData

Actualiza los datos de las tablas.
Para actualizar los metadatos de las tablas, necesitas bigquery.tables.update.

bigquery.routines.create (Beta) Crea rutinas nuevas (funciones y procedimientos almacenados).
bigquery.routines.list (Beta) Enumera rutinas y metadatos en rutinas.
bigquery.routines.delete (Beta) Borra rutinas.
bigquery.routines.get (Beta) Obtiene metadatos y definiciones de rutinas.
bigquery.routines.update (Beta)

Actualiza metadatos y definiciones de rutinas.

bigquery.transfers.get Obtiene los metadatos de las transferencias.
bigquery.transfers.update Crea, actualiza y borra las transferencias.
bigquery.savedqueries.create Crea consultas guardadas.
bigquery.savedqueries.get Obtiene los metadatos de las consultas guardadas.
bigquery.savedqueries.list Enumera las consultas guardadas.
bigquery.savedqueries.update Actualiza las consultas guardadas.
bigquery.savedqueries.delete Borra las consultas guardadas.
bigquery.readsessions.create (Beta) Crea una nueva sesión de lectura a través de la API de almacenamiento de BigQuery.
bigquery.connections.create (Beta) Crea conexiones nuevas en un proyecto.
bigquery.connections.get (Beta) Obtiene metadatos de conexión. Se excluyen las credenciales.
bigquery.connections.list (Beta) Enumera las conexiones en un proyecto.
bigquery.connections.use (Beta) Usa una configuración de conexión para conectarse a una fuente de datos remota.
bigquery.connections.update (Beta) Actualiza una conexión y sus credenciales.
bigquery.connections.delete (Beta) Borra una conexión.

* Para cualquier trabajo que crees, obtienes de forma automática el equivalente de los permisos bigquery.jobs.get y bigquery.jobs.update para ese trabajo.

Funciones predefinidas de Cloud IAM en BigQuery

En la tabla siguiente, se enumeran las funciones predefinidas de Cloud IAM en BigQuery y todos los permisos correspondientes que se incluyen en cada función. Ten en cuenta que cada permiso es aplicable a un tipo de recurso específico.

Funciones de BigQuery

roles/
bigquery.admin
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. bigquery.*
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
bigquery.connectionAdmin
BigQuery Connection Admin Beta bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery Connection User Beta bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
BigQuery Data Editor

When applied to a dataset, dataEditor provides permissions to:

  • Read the dataset's metadata and to 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.

bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.updateTag
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Dataset roles/
bigquery.dataOwner
BigQuery Data Owner

When applied to a dataset, dataOwner 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.

bigquery.datasets.*
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Dataset roles/
bigquery.dataViewer
BigQuery Data Viewer

When applied to a dataset, dataViewer provides permissions to:

  • Read the dataset's metadata and to list tables in the dataset.
  • Read data and metadata from the dataset's tables.

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.

bigquery.datasets.get
bigquery.datasets.getIamPolicy
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.list
resourcemanager.projects.get
resourcemanager.projects.list
Dataset roles/
bigquery.jobUser
BigQuery Job User Provides permissions to run jobs, including queries, within the project. The jobUser role can enumerate their own jobs and cancel their own jobs. bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
bigquery.metadataViewer
BigQuery Metadata Viewer

When applied at the project or organization level, metadataViewer 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.

bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.get
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
bigquery.readSessionUser
BigQuery Read Session User Beta Access to create and use read sessions bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
BigQuery User Provides permissions to run jobs, including queries, within the project. The user 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.dataOwner role for these new datasets. bigquery.config.get
bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.jobs.create
bigquery.jobs.list
bigquery.models.list
bigquery.readsessions.*
bigquery.routines.list
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.tables.list
bigquery.transfers.get
resourcemanager.projects.get
resourcemanager.projects.list
Project
Función Cargo Descripción Permisos Recurso más bajo

Funciones básicas de BigQuery

Para obtener información sobre las funciones básicas de BigQuery, consulta los permisos y funciones básicas de BigQuery.

Funciones personalizadas de BigQuery

Para crear una función personalizada de Cloud IAM en BigQuery, sigue los pasos descritos en la documentación de funciones personalizadas de Cloud IAM.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.