1. Pengantar
Kontrol Layanan VPC (VPC-SC) adalah kontrol keamanan tingkat organisasi di Google Cloud yang memungkinkan pelanggan perusahaan memitigasi risiko pemindahan data yang tidak sah. Kontrol Layanan VPC menyediakan akses model zero-trust ke layanan multi-tenant dengan memungkinkan klien membatasi akses ke IP, konteks klien, dan parameter perangkat yang diotorisasi saat terhubung ke layanan multi-tenant dari internet dan layanan lainnya untuk mengurangi kehilangan data yang disengaja maupun tidak disengaja. Anda dapat menggunakan Kontrol Layanan VPC untuk membuat perimeter yang melindungi resource dan data layanan yang Anda tentukan secara eksplisit.
Tujuan tutorial ini adalah:
- Memahami dasar-dasar Kontrol Layanan VPC
- Membuat perimeter layanan VPC
- Melindungi project dengan Kontrol Layanan VPC
- Memecahkan masalah pelanggaran ingress Kontrol Layanan VPC
2. Penyiapan dan persyaratan
Untuk tutorial ini, kita memerlukan prasyarat berikut:
- Organisasi GCP.
- Folder di bagian Organisasi.
- 2 project GCP dalam Organisasi yang sama ditempatkan di bawah folder.
- Izin yang diperlukan di tingkat organisasi.
- Akun penagihan untuk kedua project.

Penyiapan resource
- Di Google Cloud Console, buat folder di bagian Organisasi dan dua project baru (Anda dapat menggunakan kembali project yang sudah ada).
(Jika belum memiliki akun Google Workspace/Cloud Identity, Anda harus mendapatkannya karena Anda harus memiliki Organisasi untuk tutorial ini).
- Pastikan Anda memiliki izin yang benar untuk tutorial ini di tingkat organisasi.
- Peran IAM untuk folder
- Izin dan peran untuk project
- Izin dan peran yang diperlukan untuk mengonfigurasi Kontrol Layanan VPC
- Izin dan peran yang diperlukan untuk mengelola Compute Engine
- Pastikan kedua project tersedia di folder karena kita perlu membuat kebijakan tercakup di tingkat folder. Pelajari cara memindahkan project ke dalam folder.

Biaya
Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Satu-satunya resource yang akan menimbulkan biaya adalah Instance VM. Estimasi biaya dapat ditemukan di kalkulator harga.
3. Membuat Perimeter
Di laboratorium ini, kita akan melakukan langkah-langkah berikut:
- Di Konsol Google, pilih Organisasi Anda dan Akses VPC Service Controls. Pastikan Anda berada di tingkat organisasi.

- Klik "Kelola Kebijakan" untuk membuat kebijakan akses baru yang dicakup ke folder "Codelab".

- Buat Perimeter Baru dalam mode diterapkan. Mari kita beri nama "SuperProtection" untuk tutorial ini.
- Saat Anda membuat perimeter, pilih project yang akan diterapkan sebagai ProjectZ.
- Pilih jenis perimeter sebagai "Reguler".
- Pada dialog Specify services to restrict, pilih layanan yang akan dibatasi sebagai "Compute Engine".
Penyiapan perimeter akan terlihat seperti ini:

4. Memverifikasi bahwa perimeter telah diterapkan
- Akses ProjectX dan pastikan Anda dapat mengakses API Compute Engine dengan membuka halaman beranda VM Instances. Anda akan dapat melakukannya karena projectX tidak dilindungi oleh perimeter VPC SC yang dibuat.
- Akses ProjectZ dan verifikasi apakah Anda dapat mengakses Compute Engine. Anda dapat melihat bahwa permintaan telah dilarang oleh Kontrol Layanan VPC karena perimeter layanan SuperProtection melindungi ProjectZ dan Compute Engine API.

