Condivisione delle regole dei Controlli di servizio VPC

Questo documento descrive le regole in entrata e in uscita che devi consentire a editori e abbonati nella condivisione BigQuery (precedentemente Analytics Hub) di accedere ai dati dei progetti con perimetri Controlli di servizio VPC. Presuppone la conoscenza dei perimetri dei controlli di servizio VPC, dei set di dati condivisi, degli scambi di dati, delle schede e dei set di dati collegati.

Un progetto chiamante è il progetto di rete o client che avvia la richiesta, ad esempio una query SQL o un comando Google Cloud CLI.

Creare uno scambio di dati

Nel seguente diagramma, i progetti che contengono lo scambio di dati e il set di dati condiviso si trovano in perimetri di servizio diversi:

Regola dei Controlli di servizio VPC durante la creazione di uno scambio di dati.

Figura 1. Regole dei Controlli di servizio VPC per la creazione di uno scambio di dati.

Nella figura 1 sono etichettati i seguenti componenti:

  • Il chiamante è un amministratore della condivisione di BigQuery.
  • Project R è il progetto del chiamante.
  • Project E ospita lo scambio di dati e le schede.

In qualità di amministratore di BigQuery sharing, quando crei un data exchange in un progetto diverso da quello chiamante, devi aggiungere le seguenti regole in entrata e in uscita:

Progetto Rule (Regola)
Progetto R Regola in uscita per il progetto E
Progetto E (scambio di dati) Regola in entrata per il progetto R

Creare una scheda

Nel seguente diagramma, i progetti che contengono lo scambio di dati e il set di dati condiviso si trovano in perimetri di servizio diversi:

Regola dei Controlli di servizio VPC durante la creazione di una scheda.

Figura 2. Regole dei Controlli di servizio VPC per la creazione di una scheda.

Nella figura 2 sono etichettati i seguenti componenti:

  • Chi chiama è un amministratore o un publisher di condivisione di BigQuery.
  • Project R è il progetto del chiamante.
  • Project E ospita lo scambio di dati e le schede.
  • Il progetto S ospita il set di dati condiviso.

Quando crei una scheda in un exchange di dati che si trova in un progetto diverso dal set di dati condiviso, devi aggiungere le seguenti regole in entrata e in uscita per consentire agli editori della condivisione di BigQuery di creare una scheda:

Progetto Rule (Regola)
Progetto R

Regola in uscita per il progetto E

Regola in uscita per il progetto S

Progetto E (scambio di dati)

Regola in uscita per il progetto S

Regola in entrata per il progetto R

Progetto S (set di dati condiviso)

Regola in uscita per il progetto E

Regola in entrata per il progetto R

Iscriversi a una scheda

Nel seguente diagramma, i progetti che contengono la scheda e il set di dati collegato per quella scheda si trovano in perimetri di servizio diversi:

Regola dei Controlli di servizio VPC durante la sottoscrizione di una scheda.

Figura 3. Regole dei Controlli di servizio VPC per l'iscrizione a una scheda.

Nella figura 3 sono etichettati i seguenti componenti:

  • Chiamante è un abbonato alla condivisione BigQuery.
  • Project R è il progetto del chiamante.
  • Project E ospita lo scambio di dati e le schede.
  • Il progetto L ospita il set di dati collegato.

In qualità di sottoscrittore di BigQuery sharing, quando ti abboni a una scheda in un data exchange che si trova in un progetto diverso dal tuo, devi aggiungere le seguenti regole in entrata e in uscita:

Progetto Rule (Regola)
Progetto R

Regola in uscita per il progetto E

Regola in uscita per il progetto L

Progetto E (scheda)

Regola in uscita per il progetto L

Regola in entrata per il progetto R

Progetto L (set di dati collegato)

Regola in uscita per il progetto E

Regola in entrata per il progetto R

Eseguire query sulle tabelle in un set di dati collegato

Nel seguente diagramma, il progetto chiamante e il progetto che contiene il set di dati collegato si trovano in perimetri di servizio diversi:

Regola dei Controlli di servizio VPC durante l'esecuzione di query su una tabella nel set di dati collegato.

Immagine 4. Regole dei controlli di servizio VPC per l'esecuzione di query su un set di dati collegato.

Nella figura 4 sono etichettati i seguenti componenti:

  • Chiamante è un abbonato alla condivisione di BigQuery o un utente job BigQuery del set di dati collegato.
  • Project R è il progetto del chiamante.
  • Il progetto L ospita il set di dati collegato.
  • Il progetto V ospita il set di dati condiviso che contiene la tabella.

