Partilhar regras dos VPC Service Controls

Este documento descreve as regras de entrada e saída que tem de permitir que os publicadores e os subscritores na partilha do BigQuery (anteriormente Analytics Hub) acedam aos dados de projetos que têm perímetros do VPC Service Controls. Este documento pressupõe que tem conhecimentos sobre os perímetros dos VPC Service Controls, conjuntos de dados partilhados, trocas de dados, fichas e conjuntos de dados associados.

Um projeto de chamador é o projeto de rede ou cliente Google Cloud que inicia o pedido, como uma consulta SQL ou um comando da CLI do Google Cloud.

Crie uma troca de dados

No diagrama seguinte, os projetos que contêm a troca de dados e o conjunto de dados partilhado estão em perímetros de serviço diferentes:

Regra dos VPC Service Controls ao criar uma troca de dados.

Figura 1. Regras dos VPC Service Controls para criar uma troca de dados.

Na figura 1, os seguintes componentes estão etiquetados:

  • Autor da chamada: um administrador de partilha do BigQuery.
  • Projeto R: o projeto do autor da chamada.
  • Projeto E: aloja a troca de dados e as fichas.

Enquanto administrador da partilha do BigQuery, quando cria uma troca de dados num projeto diferente do projeto do autor da chamada, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R Regra de saída para o projeto E
Projeto E (intercâmbio de dados) Regra de entrada para o projeto R

Crie uma ficha

No diagrama seguinte, os projetos que contêm a troca de dados e o conjunto de dados partilhado estão em perímetros de serviço diferentes:

Regra do VPC Service Controls ao criar uma ficha.

Figura 2. Regras dos VPC Service Controls para criar uma ficha.

Na figura 2, os seguintes componentes estão etiquetados:

  • Autor da chamada: um administrador ou um publicador de partilha do BigQuery.
  • Projeto R: o projeto do autor da chamada.
  • Projeto E: aloja a troca de dados e as fichas.
  • Projeto S: aloja o conjunto de dados partilhado.

Quando cria uma ficha numa troca de dados que está num projeto diferente do conjunto de dados partilhado, tem de adicionar as seguintes regras de entrada e saída para permitir que os publicadores de partilha do BigQuery criem uma ficha:

Projeto Regra
Project R

Regra de saída para o projeto E

Regra de saída para o projeto S

Projeto E (intercâmbio de dados)

Regra de saída para o projeto S

Regra de entrada para o projeto R

Projeto S (conjunto de dados partilhado)

Regra de saída para o projeto E

Regra de entrada para o projeto R

Subscreva uma ficha

No diagrama seguinte, os projetos que contêm a ficha e o conjunto de dados associado a essa ficha estão em perímetros de serviço diferentes:

Regra dos VPC Service Controls ao subscrever uma ficha.

Figura 3. Regras dos VPC Service Controls para subscrever uma ficha.

Na figura 3, os seguintes componentes estão etiquetados:

  • Autor da chamada: um subscritor da partilha do BigQuery.
  • Projeto R: o projeto do autor da chamada.
  • Projeto E: aloja a troca de dados e as fichas.
  • Projeto L: aloja o conjunto de dados associado.

Enquanto subscritor da partilha do BigQuery, quando subscreve uma ficha numa troca de dados que está num projeto diferente do seu, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R

Regra de saída para o projeto E

Regra de saída para o projeto L

Project E (listing)

Regra de saída para o projeto L

Regra de entrada para o projeto R

Projeto L (conjunto de dados associado)

Regra de saída para o projeto E

Regra de entrada para o projeto R

Consultar tabelas num conjunto de dados associado

No diagrama seguinte, o projeto de chamadas e o projeto que contém o conjunto de dados associado estão em perímetros de serviço diferentes:

Os VPC Service Controls são aplicados quando consulta uma tabela no conjunto de dados associado.

Figura 4. Regras dos VPC Service Controls para consultar um conjunto de dados associado.

Na figura 4, os seguintes componentes estão etiquetados:

  • Autor da chamada: um subscritor da partilha do BigQuery ou qualquer utilizador de tarefas do BigQuery do conjunto de dados associado.
  • Projeto R: o projeto do autor da chamada.
  • Projeto L: aloja o conjunto de dados associado.
  • Projeto V: aloja o conjunto de dados partilhado que contém a tabela.

Quando, como subscritor da partilha do BigQuery, consulta uma tabela no conjunto de dados associado, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R Regra de saída para o projeto L
Projeto L (conjunto de dados associado) Regra de entrada para o projeto R

