Menggunakan Tag untuk firewall

Buat Tag sebelum Anda mencoba mengikatnya ke resource atau menggunakannya dalam kebijakan firewall jaringan. Untuk mengontrol akses jaringan, Tag hanya berlaku jika terikat ke instance VM.

Untuk ringkasan, lihat Tag untuk firewall.

Memberikan izin ke Tag

Peran tagAdmin memungkinkan Anda membuat Tag baru atau memperbarui dan menghapus Tag yang ada. Administrator organisasi dapat memberikan peran ini di tingkat organisasi, dan pemilik project dapat memberikannya di tingkat project.

gcloud

  1. Berikan peran tagAdmin kepada pengguna.

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagAdmin
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda
    • EMAIL_ADDRESS: alamat email pengguna
  2. Berikan peran tagUser kepada pengguna.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • EMAIL_ADDRESS: alamat email pengguna

Peran khusus untuk mengelola Tag

Peran tagAdmin memungkinkan Anda melakukan tindakan berikut: membuat Tag baru, memperbarui, dan menghapus Tag yang ada. Jika memerlukan beberapa kemampuan ini, Anda dapat membuat peran IAM kustom dengan izin yang relevan, lalu memberikan peran baru kepada pengguna target. Untuk mengetahui daftar izin yang relevan, lihat izin IAM.

Tag yang digunakan dalam kebijakan firewall harus ditetapkan dengan tujuan GCE_FIREWALL. Meskipun tujuan GCE_FIREWALL diperlukan agar Tag dapat digunakan dalam fitur jaringan, Anda dapat menggunakan Tag untuk tindakan lainnya.

Tag yang digunakan dalam kebijakan firewall jaringan harus memiliki cakupan yang terbatas pada satu VPC.

Membuat Kunci dan nilai tag

Sebelum mengaitkan Tag ke kebijakan firewall jaringan, Anda harus membuat kunci dan nilai Tag.

gcloud

  1. Setelah mendapatkan izin yang diperlukan, buat Kunci tag.

    gcloud resource-manager tags keys create TAG_KEY \
       --parent organizations/ORGANIZATION_ID \
       --purpose GCE_FIREWALL \
       --purpose-data network=PROJECT_ID/NETWORK
    

    Ganti kode berikut:

    • TAG_KEY: Kunci tag
    • ORGANIZATION_ID: ID organisasi Anda
    • PROJECT_ID: ID project Anda
    • NETWORK: nama jaringan Anda
  2. Tambahkan nilai Tag yang relevan ke kunci Tag. Jalankan perintah beberapa kali untuk menambahkan beberapa nilai. Pastikan setiap nilai Tag yang ditambahkan ke kunci Tag bersifat unik.

    gcloud resource-manager tags values create TAG_VALUE \
       --parent ORGANIZATION_ID/TAG_KEY
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • TAG_VALUE: nilai yang akan ditetapkan ke Kunci tag

Membuat kebijakan firewall jaringan

Setelah membuat Tag, Anda dapat menggunakannya dalam kebijakan firewall jaringan. Jika Anda tidak memiliki kebijakan firewall jaringan yang ada, buat kebijakan baru.

gcloud

  1. Buat kebijakan firewall jaringan.

    gcloud compute network-firewall-policies create \
       FIREWALL_POLICY_NAME \
       --global
    

    Ganti kode berikut:

    • FIREWALL_POLICY_NAME: nama kebijakan firewall jaringan global jaringan baru

Membuat aturan kebijakan firewall dengan Tag

Setelah membuat Tag dan kebijakan firewall jaringan, Anda dapat membuat aturan kebijakan firewall jaringan dengan nilai tag sumber dan nilai tag target tertentu untuk mengizinkan traffic yang diinginkan antara VM dengan tag sumber dan tag tujuan.

gcloud

  1. Buat aturan kebijakan firewall jaringan dengan kunci dan nilai sumber serta target tertentu.

    gcloud compute network-firewall-policies rules create 1 \
        --firewall-policy FIREWALL_POLICY_NAME \
        --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --direction DIRECTION \
        --action ACTION \
        --layer4-configs tcp:PORT \
        --global-firewall-policy
    

    Ganti kode berikut:

    • FIREWALL_POLICY_NAME: nama kebijakan firewall jaringan global jaringan baru
    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • TAG_VALUE: nilai yang akan ditetapkan ke Kunci tag
    • DIRECTION: menunjukkan apakah aturan tersebut adalah aturan ingress atau egress
    • ACTION: salah satu tindakan berikut:
      • allow: mengizinkan koneksi yang cocok dengan aturan
      • deny: menolak koneksi yang cocok dengan aturan
      • goto_next: meneruskan evaluasi koneksi ke tingkat berikutnya dalam hierarki, baik folder maupun jaringan
    • PORT: nomor port untuk mengakses resource

