arrow_back

Crea una vista autorizada en BigQuery

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Crea una vista autorizada en BigQuery

Lab 1 hora universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

Cuando usas BigQuery, los permisos se configuran al nivel del conjunto de datos. Con frecuencia, los equipos de ingeniería de datos trabajan con conjuntos de datos que tienen muchas tablas amplias de datos sin procesar, pero quieren compartir subconjuntos de estas tablas con algún analista en particular.

Por ejemplo, los analistas pueden tener acceso a una versión de una tabla que excluye las columnas con información específica del usuario. O, tal vez, un usuario en particular podría ver solo filas específicas de una determinada tabla o vista de BigQuery.

En este lab, aprenderás a crear y usar vistas autorizadas en BigQuery. También aprenderás a usar la información sobre el usuario registrado para filtrar a nivel de fila.

Este lab proporcionará dos usuarios de Google Cloud. Esto es para que puedas verificar los permisos de vista autorizada de BigQuery cuando accedas con un usuario diferente.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Establecer permisos en los conjuntos de datos de BigQuery
  • Usar las Vistas autorizadas para darle a la audiencia acceso de solo lectura a los subconjuntos de tablas
  • Usar la función SESSION_USER() para limitar el acceso a filas específicas dentro de una tabla o vista

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Tarea 1. Crea el conjunto de datos de origen

En esta tarea, crearás el conjunto de datos de origen en BigQuery que usarás en el lab.

Crea un conjunto de datos nuevo de BigQuery

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en BigQuery y, luego, en Listo.
  2. Crea un nuevo conjunto de datos dentro de tu proyecto, para esto haz clic en los tres puntos situados junto al ID de tu proyecto en la sección Explorador y, luego, haz clic en Crear un conjunto de datos.
  3. Escribe source_data en ID del conjunto de datos y haz clic en Crear un conjunto de datos (acepta los demás valores predeterminados).

Crea una nueva tabla de BigQuery con los datos de origen

  1. Haz clic en Activar Cloud Shell para abrirlo. Si se te solicita, haz clic en Continuar y, luego, en Autorizar.

  2. Para cargar los datos de origen en una nueva tabla en BigQuery, ingresa lo siguiente en Cloud Shell:

bq load --autodetect $DEVSHELL_PROJ:source_data.events gs://cloud-training/gcpsec/labs/bq-authviews-source.csv
  1. En la consola de BigQuery, para revisar los datos cargados, desglosa .source_data.events en la sección Explorador y haz clic en Vista previa.
Nota: Quizás debas actualizar el navegador para ver la tabla de eventos. Nota: Esta tabla contiene datos simulados relacionados con los eventos que generaron los usuarios de una aplicación de videoconferencia. Ten en cuenta que cada fila contiene información sobre el usuario que generó el evento.
  1. Para asegurarte de que un paso futuro funcionará como está previsto, ingresa la siguiente consulta en el Editor de BigQuery.
update source_data.events set email= '{{{ user_1.username | "USERNAME2" }}}' where email='rhonda.burns@example-dev.com'
  1. Haz clic en Ejecutar y espera a que se actualicen las 68 filas con una nueva dirección de correo electrónico.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear el conjunto de datos de origen

Tarea 2. Crea el conjunto de datos del analista

En esta tarea, crearás el conjunto de datos de los analistas, una vista limitada para ellos y una segunda vista para los usuarios registrados.

Crea un conjunto de datos

  1. Crea un nuevo conjunto de datos dentro de tu proyecto, para esto haz clic en los tres puntos situados junto al ID de tu proyecto en la sección Explorador y, luego, haz clic en Crear un conjunto de datos.
  2. Ingresa analyst_views como el ID del conjunto de datos y haz clic en Crear conjunto de datos (acepta los demás valores predeterminados).

Crea una vista limitada para los analistas

  1. Ingresa en el Editor de BigQuery el siguiente SQL para obtener los datos del evento sin incluir la información específica del usuario:
SELECT date, type, company, call_duration, call_type, call_num_users, call_os, rating, comment, session_id, dialin_duration, ticket_number, ticket_driver FROM `{{{ project_0.project_id | "PROJECT_ID" }}}.source_data.events`
  1. Ejecuta la consulta y revisa los resultados. Ten en cuenta que no se incluye la información del usuario.
  2. Para guardar la consulta ingresada como una vista, haz clic en Guardar > Guardar vista.
  3. Selecciona tu proyecto y el conjunto de datos analyst_views.
  4. Ingresa no_user_info como nombre de la tabla de destino y haz clic en Guardar. Ten en cuenta que, aunque la IU la muestra como tabla de destino, solo crearás una vista, no una tabla.
  5. Para asegurarte de que la vista funcione, navega por la sección Explorador hasta .analyst_views.no_user_info. Deberías ver la información del esquema para la vista, que excluye las columnas de información del usuario.
  6. Haz clic en la vista no_user_info. Haz clic en CONSULTA > En una nueva pestaña y, luego, agrega * en la sentencia SELECT para que la consulta en SQL se vea así:
SELECT * FROM `{{{ project_0.project_id | "PROJECT_ID" }}}.analyst_views.no_user_info` LIMIT 1000
  1. Ejecuta la consulta. Deberías ver resultados similares a los del paso anterior, pero sin datos del usuario.

Crea una segunda vista en la que se muestren solo las filas de los usuarios registrados

Después, crea una 2ª vista con la siguiente información.

  1. Ingresa la Consulta en el Editor de BigQuery.
