Partager des règles VPC Service Controls

Ce document décrit les règles d'entrée et de sortie dont vous avez besoin pour permettre aux éditeurs et aux abonnés du partage BigQuery (anciennement Analytics Hub) d'accéder aux données des projets comportant des périmètres VPC Service Controls. Il part du principe que vous maîtrisez les périmètres VPC Service Controls, les ensembles de données partagés, les échanges de données, les fiches et les ensembles de données associés.

Un projet appelant est le projet réseau ou client qui lance la requête, tel qu'une requête SQL ou une commande Google Cloud CLI.

Créer un échange de données

Dans le schéma suivant, les projets contenant l'échange de données et l'ensemble de données partagé se trouvent dans des périmètres de service différents :

Règle VPC Service Controls lors de la création d'un échange de données

Figure 1 : Règles VPC Service Controls permettant de créer un échange de données

Dans la figure 1, les composants suivants associés à des libellés :

  • L'appelant est un administrateur BigQuery Sharing.
  • Le projet R est le projet appelant.
  • Le projet E héberge l'échange de données et les listes.

En tant qu'administrateur du partage BigQuery, lorsque vous créez un échange de données dans un projet différent du projet appelant, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R Règle de sortie pour le projet E
Projet E (échange de données) Règle d'entrée pour le projet R

Création d'une fiche

Dans le schéma suivant, les projets contenant l'échange de données et l'ensemble de données partagé se trouvent dans des périmètres de service différents :

Règle VPC Service Controls lors de la création d'une liste

Figure 2. Règles VPC Service Controls permettant de créer une liste

Dans la figure 2, les composants suivants sont associés à des libellés :

  • L'appelant est un administrateur ou un éditeur BigQuery Sharing.
  • Le projet R est le projet appelant.
  • Le projet E héberge l'échange de données et les listes.
  • Le projet S héberge l'ensemble de données partagé.

Lorsque vous créez une fiche dans un échange de données qui se trouve dans un projet différent de celui de l'ensemble de données partagé, vous devez ajouter les règles d'entrée et de sortie suivantes pour permettre aux éditeurs de partage BigQuery de créer une fiche :

Projet Règle
Projet R

Règle de sortie pour le projet E

Règle de sortie pour le projet S

Projet E (échange de données)

Règle de sortie pour le projet S

Règle d'entrée pour le projet R

Projet S (ensemble de données partagé)

Règle de sortie pour le projet E

Règle d'entrée pour le projet R

S'abonner à une fiche

Dans le schéma suivant, les projets contenant la liste et l'ensemble de données associé pour cette liste se trouvent dans des périmètres de service différents :

Règle VPC Service Controls lors de l'abonnement à une fiche

Figure 3. Règles de VPC Service Controls pour s'abonner à une liste

Dans la figure 3, les composants suivants sont associés à des libellés :

  • L'appelant est un abonné à BigQuery Sharing.
  • Le projet R est le projet appelant.
  • Le projet E héberge l'échange de données et les listes.
  • Le projet L héberge l'ensemble de données associé.

En tant qu'abonné au partage BigQuery, lorsque vous vous abonnez à une fiche dans un échange de données se trouvant dans un projet différent de votre projet, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R

Règle de sortie pour le projet E

Règle de sortie pour le projet L

Projet E (liste)

Règle de sortie pour le projet L

Règle d'entrée pour le projet R

Projet L (ensemble de données associé)

Règle de sortie pour le projet E

Règle d'entrée pour le projet R

Interroger les tables d'un ensemble de données associé

Dans le schéma suivant, le projet appelant et le projet contenant l'ensemble de données associé se trouvent dans des périmètres de service différents :

Règle VPC Service Controls lors de l'interrogation d'une table de l'ensemble de données associé

Figure 4. Règles de VPC Service Controls permettant d'interroger un ensemble de données associé

Dans la figure 4, les composants suivants sont associés à des libellés :

  • L'appelant est un abonné au partage BigQuery ou tout utilisateur de tâche BigQuery de l'ensemble de données associé.
  • Le projet R est le projet appelant.
  • Le projet L héberge l'ensemble de données associé.
  • Le projet V héberge l'ensemble de données partagé contenant la table.

