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 acedam aos dados de projetos que têm perímetros do VPC Service Controls. Parte do princípio de que tem familiaridade com 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 que inicia o pedido, como uma consulta SQL ou um comando da Google Cloud CLI.

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:

  • O autor da chamada é um administrador do Centro de análise.
  • O projeto R é o projeto do autor da chamada.
  • O projeto E aloja a partilha do BigQuery (anteriormente Analytics Hub), a troca de dados e as fichas.

Enquanto administrador do Analytics Hub, 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 dos 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:

  • O autor da chamada é um administrador ou um publicador do Analytics Hub.
  • O projeto R é o projeto do autor da chamada.
  • O Projeto E aloja a troca de dados de partilha e as fichas.
  • O 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 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:

  • O autor da chamada é subscritor do Analytics Hub.
  • O projeto R é o projeto do autor da chamada.
  • O Projeto E aloja a troca de dados de partilha e as fichas.
  • O projeto L aloja o conjunto de dados associado.

Enquanto subscritor do Analytics Hub, quando subscreve uma ficha numa troca de dados que se encontra 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 chamador e o projeto que contém o conjunto de dados associado estão em perímetros de serviço diferentes:

Os VPC Service Controls regem-se pela consulta de 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:

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

Enquanto subscritor do Analytics Hub, quando 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

Cenário 1

No diagrama seguinte, os projetos que contêm o conjunto de dados associado e as tabelas base associadas à vista estão 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:

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

Enquanto subscritor do Analytics Hub, quando consulta uma visualização de propriedade 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 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:

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

Enquanto subscritor do Analytics Hub, quando consulta uma visualização de propriedade 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:

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

Enquanto subscritor do Analytics Hub, quando consulta uma visualização de propriedade 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 (anteriormente Analytics Hub) não suporta regras baseadas em métodos. Para permitir métodos, tem de permitir todos os 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, as regras de entrada e saída também têm de ser permitidas para o serviço do BigQuery. Isto não é necessário quando cria uma troca de dados. As regras de entrada e saída para o 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?