Funciones y permisos básicos

Descripción general

BigQuery admite las funciones básicas de IAM para el acceso a nivel de proyecto.

Funciones básicas de los proyectos

Según la configuración predeterminada, la asignación de acceso a un proyecto también otorga acceso a los conjuntos de datos que contenga. El acceso predeterminado puede anularse en cada conjunto de datos. En la siguiente tabla, se describe qué acceso se otorga a los miembros de las funciones básicas de IAM.

Función básica Funciones
Viewer
  • Puede iniciar un trabajo en el proyecto. Se requieren funciones adicionales del conjunto de datos en función del tipo de trabajo.
  • Puede enumerar y obtener todos los trabajos, y actualizar los trabajos que comenzaron para el proyecto.
  • Si creas un conjunto de datos en un proyecto que contiene visualizadores, BigQuery otorga a esos usuarios la función predefinida bigquery.dataViewer para el conjunto de datos nuevo.
Editor
  • Igual que Viewer, más las siguientes capacidades:
    • Puede crear un conjunto de datos nuevo en el proyecto.
    • Si creas un conjunto de datos en un proyecto que contiene editores, BigQuery asigna a esos usuarios la función predefinida bigquery.dataEditor para el conjunto de datos nuevo.
Owner
  • Igual que Editor, más las siguientes capacidades:
    • Puede revocar o cambiar la función de proyecto
    • Puede enumerar todos los conjuntos de datos del proyecto.
    • Puede borrar cualquier conjunto de datos en el proyecto.
    • Puede enumerar y hacer que todos los trabajos se ejecuten en el proyecto, incluidos los trabajos que ejecutan otros usuarios del proyecto.
    • Si creas un conjunto de datos, BigQuery otorga a todos los propietarios del proyecto la función predefinida bigquery.dataOwner para el conjunto de datos nuevo.

      Excepción: Cuando un usuario ejecuta una consulta, se crea un conjunto de datos anónimo para almacenar la tabla de resultados almacenados en caché. El acceso OWNER al conjunto de datos anónimo solo se otorga al usuario que ejecuta la consulta.

Las funciones básicas de los proyectos se otorgan o revocan a través de Google Cloud Console. Cuando se crea un proyecto, BigQuery otorga la función Owner al usuario que lo creó.

Cuando BigQuery recibe una llamada de una identidad (ya sea un usuario, un grupo o una cuenta de servicio) a la que se le asigna una función básica, BigQuery interpreta esa función básica como miembro de un grupo especial. La membresía especial de grupo otorga los permisos de identidad que se asignan a una función de IAM de BigQuery. El siguiente gráfico identifica el grupo especial y la función para cada función básica:

Función básica Grupo asignado Función de IAM de BigQuery
roles/viewer access.specialGroup: projectReaders roles/bigquery.dataViewer
roles/editor access.specialGroup: projectWriters roles/bigquery.dataEditor
roles/owner access.specialGroup: projectOwners roles/bigquery.dataOwner

El acceso especial a un grupo solo se otorga en el momento de la creación. Para quitar o cambiar permisos más adelante, puedes editar las políticas de IAM del conjunto de datos o las listas de control de acceso a objetos (LCA).

Para obtener más información sobre cómo otorgar o revocar el acceso a funciones de proyecto, consulta Otorga, cambia y revoca el acceso a los recursos en la documentación de IAM.

Funciones básicas de los conjuntos de datos

Las siguientes funciones básicas se aplican a nivel de conjuntos de datos.

Función del conjunto de datos Funciones
READER
  • Puede leer, consultar, copiar o exportar tablas en el conjunto de datos. Puede leer rutinas en el conjunto de datos.
    • Puede llamar al comando get en el conjunto de datos.
    • Puede llamar a los comandos get y list en las tablas del conjunto de datos.
    • Puede llamar a los comandos get y list en las rutinas del conjunto de datos.
    • Puede llamar al comando list en los datos de las tablas del conjunto de datos.
  • Se asigna a la función predefinida bigquery.dataViewer.
WRITER
  • Igual que READER, más las siguientes capacidades:
    • Puede editar o adjuntar datos en el conjunto de datos.
      • Puede llamar a los comandos insert, insertAll, update o delete en las tablas.
      • Puede usar tablas en el conjunto de datos como destinos para trabajos de carga, copia o consulta.
      • Puede llamar a los comandos insert, update o delete en las rutinas.
  • Se asigna a la función predefinida bigquery.dataEditor.
OWNER
  • Igual que WRITER, más las siguientes capacidades:
    • Puede llamar al comando update en el conjunto de datos.
    • Puede llamar al comando delete en el conjunto de datos.
  • Se asigna a la función predefinida bigquery.dataOwner.

Nota: Un conjunto de datos debe tener al menos una entidad con la función OWNER. Un usuario con la función OWNER no puede quitar su propia función OWNER.

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.

Cuando creas un conjunto de datos nuevo, BigQuery agrega acceso al conjunto de datos predeterminado para las siguientes entidades. Las funciones que especificas en la creación del conjunto de datos reemplazan los valores predeterminados.

Entidad Función del conjunto de datos
Todos los usuarios que tengan acceso Viewer al proyecto READER
Todos los usuarios que tengan acceso Editor al proyecto WRITER
Todos los usuarios que tengan acceso Owner al proyecto

OWNER

Excepción: Cuando un usuario ejecuta una consulta, se crea un conjunto de datos anónimo para almacenar la tabla de resultados almacenados en caché. El acceso OWNER al conjunto de datos anónimo solo se otorga al usuario que ejecuta la consulta.