Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

Declaraciones de lenguaje de control de datos (DCL) en SQL estándar de Google

Las declaraciones de lenguaje de control de datos (DCL) de BigQuery te permiten configurar y controlar los recursos de BigQuery mediante la sintaxis de consultas SQL estándar de Google.

Usa estas declaraciones para otorgar o quitar el acceso a los recursos de BigQuery.

Para obtener más información sobre cómo controlar el acceso a recursos específicos de BigQuery, consulta los siguientes vínculos:

Permisos necesarios

Se requieren los siguientes permisos para ejecutar las declaraciones GRANT y REVOKE.

Tipo de recurso Permisos
Conjunto de datos bigquery.datasets.update
Tabla bigquery.tables.setIamPolicy
Ver bigquery.tables.setIamPolicy

Declaración GRANT

Otorga funciones a los usuarios en los recursos de BigQuery.

Sintaxis

GRANT role_list
  ON resource_type resource_name
  TO user_list

Aquí:

  • role_list es una función o una lista de funciones separadas por comas que contiene los permisos que deseas otorgar. Para obtener más información sobre los tipos de funciones disponibles, consulta Comprende las funciones.

  • resource_type es el tipo de recurso al que se aplica la función. Los valores admitidos son SCHEMA (equivalente al conjunto de datos), TABLE, VIEW y EXTERNAL TABLE.

  • resource_name es el nombre del recurso en el que deseas otorgar el permiso.

  • user_list es una lista separada por comas de los usuarios a los que se otorga la función.

user_list

Especifica los usuarios con los siguientes formatos:

Tipo de usuario Sintaxis Ejemplo
Cuenta de Google user:$user@$domain user:first.last@example.com
Grupo de Google group:$group@$domain group:my-group@example.com
Cuenta de servicio serviceAccount:$user@$project.iam.gserviceaccount.com serviceAccount:robot@example.iam.gserviceaccount.com
Dominio de Google domain:$domain domain:example.com
Todas las Cuentas de Google specialGroup:allAuthenticatedUsers specialGroup:allAuthenticatedUsers
Todos los usuarios specialGroup:allUsers specialGroup:allUsers

Para obtener más información sobre cada tipo de usuario en la tabla, consulta Conceptos relacionados con la identidad.

Ejemplo

En el siguiente ejemplo, se otorga la función bigquery.dataViewer a los usuarios tom@example.com y sara@example.com en un conjunto de datos llamado mycompany:

GRANT `roles/bigquery.dataViewer` ON SCHEMA `mycompany`.revenue
TO "user:tom@example.com", "user:sara@example.com"

Declaración REVOKE

Quita funciones de una lista de usuarios en los recursos de BigQuery.

Sintaxis

REVOKE role_list
  ON {SCHEMA | TABLE | VIEW | EXTERNAL_TABLE} resource_name
  FROM user_list

Aquí:

  • role_list es una función o una lista de funciones separadas por comas que contiene los permisos que deseas quitar. Para obtener más información sobre los tipos de funciones disponibles, consulta Comprende las funciones.

  • resource type es el tipo de recurso del que se quitará la función. Los valores admitidos son SCHEMA (equivalente al conjunto de datos), TABLE, VIEW y EXTERNAL TABLE.

  • resource_name es el nombre del recurso en el que deseas revocar la función.

  • user_list es una lista de usuarios separados por comas desde la que se revocó la función.

Ejemplo

En el siguiente ejemplo, se quita la función bigquery.admin en el conjunto de datos myProject.myDataset del grupo example-team@example.com y una cuenta de servicio:

REVOKE `roles/bigquery.admin` ON SCHEMA myProject.myDataset
FROM "group:example-team@example.com", "serviceAccount:user@test-project.iam.gserviceaccount.com"