Compartilhar regras do VPC Service Controls
Neste documento, descrevemos as regras de entrada e saída necessárias para permitir que editores e assinantes no BigQuery Sharing (antigo Analytics Hub) acessem dados de projetos com perímetros do VPC Service Controls. Neste documento, pressupomos familiaridade com os perímetros do VPC Service Controls, os conjuntos de dados compartilhados, as trocas de dados, fichas e conjuntos de dados vinculados.
Um projeto do autor da chamada é a rede ou o cliente que inicia a solicitação, como uma consulta SQL ou um comando da Google Cloud CLI.
Criar uma troca de dados
No diagrama a seguir, os projetos que contêm a troca de dados e o conjunto de dados de origem estão em perímetros de serviço diferentes:
Figura 1. Regras do VPC Service Controls para criar uma troca de dados.
Na Figura 1, os componentes a seguir são rotulados:
- O autor da chamada é um administrador do BigQuery Sharing.
- Projeto R é o projeto do autor da chamada.
- O projeto E hospeda a troca de dados e as listagens.
Como administrador do BigQuery Sharing, ao criar uma troca de dados em um projeto diferente do projeto do autor da chamada, é necessário adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R | Regra de saída para o projeto E |
| Projeto E (troca de dados) | Regra de entrada para o projeto R |
Criar uma listagem
No diagrama a seguir, os projetos que contêm a troca de dados e o conjunto de dados de origem estão em perímetros de serviço diferentes:
Figura 2. Regras do VPC Service Controls para criar uma listagem.
Na Figura 2, os componentes a seguir são rotulados:
- O autor da chamada é um administrador ou editor do BigQuery Sharing.
- Projeto R é o projeto do autor da chamada.
- O projeto E hospeda a troca de dados e as listagens.
- O projeto S hospeda o conjunto de dados compartilhado.
Ao criar uma listagem em uma troca de dados que está em um projeto diferente do conjunto de dados compartilhado, adicione as seguintes regras de entrada e saída para permitir que os editores de compartilhamento do BigQuery criem uma ficha:
| Projeto | Regra |
|---|---|
| Projeto R |
Regra de saída para o projeto E Regra de saída para o projeto S |
| Projeto E (troca de dados) |
Regra de saída para o projeto S Regra de entrada para o projeto R |
| Projeto S (conjunto de dados compartilhado) |
Regra de saída para o projeto E Regra de entrada para o projeto R |
Assinar uma listagem
No diagrama a seguir, os projetos que contêm a listagem e o conjunto de dados vinculado a ela estão em perímetros de serviço diferentes:
Figura 3. Regras do VPC Service Controls para se inscrever em uma listagem.
Na Figura 3, os componentes a seguir são rotulados:
- O autor da chamada é um assinante do BigQuery Sharing.
- Projeto R é o projeto do autor da chamada.
- O projeto E hospeda a troca de dados e as listagens.
- O projeto L hospeda o conjunto de dados vinculado.
Como assinante do compartilhamento do BigQuery, ao assinar uma listagem em uma troca de dados que está em um projeto diferente do seu, você precisa adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R |
Regra de saída para o projeto E Regra de saída para o projeto L |
| Projeto E (listagem) |
Regra de saída para o projeto L Regra de entrada para o projeto R |
| Projeto L (conjunto de dados vinculado) |
Regra de saída para o projeto E Regra de entrada para o projeto R |
Consultar tabelas em um conjunto de dados vinculado
No diagrama a seguir, o projeto do autor da chamada e o projeto que contêm o conjunto de dados vinculado estão em perímetros de serviço diferentes:
Figura 4 Regras do VPC Service Controls para consultar um conjunto de dados vinculado.
Na Figura 4, os componentes a seguir são rotulados:
- O autor da chamada é um assinante do compartilhamento do BigQuery ou qualquer usuário de job do BigQuery do conjunto de dados vinculado.
- Projeto R é o projeto do autor da chamada.
- O projeto L hospeda o conjunto de dados vinculado.
- O projeto V hospeda o conjunto de dados compartilhado que contém a tabela.
Como assinante do compartilhamento do BigQuery, ao consultar uma tabela no conjunto de dados vinculado, você precisa adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R | Regra de saída para o projeto L |
| Projeto L (conjunto de dados vinculado) | Regra de entrada para o projeto R |
Consultar visualizações em um conjunto de dados vinculado
Cenário 1
No diagrama a seguir, os projetos que contêm o conjunto de dados vinculado e as tabelas básicas associadas à visualização estão em perímetros de serviço diferentes. A visualização (Projeto S) e a tabela base associada à visualização (Projeto V) estão em projetos diferentes:
Figura 5. Regras do VPC Service Controls para consultar uma visualização em um conjunto de dados vinculado.
Na Figura 5, os componentes a seguir são rotulados:
- O autor da chamada é um assinante do compartilhamento do BigQuery ou qualquer usuário de job do BigQuery do conjunto de dados vinculado.
- Projeto R é o projeto do autor da chamada.
- O projeto L hospeda o conjunto de dados vinculado.
- O projeto S hospeda o conjunto de dados compartilhado.
- O projeto V hospeda o conjunto de dados que contém as tabelas base associadas à visualização.
Como assinante do compartilhamento do BigQuery, quando você consulta uma visualização em um conjunto de dados vinculado, precisa adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R |
Regra de saída para o projeto L Regra de saída para o projeto V |
| Projeto L (conjunto de dados vinculado) |
Regra de entrada para o projeto R Regra de saída para o projeto V |
| Projeto V |
Regra de saída para o projeto L Regra de entrada para o projeto R |
Cenário 2
No diagrama a seguir, a visualização (projeto V) e a tabela base associada à visualização (projeto V) estão no mesmo projeto:
Figura 6. Regras do VPC Service Controls para consultar uma visualização em um conjunto de dados vinculado.
Na Figura 6, os componentes a seguir são rotulados:
- O autor da chamada é um assinante do compartilhamento do BigQuery ou qualquer usuário de job do BigQuery do conjunto de dados vinculado.
- Projeto R é o projeto do autor da chamada.
- O projeto L hospeda o conjunto de dados vinculado.
- O projeto V hospeda a visualização e as tabelas base associadas a ela.
Como assinante do compartilhamento do BigQuery, quando você consulta uma visualização em um conjunto de dados vinculado, precisa adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R |
Regra de saída para o projeto L |
| Projeto L (conjunto de dados vinculado) |
Regra de entrada para o projeto R |
Consultar visualizações autorizadas em um conjunto de dados vinculado
No diagrama a seguir, a visualização autorizada e a tabela base associada à visualização autorizada (Projeto V) estão no mesmo projeto:
Figura 7. Regras do VPC Service Controls para consultar uma visualização em um conjunto de dados vinculado.
Na Figura 6, os componentes a seguir são rotulados:
- O autor da chamada é um assinante do compartilhamento do BigQuery ou qualquer usuário de job do BigQuery do conjunto de dados vinculado.
- Projeto R é o projeto do autor da chamada.
- O projeto L hospeda o conjunto de dados vinculado.
- O projeto V hospeda a visualização autorizada e as tabelas base associadas a ela.
Como assinante do compartilhamento do BigQuery, quando você consulta uma visualização em um conjunto de dados vinculado, precisa adicionar as seguintes regras de entrada e saída:
| Projeto | Regra |
|---|---|
| Projeto R |
Regra de saída para o projeto L |
| Projeto L (conjunto de dados vinculado) |
Regra de entrada para o projeto R |
Limitações
O BigQuery Sharing não é compatível com regras baseadas em métodos. Para permitir métodos, você precisa permitir todos eles. Exemplo:
ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: analyticshub.googleapis.com
resources:
- projects/PROJECT_ID
Se os recursos do BigQuery também forem protegidos por perímetros de serviço, as regras de entrada e saída também precisarão ser permitidas para o serviço do BigQuery. Isso não é necessário ao criar uma troca de dados. As regras de entrada e saída do BigQuery são semelhantes ao compartilhamento do BigQuery. Exemplo:
ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
resources:
- projects/PROJECT_ID
A seguir
- Resolver problemas do VPC Service Controls.
- Saiba mais sobre as regras de entrada e saída.
- Saiba mais sobre como configurar políticas de entrada e saída.
- Saiba como criar uma listagem de empresas.
- Saiba como se inscrever em uma listagem.
- Saiba mais sobre a geração de registros de auditoria de compartilhamento.