In qualità di abbonato alla condivisione BigQuery, quando esegui una query su una tabella nel set di dati collegato, devi aggiungere le seguenti regole di ingresso e uscita:

Progetto Rule (Regola)
Progetto R Regola in uscita per il progetto L
Progetto L (set di dati collegato) Regola in entrata per il progetto R

Eseguire query sulle visualizzazioni in un set di dati collegato

Scenario 1

Nel seguente diagramma, i progetti che contengono il set di dati collegato e le tabelle di base associate alla vista si trovano in perimetri di servizio diversi. La vista (progetto S) e la tabella di base associata alla vista (progetto V) si trovano in progetti diversi:

le tabelle di visualizzazione e di base si trovano in progetti diversi.

Figura 5. Regole dei Controlli di servizio VPC per l'interrogazione di una vista in un set di dati collegato.

Nella figura 5 sono etichettati i seguenti componenti:

  • Chiamante è un abbonato alla condivisione di BigQuery o qualsiasi utente del job BigQuery del set di dati collegato.
  • Project R è il progetto del chiamante.
  • Il progetto L ospita il set di dati collegato.
  • Il progetto S ospita il set di dati condiviso.
  • Project V ospita il set di dati contenente le tabelle di base associate alla vista.

In qualità di abbonato alla condivisione BigQuery, quando esegui una query su una vista in un set di dati collegato, devi aggiungere le seguenti regole di ingresso e uscita:

Progetto Rule (Regola)
Progetto R

Regola in uscita per il progetto L

Regola in uscita per il progetto V

Progetto L (set di dati collegato)

Regola in entrata per il progetto R

Regola in uscita per il progetto V

Progetto V

Regola in uscita per il progetto L

Regola in entrata per il progetto R

Scenario 2

Nel seguente diagramma, la vista (Progetto V) e la tabella di base associata alla vista (Progetto V) si trovano nello stesso progetto:

le tabelle di visualizzazione e di base si trovano nello stesso progetto.

Immagine 6. Regole dei Controlli di servizio VPC per l'interrogazione di una vista in un set di dati collegato.

Nella figura 6 sono etichettati i seguenti componenti:

  • Chiamante è un abbonato alla condivisione di BigQuery o qualsiasi utente del job BigQuery del set di dati collegato.
  • Project R è il progetto del chiamante.
  • Project L ospita il set di dati collegato.
  • Project V ospita sia la vista sia le tabelle di base associate alla vista.

In qualità di abbonato alla condivisione BigQuery, quando esegui una query su una vista in un set di dati collegato, devi aggiungere le seguenti regole di ingresso e uscita:

Progetto Rule (Regola)
Progetto R

Regola in uscita per il progetto L

Progetto L (set di dati collegato)

Regola in entrata per il progetto R

Eseguire query sulle viste autorizzate in un set di dati collegato

Nel seguente diagramma, la vista autorizzata e la tabella di base associata alla vista autorizzata (Progetto V) si trovano nello stesso progetto:

la visualizzazione autorizzata e le tabelle di base si trovano nello stesso progetto.

Immagine 7. Regole dei Controlli di servizio VPC per l'interrogazione di una vista in un set di dati collegato.

Nella figura 7 sono etichettati i seguenti componenti:

  • Chiamante è un abbonato alla condivisione di BigQuery o qualsiasi utente del job BigQuery del set di dati collegato.
  • Project R è il progetto del chiamante.
  • Il progetto L ospita il set di dati collegato.
  • Project V ospita sia la vista autorizzata sia le tabelle di base associate alla vista.

In qualità di abbonato alla condivisione BigQuery, quando esegui una query su una vista in un set di dati collegato, devi aggiungere le seguenti regole di ingresso e uscita:

Progetto Rule (Regola)
Progetto R

Regola in uscita per il progetto L

Progetto L (set di dati collegato)

Regola in entrata per il progetto R

Limitazioni

La condivisione BigQuery non supporta le regole basate sul metodo. Per consentire i metodi, devi consentirli tutti. Ad esempio:

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

Se anche le risorse BigQuery sono protette dai perimetri di servizio, devono essere consentite anche le regole di ingresso e di uscita per il servizio BigQuery. Non è necessario quando crei uno scambio di dati. Le regole di ingresso e uscita per BigQuery saranno simili a quelle di BigQuery Sharing. Ad esempio:

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

Passaggi successivi