En tant qu'abonné au partage BigQuery, lorsque vous interrogez une table dans l'ensemble de données associé, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R Règle de sortie pour le projet L
Projet L (ensemble de données associé) Règle d'entrée pour le projet R

Interroger les vues dans un ensemble de données associé

Scénario 1

Dans le schéma suivant, les projets contenant l'ensemble de données associé et les tables de base associées à la vue se trouvent dans des périmètres de service différents. La vue (Projet S) et la table de base associée à la vue (Projet V) se trouvent dans différents projets :

La vue et les tables de base se trouvent dans des projets différents.

Figure 5. Règles VPC Service Controls permettant d'interroger une vue dans un ensemble de données associé

Dans la figure 5, les composants suivants sont associés à des libellés :

  • L'appelant est un abonné au partage BigQuery ou tout utilisateur de tâche BigQuery de l'ensemble de données associé.
  • Le projet R est le projet appelant.
  • Le projet L héberge l'ensemble de données associé.
  • Le projet S héberge l'ensemble de données partagé.
  • Le projet V héberge l'ensemble de données contenant les tables de base associées à la vue.

En tant qu'abonné au partage BigQuery, lorsque vous interrogez une vue dans un ensemble de données associé, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R

Règle de sortie pour le projet L

Règle de sortie pour le projet V

Projet L (ensemble de données associé)

Règle d'entrée pour le projet R

Règle de sortie pour le projet V

Projet V

Règle de sortie pour le projet L

Règle d'entrée pour le projet R

Scénario 2

Dans la figure suivante, la vue (Projet V) et la table de base associée à cette vue (Projet V) se trouvent dans le même projet :

La vue et les tables de base se trouvent dans le même projet.

Figure 6. Règles VPC Service Controls permettant d'interroger une vue dans un ensemble de données associé

Dans la figure 6, les composants suivants sont associés à des libellés :

  • L'appelant est un abonné au partage BigQuery ou tout utilisateur de tâche BigQuery de l'ensemble de données associé.
  • Le projet R est le projet appelant.
  • Le projet L héberge l'ensemble de données associé.
  • Le projet V héberge la vue et les tables de base associées à cette vue.

En tant qu'abonné au partage BigQuery, lorsque vous interrogez une vue dans un ensemble de données associé, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R

Règle de sortie pour le projet L

Projet L (ensemble de données associé)

Règle d'entrée pour le projet R

Interroger les vues autorisées dans un ensemble de données associé

Dans le diagramme suivant, la vue autorisée et la table de base associée à la vue autorisée (projet V) se trouvent dans le même projet :

La vue autorisée et les tables de base se trouvent dans le même projet.

Figure 7. Règles VPC Service Controls permettant d'interroger une vue dans un ensemble de données associé

Dans la figure 7, les composants suivants sont associés à des libellés :

  • L'appelant est un abonné au partage BigQuery ou tout utilisateur de tâche BigQuery de l'ensemble de données associé.
  • Le projet R est le projet appelant.
  • Le projet L héberge l'ensemble de données associé.
  • Le projet V héberge la vue autorisée et les tables de base associées à la vue.

En tant qu'abonné au partage BigQuery, lorsque vous interrogez une vue dans un ensemble de données associé, vous devez ajouter les règles d'entrée et de sortie suivantes :

Projet Règle
Projet R

Règle de sortie pour le projet L

Projet L (ensemble de données associé)

Règle d'entrée pour le projet R

Limites

BigQuery Sharing n'est pas compatible avec les règles basées sur les méthodes. Pour autoriser des méthodes, vous devez autoriser toutes les méthodes. Exemple :

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

Si les ressources BigQuery sont également protégées par des périmètres de service, les règles d'entrée et de sortie doivent également être autorisées pour le service BigQuery. Cela n'est pas nécessaire lors de la création d'un échange de données. Les règles d'Ingress et de sortie pour BigQuery seront semblables à celles du partage BigQuery. Exemple :

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

Étapes suivantes