Kontrol Layanan VPC untuk BigQuery
Halaman ini menjelaskan cara meningkatkan keamanan di sekitar resource BigQuery dengan membuat perimeter menggunakan Kontrol Layanan VPC. Perimeter ini membatasi akses ke dan dari BigQuery serta independen dari kontrol Identity and Access Management (IAM). Keduanya berguna dalam kasus penggunaan berikut:
- Mencegah kebocoran data dengan membatasi akses ke resource, kecuali yang diizinkan secara khusus dalam aturan masuk dan keluar.
- Memuat data ke BigQuery dengan aman dari sumber pihak ketiga atau layanan Google Cloud, seperti Cloud Storage.
- Mengontrol ekspor data dari BigQuery ke Cloud Storage atau target lainnya.
Untuk mengetahui informasi selengkapnya, lihat ringkasan Kontrol Layanan VPC.
Sebelum memulai
- Untuk mendapatkan izin yang diperlukan guna mengonfigurasi perimeter layanan, lihat Kontrol akses dengan IAM untuk Kontrol Layanan VPC.
- Anda harus memiliki kebijakan akses untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan akses.
Membuat perimeter
Contoh berikut menunjukkan cara membuat perimeter Kontrol Layanan VPC yang membatasi rentang alamat IP eksternal yang dapat mengakses project BigQuery.
Buat tingkat akses yang hanya mengizinkan akses ke rentang alamat IP tertentu, misalnya, alamat IP dalam jaringan perusahaan. Untuk membuatnya, gunakan perintah
gcloud access-context-manager levels create
:echo """ - ipSubnetworks: - 162.222.181.0/24 - 2001:db8::/48 """ > level.yaml gcloud access-context-manager levels create ACCESS_LEVEL_NAME \ --title="TITLE" --basic-level-spec=level.yaml
Ganti kode berikut:
ACCESS_LEVEL_NAME
: ID tingkat aksesTITLE
: judul yang dapat dibaca manusia untuk perimeter layanan
Untuk mengetahui informasi selengkapnya tentang cara membuat tingkat akses, lihat contoh implementasi.
Lindungi resource BigQuery dengan membuat atau memperbarui perimeter. Contoh berikut melindungi project. Untuk kasus penggunaan lainnya, seperti melindungi transfer data dari bucket Cloud Storage di project lain, lihat kasus penggunaan.
Membuat perimeter
Untuk membuat perimeter baru guna melindungi project BigQuery, gunakan perintah
gcloud access-context-manager perimeters create
:echo """ - ingressFrom: identityType: ANY_IDENTITY sources: - accessLevel: accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME ingressTo: operations: - methodSelectors: - method: '*' serviceName: bigquery.googleapis.com resources: - '*' """ > ingress.yaml gcloud access-context-manager perimeters create BIGQUERY_PERIMETER --title="TITLE" \ --resources=BIGQUERY_PROJECT_NUMBER \ --restricted-services=bigquery.googleapis.com \ --ingress-policies=ingress.yaml --policy=POLICY_NAME
Ganti kode berikut:
POLICY_NAME
: ID kebijakan aksesACCESS_LEVEL_NAME
: ID tingkat aksesPERIMETER
: ID perimeterTITLE
: judul singkat yang dapat dibaca manusia untuk perimeter layananBIGQUERY_PROJECT_NUMBER
: ID project BigQueryPOLICY_NAME
: ID kebijakan akses
Memperbarui perimeter
Untuk memperbarui perimeter yang ada, gunakan perintah
gcloud access-context-manager perimeters update
:gcloud access-context-manager perimeters update BIGQUERY_PERIMETER --set-ingress-policies=ingress.yaml
Ganti
BIGQUERY_PERIMETER
dengan ID perimeter yang melindungi resource BigQuery.
Menguji perimeter
Uji perimeter Kontrol Layanan VPC Anda sebelum menerapkannya. Untuk mengetahui informasi selengkapnya, lihat Mode uji coba untuk perimeter layanan dan Menggunakan mode uji coba untuk menguji kebijakan masuk atau keluar.
Kasus penggunaan
Contoh kasus penggunaan berikut menunjukkan cara melindungi data yang masuk dan keluar dari BigQuery dengan Kontrol Layanan VPC.
Membuat kueri data tabel eksternal dari bucket Cloud Storage di project lain
Contoh berikut menunjukkan cara mengizinkan komunikasi secara selektif antara project BigQuery dan Cloud Storage saat project tersebut dipisahkan oleh perimeter.
Izinkan project BigQuery mengakses project Cloud Storage dengan memperbarui aturan keluar untuk perimeter di sekitar project Cloud Storage:
echo """ - egressFrom: identityType: ANY_IDENTITY egressTo: operations: - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - projects/BIGQUERY_PROJECT_NUMBER """ > egress.yaml gcloud access-context-manager perimeters update CLOUD_STORAGE_PERIMETER --policy=POLICY_NAME --set-egress-policies=egress.yaml
Ganti kode berikut:
BIGQUERY_PROJECT_NUMBER
: ID project BigQueryCLOUD_STORAGE_PERIMETER
: ID perimeter yang melindungi resource Cloud StoragePOLICY_NAME
: ID kebijakan akses
Izinkan project Cloud Storage mengakses project BigQuery dengan memperbarui aturan keluar untuk perimeter di sekitar project BigQuery:
echo """ - egressFrom: identityType: ANY_IDENTITY egressTo: operations: - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - projects/CLOUD_STORAGE_PROJECT_NUMBER """ > egress1.yaml gcloud access-context-manager perimeters update BIGQUERY_PERIMETER --policy=POLICY_NAME --set-egress-policies=egress1.yaml
Ganti kode berikut:
CLOUD_STORAGE_PROJECT_NUMBER
: ID project Cloud StoragePERIMETER
: ID perimeterPOLICY_NAME
: ID kebijakan akses
Opsional: jika perimeter yang melindungi project BigQuery menyertakan
storage.googleapis.com
sebagai layanan yang dibatasi, Anda harus memperbarui aturan masuk:echo """ - ingressFrom: identityType: ANY_IDENTITY sources: - accessLevel: accessPolicies/POLICY_NAME/accessLevels/ACCESS_LEVEL_NAME ingressTo: operations: - methodSelectors: - method: '*' serviceName: bigquery.googleapis.com - methodSelectors: - method: '*' serviceName: storage.googleapis.com resources: - '*' """ > ingress.yaml gcloud access-context-manager perimeters create BIGQUERY_PERIMETER --title="TITLE" \ --resources=BIGQUERY_PROJECT_NUMBER \ --restricted-services=bigquery.googleapis.com \ --ingress-policies=ingress.yaml --policy=POLICY_NAME
Mengimpor dan mengekspor data dari BigQuery Omni
Sebagai lapisan pertahanan tambahan, Anda dapat menggunakan perimeter Kontrol Layanan VPC untuk membatasi akses antara BigQuery Omni dan layanan cloud eksternal. Untuk informasi dan contoh selengkapnya, lihat konfigurasi Kontrol Layanan VPC saat Anda membuat tabel BigLake Azure Blob Storage.
Langkah selanjutnya
- Pelajari lebih lanjut Kontrol Layanan VPC di Analytics Hub.
- Pelajari cara membatasi akses BigQuery Omni dengan layanan cloud eksternal.
- Pahami risiko dan mitigasi melalui Kontrol Layanan VPC.
- Pelajari lebih lanjut dukungan dan batasan Kontrol Layanan VPC di BigQuery.
- Pemecahan masalah masalah umum untuk BigQuery dan Kontrol Layanan VPC.