SELECT * FROM `{{{ project_0.project_id | "PROJECT_ID" }}}.source_data.events` WHERE email = SESSION_USER()
  1. Haz clic en Ejecutar.

  2. Para guardar la consulta ingresada como una vista, haz clic en Guardar > Guardar vista.

  3. Selecciona tu proyecto y el conjunto de datos analyst_views.

  4. Ingresa el nombre de tabla de destino row_filter_session_user y haz clic en Guardar.

Nota: Esta 2ª vista permite a los usuarios ver sus propios eventos, pero no los de otra persona.

Haz clic en Revisar mi progreso para verificar el objetivo. Crear el conjunto de datos del analista

Tarea 3. Protege el conjunto de datos del analista

En esta tarea, compartirás el conjunto de datos del analista con el nombre de usuario 2 y le proporcionarás el rol de Visualizador para protegerlo.

Comparte el conjunto de datos

  1. En el listado de conjuntos de datos ubicado a la izquierda de la pantalla, haz clic en el conjunto de datos analyst_views.

  2. Luego, en el panel derecho selecciona Uso compartido y haz clic en Permisos.

  3. Haz clic en Agregar principal. En el campo Principales nuevas, ingresa la dirección de correo electrónico de la 2ª cuenta de lab: .

  4. Selecciona Visualizador de datos de BigQuery como el rol y haz clic en Guardar.

  5. Haz clic en Cerrar.

Tarea 4. Protege el conjunto de datos de origen

En esta tarea, protegerás el conjunto de datos de origen. Los analistas y personas ajenas al equipo de ingeniería de datos no deberían tener acceso a los datos sin procesar disponibles en el conjunto de datos de origen, por lo que tendrás que restringir el acceso.

Las personas que usen las vistas que creaste deberían poder ver los datos que estas produjeron. Para esto será necesario autorizar a las vistas y no a los usuarios.

Comparte el conjunto de datos

  1. En el listado de conjuntos de datos ubicado a la izquierda de la pantalla, haz clic en el conjunto de datos source_data.

  2. Luego, en el panel derecho selecciona Uso compartido y haz clic en Permisos.

  3. Expande el Visualizador de datos de BigQuery principal de la lista de permisos y haz clic en el ícono de la papelera que está junto a él y, luego, en Quitar para confirmar. Haz clic en Cerrar.

  4. En Uso compartido, haz clic en Autorizar vistas.

  5. En Vistas autorizadas, elige los siguientes párametros de configuración.

Vista autorizada

no_user_info

  1. Haz clic en Agregar autorización.

  2. Agrega otra entrada con esta configuración para reemplazar la vista existente.

Vista autorizada

row_filter_session_user

  1. Haz clic en Agregar autorización.

  2. Haz clic en Cerrar.

Haz clic en Revisar mi progreso para verificar el objetivo. Proteger los conjuntos de datos

Tarea 5. Revisa tu configuración de seguridad

En esta tarea, revisarás tu configuración de seguridad que ya aplicaste en tareas anteriores.

Accede a la consola de Cloud como el segundo usuario

  1. Abre otra pestaña en tu ventana de incógnito.
  2. Navega a la consola de Cloud.
  3. Haz clic en el ícono de usuario en la esquina superior derecha de la pantalla y, luego, en Agregar cuenta.
  4. Accede a la consola de Cloud con el usuario Username 2 proporcionado por Qwiklabs.

Revisa el acceso a las vistas del analista

  1. En el menú de navegación (Ícono del menú de navegación) de la consola de Google Cloud, haz clic en BigQuery y, luego, en Listo.
  2. Para verificar que puedes ejecutar consultas en la vista no_user_info, ejecuta la siguiente consulta:
SELECT * FROM `analyst_views.no_user_info` WHERE type='register'

Deberías ver un conjunto de resultados con todos los eventos de registro de usuarios dentro de la tabla.

  1. Para verificar que puedes consultar la vista row_filter_session_user (solo verás las filas asociadas a tu cuenta) ejecuta la siguiente consulta:
SELECT * FROM `analyst_views.row_filter_session_user`

Deberías ver un conjunto de resultados con 68 filas específicas del segundo usuario de Qwiklabs.

Comprueba el acceso al conjunto de datos de origen

  1. Intenta acceder a los datos sin procesar de la tabla de eventos con la siguiente consulta:
SELECT * FROM `source_data.events`

Verás un mensaje de error que dirá Acceso denegado, esto indica que no tienes los permisos.

  1. Intenta navegar hasta el conjunto de datos source_data a través de la sección Explorador de la IU. Esto tampoco debería estar permitido.
Nota: El 2º usuario de Qwiklabs tiene permisos para ver tablas y vistas en el conjunto de datos analyst_views, pero no puede ver nada en el source_data.

Cuando el usuario consulta la vista, esta dispone de los permisos necesarios para operar con la tabla del conjunto de datos source_data y, luego, mostrar esos datos al usuario.

La vista de filtrado de filas obtiene la dirección de correo electrónico del usuario y la usa para filtrar las filas visibles. Cada usuario que consulte esta vista obtendrá resultados diferentes, sobre todo las filas que tienen su correo electrónico en esa columna.

Felicitaciones

En este lab, aprendiste a hacer las siguientes tareas:

  • Establecer permisos en los conjuntos de datos de BigQuery
  • Autorizar las vistas para proporcionar a las audiencias acceso de solo lectura a subconjuntos de tablas
  • Usar la función SESSION_USER() para limitar el acceso a filas específicas dentro de una tabla o vista

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2025 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.