Untuk memusatkan pengelolaan dan menerapkan kebijakan keamanan secara konsisten di seluruh jaringan Virtual Private Cloud (VPC) Anda, migrasikan aturan firewall VPC yang menggunakan tag jaringan dan akun layanan sumber ke kebijakan firewall jaringan global. Dengan melakukannya, Anda dapat mengurangi permukaan serangan, mengoptimalkan konfigurasi firewall, dan memperketat batas keamanan dengan mengidentifikasi dan mengatasi aturan yang terlalu permisif.
Dokumen ini ditujukan untuk administrator jaringan, engineer keamanan, dan arsitek keamanan yang mengonfigurasi dan mengelola kebijakan keamanan jaringan.
Untuk memigrasikan aturan yang tidak menggunakan tag jaringan atau akun layanan, lihat Memigrasikan aturan firewall VPC yang tidak menggunakan tag jaringan dan akun layanan.
Untuk menyelesaikan migrasi ini, Anda harus melakukan tugas berikut:
- Evaluasi lingkungan Anda.
- Mencantumkan tag jaringan dan akun layanan yang ada.
- Buat tag aman untuk setiap tag jaringan dan akun layanan sumber.
- Petakan tag jaringan dan akun layanan ke tag aman yang Anda buat.
- Mengikat tag aman ke instance virtual machine (VM).
- Migrasikan aturan firewall VPC ke kebijakan firewall jaringan global.
- Tinjau kebijakan firewall jaringan baru.
- Selesaikan tugas pascamigrasi.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init - Pastikan Anda memiliki peran Compute Security Admin (
roles/compute.securityAdmin).
Mengevaluasi lingkungan Anda
Sebelum memigrasikan aturan firewall VPC ke kebijakan firewall jaringan global, nilai lingkungan yang ada serta peran dan izin Identity and Access Management (IAM) Anda:
- Identifikasi jumlah aturan firewall VPC di jaringan VPC Anda.
- Catat prioritas yang terkait dengan setiap aturan firewall VPC.
- Pastikan Anda memiliki peran dan izin IAM yang diperlukan untuk membuat, mengaitkan, mengubah, dan melihat kebijakan firewall jaringan global.
Pastikan Anda memiliki peran dan izin IAM yang diperlukan untuk membuat, memperbarui, dan menghapus definisi tag aman.
Tabel berikut memberikan ringkasan berbagai peran yang diperlukan untuk membuat dan mengelola tag aman:
Nama peran Tugas yang dilakukan Peran Tag Administrator ( roles/resourcemanager.tagAdmin)Membuat, memperbarui, dan menghapus definisi tag. Untuk mengetahui informasi selengkapnya, lihat Mengelola tag. Peran Tag Viewer ( roles/resourcemanager.tagViewer)Melihat definisi tag dan tag yang dilampirkan ke resource. Peran Tag User ( roles/resourcemanager.tagUser)Menambahkan dan menghapus tag yang dilampirkan ke resource.
Mencantumkan tag jaringan dan akun layanan yang ada
Tentukan apakah aturan firewall VPC Anda menggunakan tag jaringan atau akun layanan, dan buat file JSON untuk menyimpan detail tag jaringan dan akun layanan yang ada.
Untuk mengekspor tag jaringan dan akun layanan di jaringan Anda ke file JSON pemetaan, gunakan perintah gcloud beta compute firewall-rules migrate dengan tanda --export-tag-mapping:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--export-tag-mapping \
--tag-mapping-file=TAG_MAPPING_FILE
Ganti kode berikut:
NETWORK_NAME: nama jaringan VPC yang berisi aturan firewall VPC yang ingin Anda migrasikan.TAG_MAPPING_FILE: nama file JSON pemetaan.
Jika aturan firewall VPC Anda hanya berisi akun layanan, file JSON yang dihasilkan hanya berisi akun layanan. Demikian pula, jika aturan firewall VPC Anda hanya berisi tag jaringan, file JSON yang dihasilkan hanya berisi tag jaringan. Akun layanan diawali dengan sa,
dan tag jaringan tidak memiliki awalan.
Misalnya, file JSON yang dihasilkan berikut berisi tag jaringan sql-server dan akun layanan example@example.com.
{"sql-server": null, "sa:example@example.com": null}
Membuat tag aman
Berdasarkan tag jaringan dan akun layanan sumber yang tercantum dalam file pemetaan, Anda harus membuat tag aman yang sesuai di jaringan.
Tag aman baru berfungsi sebagai pengganti tag jaringan dan akun layanan serta mempertahankan konfigurasi jaringan asli setelah migrasi.
Sebagai akun utama dengan peran Administrator Tag, untuk setiap tag jaringan dan akun layanan, buat pasangan nilai kunci tag aman yang sesuai.
Untuk membuat kunci dan nilai tag yang aman untuk setiap tag jaringan dan akun layanan,
gunakan perintah gcloud resource-manager tags keys createdan perintah
gcloud resource-manager tags values create:
gcloud resource-manager tags keys create TAG_KEY \
--parent=organizations/ORGANIZATION_ID \
--purpose=GCE_FIREWALL \
--purpose-data=network=PROJECT_ID/NETWORK_NAME
gcloud resource-manager tags values create TAG_VALUE \
--parent=ORGANIZATION_ID/TAG_KEY
Ganti kode berikut:
TAG_KEY: nama kunci tag aman.ORGANIZATION_ID: ID organisasi.PROJECT_ID: ID project.NETWORK_NAME: nama jaringan VPC.TAG_VALUE: nilai yang akan ditetapkan ke kunci tag aman.
Misalnya, jika Anda memiliki aturan firewall VPC dengan tag jaringan
bernama sql-server, buat pasangan nilai kunci tag aman yang sesuai
sql-server:production.
gcloud resource-manager tags keys create sql-server \
--parent=organizations/123456 \
--purpose=GCE_FIREWALL \
--purpose-data=network=test-project/test-network
gcloud resource-manager tags values create production \
--parent=123456/sql-server
Memetakan tag jaringan dan akun layanan ke tag aman
Setelah membuat tag aman yang diatur IAM untuk setiap tag jaringan dan akun layanan yang digunakan oleh aturan firewall VPC, Anda harus memetakan tag aman ke tag jaringan dan akun layanan yang sesuai dalam file JSON pemetaan.
Edit file JSON untuk memetakan tag jaringan dan akun layanan ke tag aman yang sesuai.
{"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
Misalnya, file JSON berikut memetakan tag jaringan sql-server ke
nilai tag aman dari kunci sql-server dan akun layanan example@example.com
ke nilai tag aman dari kunci example@example.com:
{"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
Mengikat tag aman ke VM
Berdasarkan file JSON pemetaan tag, kaitkan tag aman yang baru dibuat ke VM yang tag jaringannya sudah ada dilampirkan:
Sebagai akun utama dengan peran Administrator Tag, lakukan hal berikut:
- Tinjau izin yang diperlukan untuk melampirkan tag aman ke Google Cloud resource.
- Tetapkan peran Pengguna Tag ke prinsipal yang menggunakan tag aman dan mengikat tag aman ke VM.
Sebagai prinsipal dengan peran Pengguna Tag, ikat tag aman ke instance VM menggunakan perintah
gcloud beta compute firewall-rules migratedengan flag--bind-tags-to-instances:gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --bind-tags-to-instances \ --tag-mapping-file=TAG_MAPPING_FILEGanti kode berikut:
NETWORK_NAME: nama jaringan VPC.TAG_MAPPING_FILE: nama file JSON pemetaan.
Memigrasikan aturan firewall VPC ke kebijakan firewall jaringan global
Untuk memigrasikan aturan firewall VPC ke kebijakan firewall jaringan global, gunakan perintah gcloud beta compute firewall-rules migrate:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--tag-mapping-file=TAG_MAPPING_FILE
Ganti kode berikut:
NETWORK_NAME: nama jaringan VPC yang berisi aturan firewall VPC yang ingin Anda migrasikan.POLICY_NAME: nama kebijakan firewall jaringan global yang akan dibuat selama migrasi.TAG_MAPPING_FILE: nama file JSON pemetaan.
Mengecualikan aturan firewall dari migrasi
Untuk mengecualikan aturan firewall tertentu dari migrasi, gunakan perintah gcloud beta compute
firewall-rules migrate dengan tanda --exclusion-patterns-file:
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
Ganti kode berikut:
NETWORK_NAME: nama jaringan VPC Anda yang berisi aturan firewall VPC yang ingin Anda migrasikan.POLICY_NAME: nama kebijakan firewall jaringan global yang akan dibuat selama migrasi.EXCLUSION_PATTERNS_FILE: nama file yang berisi ekspresi reguler yang menentukan pola penamaan firewall VPC yang akan dikecualikan dari migrasi. Pastikan untuk menentukan jalur lengkap file. Aturan firewall yang cocok dengan pola yang ditentukan akan dilewati.Saat menentukan pola pengecualian, pertimbangkan hal berikut:
- Setiap ekspresi reguler harus berada di barisnya sendiri dan merepresentasikan satu pola penamaan firewall.
- Ekspresi reguler tidak berisi spasi kosong di awal atau akhir.
Melihat aturan firewall yang dikecualikan
Berdasarkan pola penamaan aturan firewall yang dikecualikan, alat migrasi tidak
memigrasikan beberapa aturan firewall, seperti aturan firewall Google Kubernetes Engine (GKE). Untuk mengekspor daftar pola penamaan aturan firewall yang dikecualikan,
gunakan perintahgcloud beta compute firewall-rules migrate dengan
flag --export-exclusion-patterns dan --exclusion-patterns-file.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
--export-exclusion-patterns
Ganti kode berikut:
NETWORK_NAME: nama jaringan VPC Anda yang berisi aturan firewall VPC yang ingin Anda migrasikan.POLICY_NAME: nama kebijakan firewall jaringan global yang akan dibuat selama migrasi.EXCLUSION_PATTERNS_FILE: jalur file tempat pola penamaan aturan firewall yang dikecualikan berikut diekspor.gke-(.+)-ipv6-all gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd)) k8s-fw-(l7-)?(.+) k8s-(.+)-((node)|(http)|(node-http))-hc (.+)-hc k8s2-(.+)-(.+)-(.+)-(.+)(-fw)? k8s2-(.+)-l4-shared-hc-fw gke((gw)|(mcg))1-l7-(.+)-(.+)
Untuk memigrasikan aturan firewall yang dikecualikan yang cocok dengan pola tertentu,
hapus pola dari daftar yang diekspor dan jalankan perintah gcloud beta compute
firewall-rules migrate dengan flag --exclusion-patterns-file.
Memaksa migrasi sambil mempertahankan urutan evaluasi
Selama migrasi, jika urutan evaluasi aturan firewall yang dikecualikan berada di antara urutan evaluasi aturan firewall yang ditentukan pengguna, migrasi akan gagal.Hal ini terjadi karena aturan firewall yang dikecualikan tidak dimigrasikan, dan alat migrasi tidak dapat mempertahankan urutan evaluasi asli aturan yang ditentukan pengguna dalam kebijakan firewall jaringan baru.
Misalnya, jika aturan firewall Anda memiliki prioritas berikut, migrasi akan gagal.
- Aturan yang ditentukan pengguna dengan prioritas 100
- Aturan yang dikecualikan dengan prioritas 200
- Aturan yang ditentukan pengguna dengan prioritas 300
Untuk memaksa alat migrasi memigrasikan aturan yang ditentukan pengguna
sambil mempertahankan urutan evaluasi aslinya dan mengabaikan
aturan firewall yang dikecualikan, gunakan perintah
gcloud beta compute firewall-rules migrate dengan flag --force.
gcloud beta compute firewall-rules migrate \
--source-network=NETWORK_NAME \
--target-firewall-policy=POLICY_NAME \
--force
Ganti kode berikut:
NETWORK_NAME: nama jaringan VPC Anda yang berisi aturan firewall VPC yang ingin Anda migrasikan.POLICY_NAME: nama kebijakan firewall jaringan global yang akan dibuat selama migrasi.
Tinjau kebijakan firewall jaringan global yang baru
Sebelum mengaitkan kebijakan yang baru dibuat ke jaringan VPC, Google merekomendasikan agar Anda meninjau kebijakan tersebut untuk memastikan proses migrasi telah selesai dengan akurat.
Pastikan hal berikut:
Konfigurasi aturan kebijakan firewall sudah benar, dan komponen aturan berikut dimigrasikan dengan benar untuk setiap aturan:
- Prioritas relatif
- Direction of traffic
- Tindakan jika ada kecocokan
- Setelan log
- Parameter target
- Parameter sumber (untuk aturan masuk)
- Parameter tujuan (untuk aturan keluar)
- Batasan protokol dan port
Verifikasi apakah tag aman terpasang ke VM yang benar. Untuk memastikannya, gunakan perintah
gcloud resource-manager tags bindings list:gcloud resource-manager tags bindings list \ --location=ZONE_ID \ --parent=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \ --effectiveGanti kode berikut:
ZONE_ID: zona VM.PROJECT_ID: ID project.INSTANCE_NAME: nama VM.
Tugas pascamigrasi
Untuk mengaktifkan dan menggunakan kebijakan firewall jaringan global baru, selesaikan tugas pasca-migrasi. Untuk mengetahui informasi selengkapnya, lihat Tugas pasca-migrasi.
Langkah berikutnya
- Pelajari lebih lanjut cara memigrasikan aturan firewall VPC.
- Migrasikan aturan firewall VPC tanpa dependensi apa pun.