Kontrol Layanan VPC adalah fitur yang memungkinkan Anda menyiapkan perimeter yang membantu mencegah pemindahan data yang tidak sah. Google Cloud Panduan ini menunjukkan cara menggunakan Kontrol Layanan VPC dengan Dataform untuk membantu mengamankan layanan Anda.
Kontrol Layanan VPC memberikan lapisan pertahanan tambahan untuk layananGoogle 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:
Anda harus menetapkan kebijakan organisasi
dataform.restrictGitRemotes.Dataform dan BigQuery harus dibatasi oleh perimeter layanan Kontrol Layanan VPC yang sama.
Untuk mengizinkan pengguna tertentu melakukan autentikasi dengan kredensial pengguna untuk Akun Google mereka saat menjadwalkan eksekusi, memicu eksekusi secara manual, atau menjalankan pipeline dengan Kontrol Layanan VPC yang dikonfigurasi, Anda harus menambahkan identitas pengguna mereka ke aturan ingress Anda. Untuk mengetahui informasi selengkapnya, lihat Memperbarui kebijakan ingress dan egress untuk perimeter layanan dan Referensi aturan ingress.
Pertimbangan keamanan
Saat menyiapkan perimeter Kontrol Layanan VPC untuk Dataform, pastikan Anda meninjau izin yang diberikan ke akun layanan kustom Anda untuk memverifikasi bahwa izin tersebut sesuai dengan arsitektur keamanan Anda.
Bergantung pada izin yang Anda berikan ke akun layanan kustom, akun layanan tersebut mungkin memiliki akses ke data BigQuery atau Secret Manager dalam project tempat akun layanan berada, terlepas dari Kontrol Layanan VPC. Dalam kasus seperti itu, 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 menjalankan pemanggilan alur kerja yang berasal dari repositori Dataform Anda. Untuk mengetahui informasi selengkapnya tentang memblokir komunikasi dengan BigQuery, lihat Memblokir komunikasi dengan BigQuery.
Anda harus memblokir komunikasi dengan Secret Manager jika tidak ada repositori Dataform 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
bahwa pemeriksaan Kontrol Layanan VPC diterapkan saat menggunakan
Dataform dan akses pihak ketiga ke repositori Git Dataform dibatasi.
Peran yang diperlukan
Untuk mendapatkan izin yang
diperlukan untuk mengonfigurasi perimeter layanan Kontrol Layanan VPC,
minta administrator Anda untuk memberi Anda
peran IAM Access Context Manager Editor (roles/accesscontextmanager.policyEditor) di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang izin Kontrol Layanan VPC, lihat 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 Dataform dan BigQuery, ikuti panduan Membuat perimeter layanan dalam dokumentasi Kontrol Layanan VPC.
Opsional: Memblokir komunikasi dengan BigQuery
Akun layanan 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 kepada agen layanan Dataform default di akun layanan kustom.
Anda dapat memblokir komunikasi antara akun layanan kustom dan BigQuery dengan salah satu cara berikut:
Mencabut semua peran bawaan dan kustom yang diberikan di tingkat project ke akun layanan kustom yang berisi izin
bigquery.jobs.create. Izinbigquery.jobs.createdisertakan dalam peran IAM BigQuery bawaan berikut:- BigQuery Admin (
roles/bigquery.admin) - BigQuery Job User (
roles/bigquery.jobUser) - Pengguna BigQuery (
roles/bigquery.user) - Admin BigQuery Studio (
roles/bigquery.studioAdmin) - BigQuery Studio User (
roles/bigquery.studioUser)
Untuk mencabut peran, lihat Mengelola akses ke project, folder, dan organisasi.
- BigQuery Admin (
Mencabut peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator), yang diberikan kepada agen layanan Dataform default di akun layanan kustom yang dipilih. Untuk mencabut peran Service Account Token Creator, lihat Mengelola akses ke akun layanan.
Opsional: Memblokir komunikasi dengan Secret Manager
Dataform menggunakan izin secretmanager.versions.access untuk mengakses setiap secret Secret Manager. Anda memberikan izin ini
kepada agen layanan Dataform default pada secret Secret Manager yang dipilih saat Anda
menghubungkan repositori Dataform ke repositori pihak ketiga.
Untuk memblokir komunikasi antara Dataform dan Secret Manager, Anda harus mencabut akses ke semua secret dari agen layanan Dataform default.
Untuk mencabut akses ke secret Secret Manager dari
agen layanan Dataform default, ikuti panduan
Mengelola akses ke secret
dalam dokumentasi Secret Manager. Anda harus mencabut semua
peran yang telah ditentukan dan peran kustom yang berisi izin
secretmanager.versions.access, yang diberikan kepada agen layanan
Dataform default pada secret yang dipilih.
Izin secretmanager.versions.access disertakan dalam
peran IAM Secret Manager bawaan berikut:
- Secret Manager Admin (
roles/secretmanager.admin) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager)
Langkah berikutnya
- Untuk mempelajari lebih lanjut tentang Kontrol Layanan VPC, baca Ringkasan Kontrol Layanan VPC.
- Untuk mempelajari lebih lanjut Kebijakan Organisasi, lihat Pengantar Layanan Kebijakan Organisasi.
- Untuk mempelajari lebih lanjut akun layanan di Dataform, lihat Tentang agen layanan Dataform dan akun layanan kustom.