Ejemplos de control de acceso

Situaciones de ejemplo

En los siguientes ejemplos, se incluye un grupo de científicos de datos que pertenecen a un grupo de Google denominado AnalystGroup.

Acceso de lectura y escritura a los datos de un conjunto de datos

CompanyProject es un proyecto que incluye los conjuntos de datos dataset1 y dataset2. AnalystGroup1 es un grupo de científicos de datos que trabajan solamente en dataset1, y AnalystGroup2 es un grupo que trabaja solo en dataset2. Los científicos de datos deben tener acceso completo al conjunto de datos en el que trabajan, lo que incluye el acceso para ejecutar consultas sobre los datos.

Acceso de lectura y escritura a un conjunto de datos
En el conjunto de datos CompanyProject:dataset1 Otorga acceso de WRITER a AnalystGroup1 en dataset1. Esta función se asigna a la función predefinida de IAM bigquery.dataEditor.
En el conjunto de datos CompanyProject:dataset2 Otorga acceso de WRITER a AnalystGroup1 en dataset1. Esta función se asigna a la función predefinida de IAM bigquery.dataEditor.
En el proyecto CompanyProject Otorga acceso de bigquery.user a AnalystGroup1 y AnalystGroup2 en CompanyProject.

Cuando se otorga el acceso de WRITER a los científicos de datos a nivel del conjunto de datos, se les brinda la capacidad de consultar datos en las tablas del conjunto de datos, pero no se les otorgan permisos para ejecutar trabajos de consulta en el proyecto. Para que los científicos de datos puedan ejecutar trabajos de consulta en el conjunto de datos al que se les dio acceso, se les debe otorgar la función predefinida a nivel de proyecto: bigquery.user. La función bigquery.user otorga permisos bigquery.jobs.create.

Como alternativa, puedes agregar los grupos de científicos de datos a una función personalizada de IAM a nivel de proyecto que otorgue permisos bigquery.jobs.create.

Acceso completo a los datos en un proyecto

AnalystGroup es un grupo de científicos de datos que trabajan en BigQuery y son responsables de todas las facetas de su uso dentro de un proyecto denominado CompanyProject. El grupo prefiere que todos los miembros tengan acceso de lectura y escritura a todos los datos. Otros grupos en la organización trabajan con otros productos de Google Cloud, pero nadie más interactúa con BigQuery. AnalystGroup no usa ningún otro servicio de Google Cloud.

Acceso completo a los datos en un proyecto
En el proyecto CompanyProject Agrega AnalystGroup a la función predefinida bigquery.admin.

Acceso completo en toda una organización

CompanyA es una organización que desea que una persona específica, denominada Admin1, sea el administrador de todos los datos de BigQuery en todos los proyectos. MonitoringServiceAccount es una cuenta de servicio que es responsable de supervisar el tamaño de todas las tablas en todos los proyectos de la organización.

Acceso completo en toda una organización
En la organización CompanyA

Si la empresa decide que MonitoringServiceAccount también debe recortar las tablas que superen un tamaño determinado y quitar los datos anteriores a un período específico, MonitoringServiceAccount debe agregarse a la función predefinida bigquery.user.

Acceso de lectura a los datos en el mismo proyecto

AnalystGroup es un conjunto de científicos de datos responsables de los servicios de estadísticas dentro de un proyecto denominado CompanyProject. OperationsServiceAccount es una cuenta de servicio que es responsable de cargar los registros de la aplicación en BigQuery mediante trabajos de carga masiva en un conjunto de datos específico de CompanyProject:AppLogs. Los analistas no están autorizados a modificar los registros.

Acceso de lectura a los datos en el mismo proyecto
En el proyecto CompanyProject
  • Agrega OperationsServiceAccount a la función predefinida bigquery.user.
  • Agrega AnalystGroup a la función predefinida bigquery.user.
En el conjunto de datos CompanyProject:AppLogs

Acceso de lectura a los datos en un proyecto diferente

AnalystGroup es un conjunto de científicos de datos responsable de los servicios de estadísticas dentro de un proyecto denominado CompanyProject. Sin embargo, los datos que analizan residen en otro proyecto, denominado CompanyLogs. OperationsServiceAccount es una cuenta de servicio que es responsable de cargar los registros de la aplicación en BigQuery mediante trabajos de carga masiva en una variedad de conjuntos de datos del proyecto CompanyLogs.

AnalystGroup solo puede leer los datos del proyecto CompanyLogs y no puede crear almacenamiento adicional ni ejecutar ningún trabajo de consulta en ese proyecto. En cambio, los analistas utilizan el proyecto CompanyAnalytics para realizar su trabajo y mantienen los resultados dentro del proyecto CompanyAnalytics.

Acceso de lectura a los datos en un proyecto diferente
En el proyecto CompanyLogs
En el proyecto CompanyAnalytics

Información adicional

En los siguientes temas, se proporciona más información sobre el control de acceso de BigQuery.