Mengikat Tag ke instance VM

Administrator tag dapat mengikat Tag ke setiap instance VM.

Mengikat Tag ke resource akan melampirkan nilai Tag ke resource. Meskipun Tag dapat memiliki beberapa nilai untuk kunci tertentu, Anda hanya dapat mengikat satu nilai per kunci Tag ke resource. Misalnya, Anda tidak dapat mengikat nilai Tag web-backend dan mysql ke instance VM yang sama karena keduanya termasuk dalam kunci tag yang sama vm-function.

Misalnya, Sasha, seorang developer, ingin menyiapkan aplikasi yang terdiri dari backend API dan penyimpanan database pendukung. Untuk mengizinkan traffic antara backend dan server database, Sasha perlu mengikat nilai Tag web-backend dan mysql ke VM yang berbeda.

gcloud

  1. Berikan peran tagUser.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • EMAIL_ADDRESS: alamat email pengguna

    Dalam perintah ini, pengguna diberi hak penggunaan semua nilai kunci saat ini dan mendatang. Anda juga dapat secara selektif memberikan akses hanya ke nilai Tag tertentu, seperti berikut:

    gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Ganti kode berikut:

    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • TAG_VALUE: nilai yang akan ditetapkan ke Kunci tag
    • EMAIL_ADDRESS: alamat email pengguna
  2. Berikan peran tagUser pada resource yang ingin Anda kaitkan dengan Tag.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Ganti kode berikut:

    • PROJECT_ID: Project ID milik Anda
    • EMAIL_ADDRESS: alamat email pengguna
  3. Dapatkan nilai PARENT untuk pasangan nilai kunci Tag:

    1. Tentukan awalan nama lengkap untuk project dan zona Anda:

      FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
      
    2. Dapatkan ID VM:

      VM_ID=$(gcloud compute instances describe VM_NAME --zone ZONE --format='value(id)')
      
    3. Gabungkan nilai FULL_NAME_PREFIX dan VM_ID:

      PARENT="$FULL_NAME_PREFIX$VM_ID"
      echo $PARENT
      

    Ganti kode berikut:

    • PROJECT_NUMBER: jumlah project Anda
    • ZONE: zona tempat VM berada
    • VM_NAME: nama VM yang sedang Anda kerjakan
  4. Cantumkan binding.

    gcloud resource-manager tags bindings list \
       --location LOCATION_NAME \
       --parent PARENT
    

    Ganti kode berikut:

    • LOCATION_NAME: lokasi tempat Tag berada; di sini, zona instance VM
    • PARENT: nama resource lengkap yang dilampirkan ke binding, seperti yang berasal dari perintah sebelumnya
  5. Hapus dan buat binding.

    gcloud resource-manager tags bindings delete \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    
    gcloud resource-manager tags bindings create \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    

    Ganti kode berikut:

    • LOCATION_NAME: lokasi tempat Tag berada
    • ORGANIZATION_ID: ID organisasi Anda
    • TAG_KEY: Kunci tag
    • TAG_VALUE: nilai Kunci tag
    • PARENT: nama resource lengkap dari resource yang akan dilampirkan ke nilai Tag

Menggunakan Tag di seluruh jaringan yang di-peering

Anda dapat menggunakan Tag dalam peering jaringan. Lakukan tugas berikut dalam urutan yang ditentukan untuk menggunakan Tag di dua jaringan peering.

  1. Tetapkan peran tagAdmin kepada dua pengguna: satu pengguna di setiap jaringan peer. Administrator organisasi memberikan peran tagAdmin kepada pengguna di tingkat organisasi, dan pemilik project dapat memberikannya di tingkat project.
  2. Izinkan pengguna jaringan pertama membuat Kunci dan nilai tag di jaringan pertama.
  3. Izinkan pengguna jaringan kedua membuat Kunci dan nilai tag di jaringan kedua.
  4. Berikan izin yang diperlukan kepada kedua pengguna untuk mengikat Tag di kedua jaringan.
  5. Tautkan Tag ke pengguna dan resource di jaringan pertama.
  6. Ikat Tag ke pengguna dan resource di jaringan kedua.
  7. Untuk pengguna dari jaringan kedua, berikan izin tagUser di jaringan pertama.
  8. Untuk pengguna dari jaringan pertama, berikan izin tagUser di jaringan kedua.
  9. Buat aturan kebijakan firewall di jaringan pertama.
  10. Buat aturan kebijakan firewall di jaringan kedua.

Langkah berikutnya