1. Pengantar
Kontrol Layanan VPC (VPC-SC) adalah kontrol keamanan tingkat organisasi di Google Cloud yang dapat digunakan pelanggan perusahaan untuk memitigasi risiko pemindahan data yang tidak sah. Kontrol Layanan VPC memberikan 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 lain untuk mengurangi kerugian yang disengaja dan 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 traffic masuk Kontrol Layanan VPC
2. Penyiapan dan persyaratan
Untuk tutorial ini, kami memerlukan prasyarat berikut:
- Organisasi GCP.
- Folder di bawah Organisasi.
- 2 project GCP dalam Organisasi yang sama ditempatkan dalam folder.
- Izin yang diperlukan di tingkat organisasi.
- Akun penagihan untuk kedua project.
Penyiapan fasilitas
- Di Konsol Google Cloud, 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 tersebut karena kami perlu membuat kebijakan cakupan di tingkat folder. Pelajari cara memindahkan project ke folder.
Biaya
Anda perlu 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. Perkiraan 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 Access VPC Service Controls. Pastikan Anda berada di tingkat organisasi.
- Klik "Kelola Kebijakan" untuk membuat kebijakan akses baru yang dicakupkan ke "Codelab" folder tersebut.
- Buat Perimeter Baru dalam mode yang diterapkan. Mari kita beri nama "SuperProtection" untuk tutorial ini.
- Saat Anda membuat perimeter, pilih project yang akan diterapkan sebagai ProjectZ.
- Pilih jenis perimeter sebagai "Regular".
- Pada dialog Tentukan layanan yang akan dibatasi, pilih layanan yang akan dibatasi sebagai "Compute Engine".
Penyiapan perimeter akan terlihat seperti ini:
4. Memverifikasi bahwa perimeter telah diterapkan
- Akses ProjectX dan verifikasi apakah Anda dapat mengakses Compute Engine API dengan membuka halaman beranda Instance VM. Anda seharusnya bisa 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 SuperProtection perimeter layanan melindungi ProjectZ dan Compute Engine API.
5. Memecahkan masalah penolakan
Pertama, kita harus mengidentifikasi masalah sebenarnya 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 dengan 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 Kontrol Layanan VPC, lalu pilih "Memecahkan masalah penolakan" yang akan membuka Pemecah Masalah Kontrol Layanan VPC.
API ini akan menunjukkan kepada kita alasan pelanggaran dalam UI yang mudah dipahami, dan apakah ini merupakan pelanggaran masuk atau keluar, di antara hal-hal yang 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]"
Kami 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 masuk untuk mengizinkan akses klien API dari luar perimeter layanan ke resource dalam perimeter layanan.
Dalam tutorial ini, kita akan memecahkan masalahnya dengan membuat Tingkat Akses.
- Buka cakupan Access Context Manager di Folder (Codelab), lalu buat tingkat akses baru.
- Menggunakan "Mode Dasar" dan kita akan mengizinkan akses jika subnetwork IP dan lokasi Geografis terpenuhi.
- Buka Kontrol Layanan VPC pada cakupan Organisasi. Pilih kebijakan akses untuk Codelab ini dan edit perimeter yang sebelumnya kita buat.
- Tambahkan tingkat akses yang dibuat di cakupan folder, lalu simpan.
6. Hasil pengujian.
Pastikan bahwa 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 dan klik Buat Instance
- Biarkan semuanya sesuai default dan coba buat instance VM berbiaya rendah.
Setelah sekitar satu menit, Anda akan melihat instance VM yang dibuat dan Anda dapat memverifikasi bahwa Anda memiliki akses penuh ke Compute Engine yang terlindungi di dalam perimeter.
7. Pembersihan
Meskipun tidak ada biaya tersendiri untuk penggunaan 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. Jika project Cloud Anda dihapus, semua resource yang digunakan dalam project tersebut akan dihentikan.
- Untuk menghapus instance VM Anda, pilih kotak centang di sisi kiri nama instance VM, lalu klik Delete.
- Untuk menghapus perimeter, selesaikan langkah-langkah berikut:
- Di konsol Google Cloud, klik Security, lalu klik VPC Service Controls pada cakupan Organisasi.
- Di halaman Kontrol Layanan VPC, pada baris tabel yang sesuai dengan perimeter yang ingin Anda hapus, klik "Hapus Ikon"
- 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 dihapus, klik "Ikon Hapus", lalu klik Hapus.
- Untuk menonaktifkan Project, selesaikan langkah-langkah berikut:
- Di Konsol Google Cloud, buka IAM & Setelan Admin untuk project yang ingin Anda hapus.
- Di IAM & Halaman Setelan Admin, klik Matikan.
- Masukkan project ID, lalu klik Tetap matikan.
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 Pengelola Akses Konteks.
- Lihat dokumentasi pemecah masalah VPC-SC.
Lisensi
Karya ini dilisensikan berdasarkan Lisensi Umum Creative Commons Attribution 2.0.