Mengonfigurasi aturan Kontrol Layanan VPC untuk berbagi BigQuery
Aturan ingress dan egress memungkinkan penayang dan pelanggan di BigQuery sharing (sebelumnya Analytics Hub) mengakses data di seluruh project yang dilindungi oleh perimeter Kontrol Layanan VPC. Anda mengonfigurasi aturan ini antara project pemanggil—yang merupakan jaringan atau project klien Google Cloud yang memulai permintaan, seperti kueri SQL atau perintah Google Cloud CLI—dan project yang menghosting pertukaran data, listingan, dan set data Anda.
Sebelum mengonfigurasi aturan ini, Anda harus memahami perimeter Kontrol Layanan VPC, set data bersama, pertukaran data, listingan, dan set data tertaut.
Batasan
BigQuery sharing tidak mendukung aturan berbasis metode. Anda harus menentukan method: '*' untuk mengizinkan semua metode dalam aturan ingress dan egress:
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: analyticshub.googleapis.com
resources:
- projects/PROJECT_NUMBER
Jika perimeter layanan juga melindungi resource BigQuery, Anda harus mengizinkan aturan ingress dan egress untuk layanan BigQuery. Mengizinkan aturan ingress dan egress tidak diperlukan saat Anda membuat pertukaran data. Aturan ingress dan egress untuk BigQuery mirip dengan aturan untuk BigQuery sharing:
- ingressTo:
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
resources:
- projects/PROJECT_NUMBER
Ganti PROJECT_NUMBER dengan nomor project dari project target yang dilindungi oleh perimeter layanan.
Membuat pertukaran data
Dalam diagram berikut, project pemanggil dan project yang berisi pertukaran data berada di perimeter layanan yang berbeda:
Gambar 1. Aturan Kontrol Layanan VPC untuk membuat pertukaran data.
Gambar 1 menunjukkan komponen berikut:
- Pemanggil: administrator BigQuery sharing.
- Project R: project caller.
- Project E: project yang menghosting pertukaran data dan listingan.
Sebagai administrator BigQuery sharing, saat Anda membuat pertukaran data di project yang berbeda dengan project pemanggil, Anda harus menambahkan aturan ingress dan egress berikut:
| Project | Aturan |
|---|---|
| Project R | Aturan egress untuk project E |
| Project E (pertukaran data) | Aturan ingress untuk project R |
Membuat listingan
Dalam diagram berikut, project yang berisi pertukaran data dan set data bersama berada di perimeter layanan yang berbeda:
Gambar 2. Aturan Kontrol Layanan VPC untuk membuat listingan.
Gambar 2 menunjukkan komponen berikut:
- Pemanggil: administrator atau penayang BigQuery sharing.
- Project R: project caller.
- Project E: project yang menghosting pertukaran data dan listingan.
- Project S: project yang menghosting set data bersama.
Sebagai penayang berbagi BigQuery, saat membuat listingan di pertukaran data yang berada di project yang berbeda dengan set data bersama, Anda harus menambahkan aturan masuk dan keluar berikut:
| Project | Aturan |
|---|---|
| Project R |
Aturan egress untuk project E Aturan egress untuk project S |
| Project E (pertukaran data) |
Aturan egress untuk project S Aturan ingress untuk project R |
| Project S (set data bersama) |
Aturan egress untuk project E Aturan ingress untuk project R |
Berlangganan listingan
Dalam diagram berikut, project yang berisi listingan dan set data tertaut untuk listingan tersebut berada di perimeter layanan yang berbeda:
Gambar 3. Aturan Kontrol Layanan VPC untuk berlangganan listingan.
Gambar 3 menunjukkan komponen berikut:
- Pemanggil: pelanggan BigQuery sharing.
- Project R: project caller.
- Project E: project yang menghosting pertukaran data dan listingan.
- Project L: project yang menghosting set data tertaut.
Sebagai pelanggan BigQuery sharing, saat berlangganan listingan di pertukaran data yang ada di project yang berbeda dengan project Anda, Anda harus menambahkan aturan masuk dan keluar berikut:
| Project | Aturan |
|---|---|
| Project R |
Aturan egress untuk project E Aturan egress untuk project L |
| Project E (listingan) |
Aturan egress untuk project L Aturan ingress untuk project R |
| Project L (set data tertaut) |
Aturan egress untuk project E Aturan ingress untuk project R |
Memperbarui listingan
Saat Anda memperbarui listingan—misalnya, untuk mengubah kebijakan ekspor yang dibatasi—BigQuery sharing menggunakan worker latar belakang untuk menerapkan perubahan ini ke set data tertaut yang terkait. Jika perimeter Kontrol Layanan VPC dengan batasan berbasis IP melindungi project Google Cloud Anda, perimeter tersebut dapat memblokir worker latar belakang yang berasal dari infrastruktur Google dan mencegah set data tertaut disinkronkan.
Agar worker latar belakang dapat memperbarui set data tertaut, konfigurasikan aturan ingress atau egress Anda sehingga pengguna atau akun layanan yang memanggil dan menjalankan panggilan API dapat mengabaikan batasan berbasis IP.
Untuk mengubah kebijakan ingress pada perimeter project pelanggan, tambahkan aturan ingress yang memungkinkan akun utama yang memanggil mengakses layanan bigquery.googleapis.com dari alamat IP sumber mana pun (*):
- ingressFrom:
sources:
- accessLevel: "*"
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
ingressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
Atau, untuk mengubah kebijakan egress di perimeter penayang, tambahkan
identitas panggilan ke daftar identities dalam aturan egress untuk
project pelanggan:
- egressFrom:
identities:
- "user:CALLING_USER_EMAIL"
- "serviceAccount:AUTOMATION_SA_EMAIL"
egressTo:
resources:
- "projects/SUBSCRIBER_PROJECT_NUMBER"
operations:
- serviceName: "bigquery.googleapis.com"
methodSelectors:
- method: "*"
Ganti kode berikut:
CALLING_USER_EMAIL: alamat email pengguna yang menjalankan panggilan API untuk memperbarui listingan. Sertakan identitas ini jika pengguna manusia melakukan update.AUTOMATION_SA_EMAIL: alamat email akun layanan yang menjalankan panggilan API untuk memperbarui listingan. Sertakan identitas ini jika proses atau skrip otomatis melakukan pembaruan.SUBSCRIBER_PROJECT_NUMBER: nomor project dari project pelanggan yang berisi set data tertaut.
Tabel kueri dalam set data tertaut
Dalam diagram berikut, project pemanggil dan project yang berisi set data tertaut berada di perimeter layanan yang berbeda:
Gambar 4. Aturan Kontrol Layanan VPC untuk membuat kueri set data tertaut.
Gambar 4 menunjukkan komponen berikut:
- Pemanggil: pelanggan berbagi BigQuery atau pengguna tugas BigQuery dari set data tertaut.
- Project R: project caller.
- Project L: project yang menghosting set data tertaut.
- Project V: project yang menghosting set data bersama yang berisi tabel.
Sebagai pelanggan berbagi BigQuery, saat membuat kueri tabel dalam set data tertaut, Anda harus menambahkan aturan masuk dan keluar berikut:
| Project | Aturan |
|---|---|
| Project R | Aturan egress untuk project L |
| Project L (set data tertaut) | Aturan ingress untuk project R |
Membuat kueri tampilan dalam set data tertaut
Bagian ini menjelaskan aturan Kontrol Layanan VPC yang diperlukan untuk membuat kueri tampilan dalam set data tertaut. Aturannya bervariasi, bergantung pada apakah tampilan dan tabel dasar yang mendasarinya berada dalam project yang sama atau berbeda.
Tampilan dan tabel dasar berada di project yang berbeda
Dalam diagram berikut, project yang berisi set data tertaut dan tabel dasar yang terkait dengan tampilan berada di perimeter layanan yang berbeda. Tampilan (Project S) dan tabel dasar yang terkait dengan tampilan (Project V) berada di project yang berbeda:
Gambar 5. Aturan Kontrol Layanan VPC untuk membuat kueri tabel virtual saat tabel virtual dan tabel dasar berada di project yang berbeda.
Gambar 5 menunjukkan komponen berikut:
- Pemanggil: pelanggan berbagi BigQuery atau pengguna tugas BigQuery dari set data tertaut.
- Project R: project caller.
- Project L: project yang menghosting set data tertaut.
- Project S: project yang menghosting set data bersama.
- Project V: project yang menghosting set data yang berisi tabel dasar yang terkait dengan tampilan.
Sebagai pelanggan berbagi BigQuery, saat membuat kueri tampilan dalam set data tertaut, Anda harus menambahkan aturan ingress dan egress berikut:
| Project | Aturan |
|---|---|
| Project R |
Aturan egress untuk project L Aturan egress untuk project V |
| Project L (set data tertaut) |
Aturan ingress untuk project R Aturan egress untuk project V |
| Project V |
Aturan egress untuk project L Aturan ingress untuk project R |
Tampilan dan tabel dasar berada dalam project yang sama
Dalam diagram berikut, tampilan (Project V) dan tabel dasar yang terkait dengan tampilan (Project V) berada dalam project yang sama:
Gambar 6. Aturan Kontrol Layanan VPC untuk membuat kueri tampilan saat tampilan dan tabel dasar berada dalam project yang sama.
Gambar 6 menunjukkan komponen berikut:
- Pemanggil: pelanggan berbagi BigQuery atau pengguna tugas BigQuery dari set data tertaut.
- Project R: project caller.
- Project L: project yang menghosting set data tertaut.
- Project V: project yang menghosting tampilan dan tabel dasar yang terkait dengan tampilan.
Sebagai pelanggan berbagi BigQuery, saat membuat kueri tampilan dalam set data tertaut, Anda harus menambahkan aturan ingress dan egress berikut:
| Project | Aturan |
|---|---|
| Project R | Aturan egress untuk project L |
| Project L (set data tertaut) | Aturan ingress untuk project R |
Membuat kueri tampilan yang diizinkan dalam set data tertaut
Dalam diagram berikut, tampilan yang diotorisasi dan tabel dasar yang terkait dengan tampilan yang diotorisasi (Project V) berada dalam project yang sama:
Gambar 7. Aturan Kontrol Layanan VPC untuk membuat kueri tampilan yang diizinkan dalam set data tertaut.
Gambar 7 menunjukkan komponen berikut:
- Pemanggil: pelanggan berbagi BigQuery atau pengguna tugas BigQuery dari set data tertaut.
- Project R: project caller.
- Project L: project yang menghosting set data tertaut.
- Project V: project yang menghosting tampilan yang diotorisasi dan tabel dasar yang terkait dengan tampilan.
Sebagai pelanggan berbagi BigQuery, saat membuat kueri tampilan yang diotorisasi dalam set data tertaut, Anda harus menambahkan aturan masuk dan keluar berikut:
| Project | Aturan |
|---|---|
| Project R | Aturan egress untuk project L |
| Project L (set data tertaut) | Aturan ingress untuk project R |
Langkah berikutnya
- Pelajari cara memecahkan masalah Kontrol Layanan VPC.
- Pelajari aturan traffic masuk dan keluar.
- Pelajari cara mengonfigurasi kebijakan traffic masuk dan keluar.
- Pelajari cara membuat listingan.
- Pelajari cara berlangganan listingan.
- Pelajari Logging audit berbagi.