5. Memecahkan masalah penolakan
Pertama, kita harus mengidentifikasi apa sebenarnya masalahnya di sini untuk menentukan cara memecahkannya.
- Log Kontrol Layanan VPC mencakup detail tentang permintaan ke resource yang dilindungi dan alasan Kontrol Layanan VPC menolak permintaan tersebut. Mari kita temukan ID Unik Kontrol Layanan VPC di log audit ProjectZ menggunakan kueri berikut di Logs Explorer:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Tindakan ini akan menampilkan semua log audit Kontrol Layanan VPC. Kita akan mencari log error terakhir.
- Klik header VPC Service Controls, lalu pilih "Troubleshoot denial" yang akan membuka Pemecah Masalah Kontrol Layanan VPC.
API ini akan menampilkan alasan pelanggaran di UI yang mudah digunakan, dan apakah ini merupakan pelanggaran ingress atau egress, serta hal-hal berguna lainnya.
Untuk latihan ini, kita akan mencari hal berikut:
"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
{
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
}
],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"
Kita memiliki dua opsi untuk memperbaiki penolakan ini di ProjectZ.
- Membuat tingkat akses untuk mengizinkan akses ke project di dalam perimeter dengan memberikan akses ke IP sistem saya.
- Membuat aturan ingress untuk mengizinkan akses oleh klien API dari luar perimeter layanan ke resource dalam perimeter layanan.
Dalam tutorial ini, kita akan memecahkan masalah dengan membuat Tingkat Akses.
- Buka Access Context Manager di cakupan Folder (Codelab), lalu buat tingkat akses baru.
- Gunakan "Mode Dasar" dan kami akan mengizinkan akses jika subnetwork IP dan Lokasi geografis cocok.

- Buka VPC Service Controls di cakupan Organisasi. Pilih kebijakan akses Anda untuk Codelab ini dan edit perimeter yang kita buat sebelumnya.
- Tambahkan tingkat akses yang dibuat di cakupan folder dan simpan.

6. Hasil pengujian.
Pastikan kita memiliki akses ke Compute Engine dan dapat membuat instance VM. Setelah membuat Tingkat Akses, mari kita coba mengakses Compute Engine di ProjectZ dan membuat instance VM.
- Buka Compute Engine, lalu klik Create Instance

- Biarkan semuanya sebagai default, lalu coba buat instance VM berbiaya rendah.
Setelah sekitar satu menit, Anda akan melihat instance VM yang dibuat dan dapat memverifikasi bahwa Anda memiliki akses penuh ke Compute Engine yang dilindungi di dalam perimeter.

7. Pembersihan
Meskipun tidak ada biaya terpisah untuk menggunakan Kontrol Layanan VPC saat layanan tidak digunakan, sebaiknya bersihkan penyiapan yang digunakan di laboratorium ini. Anda juga dapat menghapus instance VM dan/atau project Cloud untuk menghindari tagihan. Menghapus project Cloud akan menghentikan penagihan untuk semua resource yang digunakan dalam project tersebut.
- Untuk menghapus instance VM Anda, pilih kotak centang di sisi kiri nama instance VM Anda, lalu klik Hapus.

- Untuk menghapus perimeter, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud, klik Security, lalu klik VPC Service Controls di cakupan Organisasi.
- Di halaman VPC Service Controls, di baris tabel yang sesuai dengan perimeter yang ingin Anda hapus, klik "Ikon Hapus"
- Untuk menghapus Tingkat Akses, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Access Context Manager di cakupan Folder.
- Di petak, di baris untuk tingkat akses yang ingin Anda hapus, klik "Ikon Hapus", lalu klik Hapus.
- Untuk mematikan Project, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman IAM & Admin Settings project yang ingin Anda hapus.
- Di halaman Setelan IAM & Admin, klik Shutdown.
- Masukkan project ID, lalu klik Shutdown anyway.
8. Selamat!
Dalam codelab ini, Anda telah membuat perimeter Kontrol Layanan VPC, menerapkannya, dan memecahkan masalahnya.
Pelajari lebih lanjut
- Lihat dokumentasi Kontrol Layanan VPC.
- Lihat dokumentasi Access Context Manager.
- Lihat dokumentasi pemecah masalah VPC-SC.
Lisensi
Karya ini dilisensikan berdasarkan Lisensi Umum Creative Commons Attribution 2.0.