Consultar vistas num conjunto de dados associado

Esta secção descreve as regras dos VPC Service Controls necessárias para consultar uma vista num conjunto de dados associado. As regras variam consoante a vista e as tabelas base subjacentes estejam no mesmo projeto ou em projetos separados.

Cenário 1

No diagrama seguinte, os projetos que contêm o conjunto de dados associado e as tabelas base associadas à vista encontram-se em perímetros de serviço diferentes. A vista (Project S) e a tabela base associada à vista (Project V) estão em projetos diferentes:

As tabelas de visualização e base estão em projetos diferentes.

Figura 5. Regras dos VPC Service Controls para consultar uma vista num conjunto de dados associado.

Na figura 5, os seguintes componentes estão etiquetados:

  • Autor da chamada: um subscritor da partilha do BigQuery ou qualquer utilizador de tarefas do BigQuery do conjunto de dados associado.
  • Projeto R: o projeto do autor da chamada.
  • Projeto L: aloja o conjunto de dados associado.
  • Projeto S: aloja o conjunto de dados partilhado.
  • Projeto V: aloja o conjunto de dados que contém as tabelas base associadas à vista.

Quando, como subscritor da partilha do BigQuery, consulta uma vista num conjunto de dados associado, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R

Regra de saída para o projeto L

Regra de saída para o projeto V

Projeto L (conjunto de dados associado)

Regra de entrada para o projeto R

Regra de saída para o projeto V

Project V

Regra de saída para o projeto L

Regra de entrada para o projeto R

Cenário 2

No diagrama seguinte, a vista (Project V) e a tabela base associada à vista (Project V) estão no mesmo projeto:

As tabelas de visualização e as tabelas base estão no mesmo projeto.

Figura 6. Regras dos VPC Service Controls para consultar uma vista num conjunto de dados associado.

Na figura 6, os seguintes componentes estão etiquetados:

  • Autor da chamada: um subscritor da partilha do BigQuery ou qualquer utilizador de tarefas do BigQuery do conjunto de dados associado.
  • Projeto R: o projeto do autor da chamada.
  • Projeto L: aloja o conjunto de dados associado.
  • Project V: aloja a visualização de propriedade e as tabelas base associadas à visualização de propriedade.

Quando, como subscritor da partilha do BigQuery, consulta uma vista num conjunto de dados associado, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R

Regra de saída para o projeto L

Projeto L (conjunto de dados associado)

Regra de entrada para o projeto R

Consulte vistas autorizadas num conjunto de dados associado

No diagrama seguinte, a vista autorizada e a tabela base associada à vista autorizada (Projeto V) estão no mesmo projeto:

A vista autorizada e as tabelas base estão no mesmo projeto.

Figura 7. Regras dos VPC Service Controls para consultar uma vista num conjunto de dados associado.

Na figura 7, os seguintes componentes estão etiquetados:

  • Autor da chamada: um subscritor da partilha do BigQuery ou qualquer utilizador de tarefas do BigQuery do conjunto de dados associado.
  • Projeto R: o projeto do autor da chamada.
  • Projeto L: aloja o conjunto de dados associado.
  • Project V: aloja a vista autorizada e as tabelas base associadas à vista.

Quando, como subscritor da partilha do BigQuery, consulta uma vista num conjunto de dados associado, tem de adicionar as seguintes regras de entrada e saída:

Projeto Regra
Project R

Regra de saída para o projeto L

Projeto L (conjunto de dados associado)

Regra de entrada para o projeto R

Limitações

A partilha do BigQuery não suporta regras baseadas em métodos. Tem de permitir todos os métodos para ativar as regras baseadas em métodos. Por exemplo:

          ingressTo:
            operations:
            - methodSelectors:
              - method: '*'
              serviceName: analyticshub.googleapis.com
            resources:
            - projects/PROJECT_ID

Se os recursos do BigQuery também estiverem protegidos por perímetros de serviço, tem de permitir regras de entrada e saída para o serviço BigQuery. Não é necessário permitir regras de entrada e saída quando cria uma troca de dados. As regras de entrada e saída do BigQuery são semelhantes às da partilha do BigQuery. Por exemplo:

          ingressTo:
            operations:
            - methodSelectors:
              - method: '*'
              serviceName: bigquery.googleapis.com
            resources:
            - projects/PROJECT_ID

O que se segue?