Kontrol Layanan VPC adalah fitur Google Cloud yang memungkinkan Anda menyiapkan perimeter yang membantu mencegah pemindahan data yang tidak sah. Panduan ini menunjukkan cara menggunakan Kontrol Layanan VPC dengan Dataform untuk membantu membuat layanan Anda lebih aman.
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:
Anda harus menetapkan kebijakan organisasi
dataform.restrictGitRemotes
.Dataform dan BigQuery harus dibatasi oleh perimeter layanan Kontrol Layanan VPC yang sama.
Pertimbangan keamanan
Saat menyiapkan perimeter Kontrol Layanan VPC untuk Dataform, Anda harus meninjau izin yang diberikan ke akun layanan Dataform dan memastikan bahwa izin tersebut cocok 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 di project yang menjadi milik akun layanan tersebut, terlepas dari Kontrol Layanan VPC. Dalam kasus tersebut, membatasi Dataform dengan perimeter Kontrol Layanan VPC tidak 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. Untuk mengetahui informasi selengkapnya tentang cara memblokir komunikasi dengan BigQuery, lihat Memblokir komunikasi dengan BigQuery.
Anda harus memblokir komunikasi dengan Pengelola Secret jika tidak ada repositori Dataform yang terhubung ke repositori Git pihak ketiga. Untuk mengetahui informasi selengkapnya tentang cara 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 bahwa akses pihak ketiga ke repositori Git Dataform dibatasi.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi perimeter layanan Kontrol Layanan VPC,
minta administrator 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
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 kustom 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 di akun layanan kustom.
Anda dapat memblokir komunikasi antara akun layanan Dataform kustom dan BigQuery dengan salah satu cara berikut:
Cabut peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator
), yang diberikan ke akun layanan default di akun layanan Dataform kustom yang dipilih. Untuk mencabut peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator
), ikuti panduan Mengelola akses ke akun layanan.Cabut semua peran standar dan kustom yang diberikan di tingkat project ke akun layanan kustom 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 bawaan berikut yang harus dicabut:
- BigQuery Admin (
roles/bigquery.admin
) - BigQuery Job User (
roles/bigquery.jobUser
) - Pengguna BigQuery (
roles/bigquery.user
) - BigQuery Studio Admin (
roles/bigquery.studioAdmin
) - Pengguna BigQuery Studio (
roles/bigquery.studioUser
)
Opsional: Memblokir komunikasi dengan Secret Manager
Dataform menggunakan izin secretmanager.versions.access
untuk
mengakses setiap secret Secret Manager. Anda memberikan izin ini
ke akun 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 perlu mencabut akses ke semua secret dari akun layanan Dataform default.
Untuk mencabut akses ke secret Secret Manager dari akun layanan Dataform default, ikuti panduan Mengelola akses ke secret dalam dokumentasi Secret Manager. Anda harus mencabut semua
peran standar dan kustom yang berisi
izin secretmanager.versions.access
, yang diberikan ke akun layanan
Dataform default pada secret yang dipilih.
Izin secretmanager.versions.access
disertakan dalam peran IAM Secret Manager yang telah ditetapkan berikut:
- Secret Manager Admin (
roles/secretmanager.admin
) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
) - Secret Manager Secret Version Manager (
roles/secretmanager.secretVersionManager
)
Langkah selanjutnya
- Untuk mempelajari lebih lanjut tentang Kontrol Layanan VPC, baca Ringkasan Kontrol Layanan VPC.
- Untuk mempelajari Kebijakan Organisasi lebih lanjut, lihat Pengantar Layanan Kebijakan Organisasi.
- Untuk mempelajari akun layanan di Dataform lebih lanjut, lihat Tentang akun layanan di Dataform.