Configura reglas de los Controles del servicio de VPC para compartir BigQuery
Las reglas de entrada y salida permiten que los publicadores y suscriptores en el uso compartido de BigQuery (antes Analytics Hub) accedan a los datos de los proyectos que están protegidos por los perímetros de los Controles del servicio de VPC. Estas reglas se configuran entre un proyecto de emisor, que es el proyecto de red o cliente Google Cloud que inicia una solicitud, como una consulta en SQL o un comando de Google Cloud CLI, y los proyectos que alojan tus intercambios de datos, fichas y conjuntos de datos.
Antes de configurar estas reglas, debes conocer los perímetros de los Controles del servicio de VPC, los conjuntos de datos compartidos, los intercambios de datos, las fichas y los conjuntos de datos vinculados.
Limitaciones
El uso compartido de BigQuery no admite
reglas basadas en métodos. Debes
especificar method: '*' para permitir todos los métodos en tus reglas de entrada y salida:
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: analyticshub.googleapis.com
resources:
- projects/PROJECT_NUMBER
Si los perímetros de servicio también protegen los recursos de BigQuery, debes permitir las reglas de entrada y salida para el servicio de BigQuery. No es necesario permitir reglas de entrada y salida cuando creas un intercambio de datos. Las reglas de entrada y salida para BigQuery son similares a las de BigQuery sharing:
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
resources:
- projects/PROJECT_NUMBER
Reemplaza PROJECT_NUMBER por el número del proyecto de destino que está protegido por el perímetro de servicio.
Crea un intercambio de datos
En el siguiente diagrama, el proyecto que realiza la llamada y el proyecto que contiene el intercambio de datos se encuentran en diferentes perímetros de servicio:
Figura 1. Reglas de los Controles del servicio de VPC para crear un intercambio de datos.
En la figura 1, se muestran los siguientes componentes:
- Emisor: un administrador de uso compartido de BigQuery.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto E: Es el proyecto que aloja el intercambio de datos y las fichas.
Como administrador de BigQuery sharing, cuando creas un intercambio de datos en un proyecto diferente al proyecto emisor, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R | Regla de salida del proyecto E |
| Proyecto E (intercambio de datos) | Regla de entrada del proyecto R |
Crea una ficha
En el siguiente diagrama, los proyectos que contienen el intercambio de datos y el conjunto de datos compartido se encuentran en diferentes perímetros de servicio:
Figura 2. Reglas de los Controles del servicio de VPC para crear una lista.
En la figura 2, se muestran los siguientes componentes:
- Emisor: Es un administrador o publicador de BigQuery sharing.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto E: Es el proyecto que aloja el intercambio de datos y las fichas.
- Proyecto S: Es el proyecto que aloja el conjunto de datos compartido.
Como publicador de BigQuery sharing, cuando creas una ficha en un intercambio de datos que se encuentra en un proyecto diferente al del conjunto de datos compartido, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R |
Regla de salida del proyecto E Regla de salida del proyecto S |
| Proyecto E (intercambio de datos) |
Regla de salida del proyecto S Regla de entrada del proyecto R |
| Proyecto S (conjunto de datos compartidos) |
Regla de salida del proyecto E Regla de entrada del proyecto R |
Suscríbete a una ficha
En el siguiente diagrama, los proyectos que contienen la ficha y el conjunto de datos vinculado para esa ficha se encuentran en diferentes perímetros de servicio:
Figura 3. Reglas de los Controles del servicio de VPC para suscribirse a una ficha.
En la Figura 3, se muestran los siguientes componentes:
- Emisor: un suscriptor de BigQuery sharing.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto E: Es el proyecto que aloja el intercambio de datos y las fichas.
- Proyecto L: Es el proyecto que aloja el conjunto de datos vinculado.
Como suscriptor de BigQuery sharing, cuando te suscribes a una ficha en un intercambio de datos que se encuentra en un proyecto diferente al tuyo, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R |
Regla de salida del proyecto E Regla de salida del proyecto L |
| Proyecto E (lista) |
Regla de salida del proyecto L Regla de entrada del proyecto R |
| Proyecto L (conjunto de datos vinculados) |
Regla de salida del proyecto E Regla de entrada del proyecto R |
Actualiza una ficha
Cuando actualizas una ficha, por ejemplo, para modificar su política de exportación restringida, el uso compartido de BigQuery usa un trabajador en segundo plano para propagar estos cambios a los conjuntos de datos vinculados asociados. Si un perímetro de Controles del servicio de VPC con restricciones basadas en IP protege tu proyecto de Google Cloud , el perímetro podría bloquear el trabajador en segundo plano que se origina en la infraestructura de Google y evitar que se sincronice el conjunto de datos vinculado.
Para permitir que el trabajador en segundo plano actualice el conjunto de datos vinculado, configura tus reglas de entrada o salida de modo que el usuario que llama o la cuenta de servicio que ejecuta la llamada a la API omita las restricciones basadas en IP.
Para modificar la política de entrada en el perímetro del proyecto del suscriptor, agrega una
regla de entrada que permita que la principal que realiza la llamada acceda al
servicio bigquery.googleapis.com desde cualquier dirección IP de origen (*):
- ingressFrom:
sources:
- accessLevel: "*"
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
ingressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
Como alternativa, para modificar la política de salida en el perímetro del publicador, agrega
la identidad que realiza la llamada a la lista identities en la regla de salida para el
proyecto del suscriptor:
- egressFrom:
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
egressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
Reemplaza lo siguiente:
CALLING_USER_EMAIL: Es la dirección de correo electrónico del usuario que ejecuta la llamada a la API para actualizar la ficha. Incluye esta identidad si un usuario humano realiza la actualización.AUTOMATION_SA_EMAIL: Es la dirección de correo electrónico de la cuenta de servicio que ejecuta la llamada a la API para actualizar la ficha. Incluye esta identidad si un proceso o una secuencia de comandos automatizados realizan la actualización.SUBSCRIBER_PROJECT_NUMBER: Es el número del proyecto del suscriptor que contiene el conjunto de datos vinculado.
Consulta tablas en un conjunto de datos vinculado
En el siguiente diagrama, el proyecto que realiza la llamada y el proyecto que contiene el conjunto de datos vinculado se encuentran en diferentes perímetros de servicio:
Figura 4. Reglas de los Controles del servicio de VPC para consultar un conjunto de datos vinculado.
En la Figura 4, se muestran los siguientes componentes:
- Emisor: Es un suscriptor de BigQuery sharing o cualquier usuario de trabajo de BigQuery del conjunto de datos vinculado.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto L: Es el proyecto que aloja el conjunto de datos vinculado.
- Proyecto V: Es el proyecto que aloja el conjunto de datos compartido que contiene la tabla.
Como suscriptor de BigQuery sharing, cuando consultas una tabla en un conjunto de datos vinculado, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R | Regla de salida del proyecto L |
| Proyecto L (conjunto de datos vinculados) | Regla de entrada del proyecto R |
Visualiza consultas en un conjunto de datos vinculado
En esta sección, se describen las reglas de los Controles del servicio de VPC necesarias para consultar una vista en un conjunto de datos vinculado. Las reglas varían según si la vista y sus tablas base subyacentes están en el mismo proyecto o en proyectos diferentes.
Las tablas base y de vista están en proyectos diferentes
En el siguiente diagrama, los proyectos que contienen el conjunto de datos vinculado y las tablas base asociadas con la vista se encuentran en diferentes perímetros de servicio. La vista (Proyecto S) y la tabla base asociada con la vista (Proyecto V) se encuentran en proyectos diferentes:
Figura 5. Reglas de los Controles del servicio de VPC para consultar una vista cuando las tablas base y de vista están en proyectos diferentes.
En la figura 5, se muestran los siguientes componentes:
- Emisor: un suscriptor de uso compartido de BigQuery o cualquier usuario de trabajo de BigQuery del conjunto de datos vinculado.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto L: Es el proyecto que aloja el conjunto de datos vinculado.
- Proyecto S: Es el proyecto que aloja el conjunto de datos compartido.
- Proyecto V: Es el proyecto que aloja el conjunto de datos que contiene las tablas base asociadas con la vista.
Como suscriptor de BigQuery sharing, cuando consultas una vista en un conjunto de datos vinculado, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R |
Regla de salida del proyecto L Regla de salida del proyecto V |
| Proyecto L (conjunto de datos vinculados) |
Regla de entrada del proyecto R Regla de salida del proyecto V |
| Proyecto V |
Regla de salida del proyecto L Regla de entrada del proyecto R |
Las tablas de vista y base están en el mismo proyecto
En el siguiente diagrama, la vista (Proyecto V) y la tabla base asociada con la vista (Proyecto V) están en el mismo proyecto:
Figura 6. Reglas de los Controles del servicio de VPC para consultar una vista cuando las tablas de vista y base están en el mismo proyecto.
En la figura 6, se muestran los siguientes componentes:
- Emisor: un suscriptor de uso compartido de BigQuery o cualquier usuario de trabajo de BigQuery del conjunto de datos vinculado.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto L: Es el proyecto que aloja el conjunto de datos vinculado.
- Proyecto V: Es el proyecto que aloja la vista y las tablas base asociadas con la vista.
Como suscriptor de BigQuery sharing, cuando consultas una vista en un conjunto de datos vinculado, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R | Regla de salida del proyecto L |
| Proyecto L (conjunto de datos vinculados) | Regla de entrada del proyecto R |
Consulta vistas autorizadas en un conjunto de datos vinculado
En el siguiente diagrama, la vista autorizada y la tabla base asociada con la vista autorizada (proyecto V) están en el mismo proyecto:
Figura 7. Reglas de los Controles del servicio de VPC para consultar una vista autorizada en un conjunto de datos vinculado.
En la figura 7, se muestran los siguientes componentes:
- Emisor: un suscriptor de uso compartido de BigQuery o cualquier usuario de trabajo de BigQuery del conjunto de datos vinculado.
- Proyecto R: el proyecto que realiza la llamada.
- Proyecto L: Es el proyecto que aloja el conjunto de datos vinculado.
- Proyecto V: Es el proyecto que aloja la vista autorizada y las tablas base asociadas con la vista.
Como suscriptor de BigQuery sharing, cuando consultas una vista autorizada en un conjunto de datos vinculado, debes agregar las siguientes reglas de entrada y salida:
| Proyecto | Regla |
|---|---|
| Proyecto R | Regla de salida del proyecto L |
| Proyecto L (conjunto de datos vinculados) | Regla de entrada del proyecto R |
¿Qué sigue?
- Obtén información para solucionar problemas de los Controles del servicio de VPC.
- Obtén información sobre las reglas de entrada y salida.
- Obtén información sobre la configuración de las políticas de entrada y salida.
- Obtén información para crear una ficha.
- Obtén información sobre cómo suscribirse a una ficha.
- Obtén más información sobre el registro de auditoría de uso compartido.