Mengonfigurasi Kontrol Layanan VPC untuk Dataform

Kontrol Layanan VPC adalah fitur Google Cloud yang dapat digunakan untuk menyiapkan perimeter yang membantu mencegah pemindahan data yang tidak sah. Panduan ini menunjukkan cara menggunakan Kontrol Layanan VPC dengan Dataform untuk meningkatkan keamanan layanan Anda.

Kontrol Layanan VPC memberikan lapisan pertahanan tambahan untuk layanan Google Cloud yang tidak bergantung pada perlindungan yang diberikan oleh Identity and Access Management (IAM).

Untuk mempelajari lebih lanjut tentang Kontrol Layanan VPC, baca Ringkasan Kontrol Layanan VPC.

Batasan

Dataform mendukung Kontrol Layanan VPC dengan batasan berikut:

Pertimbangan keamanan

Saat menyiapkan perimeter Kontrol Layanan VPC untuk Dataform, Anda harus meninjau izin yang diberikan ke akun layanan Dataform Anda dan memastikannya sesuai dengan arsitektur keamanan Anda.

Bergantung pada izin yang Anda berikan ke akun layanan Dataform, akun layanan tersebut mungkin memiliki akses ke data BigQuery atau Secret Manager, terlepas dari Kontrol Layanan VPC. Dalam kasus semacam ini, membatasi Dataform dengan perimeter Kontrol Layanan VPC tidak akan memblokir komunikasi dengan BigQuery atau Secret Manager.

Anda harus memblokir komunikasi dengan BigQuery jika tidak perlu mengeksekusi pemanggilan alur kerja apa pun yang berasal dari repositori Dataform Anda. Untuk mengetahui informasi selengkapnya tentang cara memblokir komunikasi dengan BigQuery, lihat Memblokir komunikasi dengan BigQuery.

Anda harus memblokir komunikasi dengan Secret Manager jika tidak ada repositori Dataform Anda yang terhubung ke repositori Git pihak ketiga. Untuk mengetahui informasi selengkapnya tentang memblokir komunikasi dengan Secret Manager, lihat Memblokir komunikasi dengan Secret Manager.

Sebelum memulai

Sebelum mengonfigurasi perimeter layanan Kontrol Layanan VPC untuk Dataform, ikuti panduan Membatasi repositori jarak jauh untuk menetapkan kebijakan organisasi dataform.restrictGitRemotes.

Kebijakan organisasi dataform.restrictGitRemotes diperlukan untuk memastikan pemeriksaan Kontrol Layanan VPC diterapkan saat menggunakan Dataform dan akses pihak ketiga ke repositori Git Dataform dibatasi.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan guna mengonfigurasi perimeter layanan Kontrol Layanan VPC, minta administrator untuk memberi Anda peran IAM Access Context Manager Editor (roles/accesscontextmanager.policyEditor) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi lebih lanjut tentang izin Kontrol Layanan VPC, baca Kontrol akses dengan IAM.

Mengonfigurasi Kontrol Layanan VPC

Anda dapat membatasi Dataform dengan perimeter layanan Kontrol Layanan VPC dengan cara berikut:

  • Tambahkan Dataform ke perimeter layanan yang ada yang membatasi BigQuery.
  • Buat perimeter layanan yang membatasi Dataform dan BigQuery.

Untuk menambahkan Dataform ke perimeter layanan yang membatasi BigQuery, ikuti panduan Memperbarui perimeter layanan dalam dokumentasi Kontrol Layanan VPC.

Untuk membuat perimeter layanan baru yang membatasi Formulir Data dan BigQuery, ikuti panduan Membuat perimeter layanan dalam dokumentasi Kontrol Layanan VPC.

Opsional: Blokir komunikasi dengan BigQuery

Cara Dataform berkomunikasi dengan BigQuery bergantung pada jenis akun layanan yang digunakan di Dataform.

Akun layanan Dataform default menggunakan izin bigquery.jobs.create untuk berkomunikasi dengan BigQuery. Anda memberikan peran akun layanan Dataform default yang berisi izin ini saat memberikan peran yang diperlukan agar Dataform dapat menjalankan alur kerja SQL di BigQuery.

Untuk memblokir komunikasi antara akun layanan Dataform default dan BigQuery, Anda harus mencabut semua peran bawaan dan khusus yang berisi izin bigquery.jobs.create, yang telah diberikan ke akun layanan Dataform default. Untuk mencabut peran, ikuti panduan Mengelola akses ke project, folder, dan organisasi.

Akun layanan Dataform kustom menggunakan izin dan peran berikut untuk berkomunikasi dengan BigQuery:

  • Izin bigquery.jobs.create, yang diberikan ke akun layanan kustom.
  • Peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator), yang diberikan ke akun layanan Dataform default pada akun layanan kustom.

Anda dapat memblokir komunikasi antara akun layanan Dataform kustom dan BigQuery dengan salah satu cara berikut:

  • Mencabut peran Pembuat Token Akun Layanan (roles/iam.serviceAccountTokenCreator), yang diberikan ke akun layanan default pada akun layanan Formulir Data kustom yang dipilih. Untuk mencabut peran Pembuat Token Akun Layanan (roles/iam.serviceAccountTokenCreator), ikuti panduan Mengelola akses ke akun layanan.

  • Cabut semua peran khusus dan bawaan yang diberikan di level project ke akun layanan khusus yang berisi izin bigquery.jobs.create. Untuk mencabut peran, ikuti panduan Mengelola akses ke project, folder, dan organisasi.

Izin bigquery.jobs.create disertakan dalam peran IAM BigQuery standar berikut yang harus dicabut:

Opsional: Memblokir komunikasi dengan Secret Manager

Formulir data menggunakan izin secretmanager.versions.access untuk mengakses masing-masing secret Secret Manager. Anda memberikan izin ini ke akun layanan Dataform default pada rahasia Secret Manager yang dipilih saat menghubungkan repositori Dataform ke repositori pihak ketiga.

Untuk memblokir komunikasi antara Dataform dan Secret Manager, Anda harus mencabut akses ke semua secret dari akun layanan Dataform default.

Untuk mencabut akses ke secret Secret Manager dari akun layanan Formulir data default, ikuti panduan Mengelola akses ke secret dalam dokumentasi Secret Manager. Anda harus mencabut semua peran khusus dan standar yang berisi izin secretmanager.versions.access, yang diberikan ke akun layanan Formulir data default pada secret yang dipilih.

Izin secretmanager.versions.access disertakan dalam peran IAM Secret Manager standar berikut:

Langkah selanjutnya