Mengonfigurasi kebijakan keamanan hierarkis

Halaman ini berisi informasi tentang cara mengonfigurasi kebijakan keamanan hierarkis untuk melindungi organisasi, folder, atau project Anda. Sebelum mengonfigurasi kebijakan keamanan hierarkis, pastikan Anda memahami informasi dalam ringkasan kebijakan keamanan hierarkis.

Menyiapkan izin IAM untuk kebijakan keamanan hierarkis

Operasi berikut mengharuskan Anda memiliki peran Identity and Access Management (IAM) Compute Organization Security Policy Admin role (roles/compute.orgSecurityPolicyAdmin) pada node hierarki resource target, atau pada kebijakan itu sendiri jika sudah ada:

  • Membuat kebijakan keamanan hierarkis baru
  • Mengubah kebijakan keamanan hierarkis dengan menambahkan, memperbarui, atau menghapus aturan
  • Menghapus kebijakan keamanan hierarkis

Operasi berikut mengharuskan Anda memiliki peran Admin Resource Organisasi Compute (roles/compute.orgSecurityResourceAdmin) IAM di node hierarki resource target, selain peran Admin Kebijakan Keamanan Organisasi Compute (roles/compute.orgSecurityPolicyAdmin) atau peran Pengguna Kebijakan Keamanan Organisasi Compute (roles/compute.orgSecurityPolicyUser) di node hierarki resource target atau di kebijakan itu sendiri:

  • Mengaitkan kebijakan keamanan hierarkis dengan node hierarki resource

Terakhir, lihat tabel berikut untuk mengetahui daftar operasi lain-lain yang dapat Anda lakukan jika Anda memiliki salah satu peran yang tercantum:

Operasi Peran
Melihat semua aturan Google Cloud Armor yang efektif untuk resource backend
Melihat resource backend efektif yang tercakup dalam organizationSecurityPolicy

Mengonfigurasi kebijakan keamanan hierarkis

Bagian berikut menjelaskan cara membuat kebijakan keamanan hierarkis, mengaitkannya dengan node hierarki resource, memindahkannya antar-node, menghapusnya, dan cara melihat semua aturan kebijakan keamanan Google Cloud Armor yang berlaku untuk resource yang dilindungi.

Membuat kebijakan keamanan hierarkis

Anda membuat kebijakan keamanan hierarkis menggunakan perintah gcloud beta compute org-security-policies create. Anda membuat kebijakan keamanan hierarkis dalam organisasi atau folder menggunakan flag --organization atau --folder, beserta ORGANIZATION_ID atau FOLDER_ID yang sesuai. Gunakan contoh berikut untuk membuat kebijakan keamanan hierarkis, dengan mengganti POLICY_NAME dengan nama yang ingin Anda berikan pada kebijakan keamanan baru:

  • Buat kebijakan keamanan hierarkis tingkat organisasi:

    gcloud beta compute org-security-policies create \
        --organization=ORGANIZATION_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    
  • Buat kebijakan keamanan hierarkis tingkat folder:

    gcloud beta compute org-security-policies create \ 
        --folder=FOLDER_ID \
        --type=CLOUD_ARMOR \
        --short-name=POLICY_NAME
    

Mengaitkan kebijakan keamanan yang ada dengan node hierarki resource

Jika sudah memiliki kebijakan keamanan, Anda dapat mengaitkannya dengan node hierarki resource menggunakan perintah gcloud beta compute org-security-policies associations create. Ganti kode berikut:

  • POLICY_ID: ID kebijakan keamanan
  • POLICY_NAME: nama kebijakan keamanan
  • ORGANIZATION_ID: ID organisasi
  • FOLDER_ID: ID folder
  • PROJECT_ID: ID project

  • Mengaitkan kebijakan keamanan hierarkis ke organisasi:

    gcloud beta compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --organization=ORGANIZATION_ID \
        --name=ASSOCIATION_NAME
    
  • Mengaitkan kebijakan keamanan hierarkis ke folder:

    gcloud beta compute org-security-policies associations create \
        --security-policy=POLICY_ID \
        --folder=FOLDER_ID \
        --name=ASSOCIATION_NAME
    
  • Mengaitkan kebijakan keamanan hierarkis ke project:

    gcloud beta compute org-security-policies associations create \
      --security-policy=POLICY_ID \
      --project-number=PROJECT_ID \
      --name=ASSOCIATION_NAME
    

Mengecualikan project dari kebijakan keamanan hierarkis

Selain itu, Anda dapat mengecualikan project dari kebijakan keamanan hierarkis tingkat folder, dan Anda dapat mengecualikan project dan folder dari kebijakan keamanan hierarkis tingkat organisasi:

  • Anda dapat mengecualikan project dari kebijakan keamanan hierarkis menggunakan perintah beta compute org-security-policies associations create dengan flag --excluded-projects.

    Contoh perintah berikut mengaitkan kebijakan keamanan example-policy dengan organisasi 10000001, sambil mengecualikan project dengan ID 2000000002:

    gcloud beta compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-projects="projects/2000000002" \
        --organization=10000001
    
  • Anda dapat mengecualikan folder dari kebijakan keamanan hierarkis tingkat organisasi menggunakan perintah beta compute org-security-policies associations create dengan flag --excluded-folders.

    Contoh perintah berikut mengaitkan kebijakan keamanan example-policy dengan organisasi 10000001, sekaligus mengecualikan folder dengan ID 3000000003:

    gcloud beta compute org-security-policies associations create \
        --security-policy=example-policy \
        --excluded-folders="folders/3000000003" \
        --organization=10000001
    

Memindahkan kebijakan keamanan hierarkis

Anda dapat mengubah induk kebijakan keamanan hierarkis menggunakan gcloud beta compute org-security-policies move untuk memindahkan kebijakan keamanan hierarkis di bawah node hierarki resource induk yang berbeda. Anda memberikan sumber sebagai tanda pertama, dan tujuan sebagai tanda kedua. Memindahkan kebijakan keamanan hierarkis akan mengubah kepemilikannya, bukan resource yang terkait dengannya. Hanya organisasi dan folder yang dapat memiliki kebijakan keamanan hierarkis, sehingga Anda tidak dapat memindahkannya ke dalam project.

Pada contoh berikut, Anda memindahkan kebijakan keamanan hierarkis dari organisasi ORGANIZATION_ID ke folder FOLDER_ID:

gcloud beta compute org-security-policies move policy-1 \
    --organization ORGANIZATION_ID \
    --folder FOLDER_ID

Menghapus kebijakan keamanan hierarkis

Sebelum dapat menghapus kebijakan keamanan hierarkis, Anda harus menghapus semua asosiasi yang dimiliki kebijakan tersebut ke node hierarki resource terlebih dahulu. Dalam contoh berikut, Anda menggunakan perintah beta compute org-security-policies associations delete untuk menghapus asosiasi bernama ASSOCIATION_NAME antara kebijakan keamanan hierarkis dengan nama POLICY_NAME dan organisasi ORGANIZATION_ID:

gcloud beta compute org-security-policies associations delete ASSOCIATION_NAME \
    --security-policy=POLICY_NAME \
    --organization=ORGANIZATION_ID

Jika ini bukan satu-satunya asosiasi yang dimiliki kebijakan keamanan, ulangi langkah sebelumnya untuk setiap asosiasi. Jika kebijakan keamanan hierarkis tidak memiliki asosiasi, Anda dapat menghapusnya menggunakan perintah compute org-security-policies delete, seperti dalam contoh berikut:

gcloud beta compute org-security-policies delete POLICY_NAME \
    --organization=ORGANIZATION_ID

Melihat semua aturan Google Cloud Armor yang efektif untuk resource yang dilindungi

Anda dapat melihat semua aturan kebijakan keamanan Google Cloud Armor yang berlaku untuk resource yang dilindungi menggunakan perintah gcloud beta compute backend-services get-effective-security-policies. Dalam contoh berikut, ganti RESOURCE_NAME dengan nama resource yang dilindungi yang ingin Anda periksa:

gcloud beta compute backend-services get-effective-security-policies PROTECTED_RESOURCE

Saat Anda menjalankan perintah gcloud beta compute get-effective-security-policies pada layanan backend dalam project yang mewarisi kebijakan keamanan hierarkis, respons dapat menyertakan kebijakan keamanan hierarkis meskipun jenis layanan backend tertentu tersebut tidak didukung oleh kebijakan keamanan hierarkis. Untuk mengetahui daftar konfigurasi backend yang didukung untuk kebijakan keamanan hierarkis, lihat ringkasan kebijakan keamanan hierarkis.

Kasus penggunaan

Bagian berikut menjelaskan kasus penggunaan untuk kebijakan keamanan hierarkis.

Menolak traffic dari sekumpulan alamat IP ke semua Load Balancer Aplikasi di organisasi Anda

Anda dapat menggunakan kebijakan keamanan hierarkis untuk mengelola daftar alamat IP yang tidak diizinkan mengakses seluruh jaringan organisasi Anda, atau untuk menolak traffic dari wilayah atau negara tertentu. Hal ini dapat membantu Anda mengatasi masalah keamanan khusus perusahaan atau membantu Anda mempertahankan kepatuhan. Langkah-langkah berikut menunjukkan cara membuat kebijakan keamanan hierarkis tingkat organisasi yang menolak traffic dari rentang alamat IP 192.0.2.0/24:

  1. Buat kebijakan keamanan hierarkis bernama org-level-deny-ip-policy, yang dilampirkan ke organisasi dengan ID 1000000001:

     gcloud beta compute org-security-policies create \
         --organization=1000000001 \
         --type=CLOUD_ARMOR \
         --description= "this is an org policy to deny a set of IP addresses for all resources" \
         --short-name=org-level-deny-ip-policy
    
  2. Tambahkan aturan pada prioritas 1000 dengan kondisi pencocokan untuk rentang alamat IP 192.0.2.0/24 dan tindakan deny:

     gcloud beta compute org-security-policies rules create 1000 \
         --action=deny \
         --security-policy=org-level-deny-ip-policy \
         --organization=1000000001 \
         --description "Deny traffic from 192.0.2.0/24" \
         --src-ip-ranges "192.0.2.0/24"
    
  3. Terakhir, kaitkan kebijakan keamanan dengan organisasi, dengan menolak permintaan dari alamat IP 192.0.2.0/24 ke semua layanan dalam organisasi:

     gcloud beta compute org-security-policies associations create \
         --security-policy=org-level-deny-ip-policy \
         --organization=ORGANIZATION_ID
    

Memberi sekumpulan alamat IP sumber akses ke beberapa project dalam organisasi Anda

Anda dapat memberikan akses ke beberapa project dalam organisasi Anda ke satu alamat IP atau ke beberapa alamat IP. Anda sebaiknya melakukannya jika memiliki proxy upstream tepercaya yang ingin dikecualikan dari evaluasi aturan hanya untuk beberapa project Anda. Dalam contoh berbasis Cloud CDN berikut, Anda menggunakan kebijakan keamanan hierarkis tingkat folder untuk memberikan akses rentang alamat IP 192.0.2.0/24 ke project bernama project-1, project-2, dan project-3 di organisasi 10000001:

  1. Gunakan perintah berikut untuk memindahkan project-1, project-2, dan project-3 ke dalam folder dengan ID 20000002:

    gcloud projects move project-1 --folder=20000002
    gcloud projects move project-2 --folder=20000002
    gcloud projects move project-3 --folder=20000002
    
  2. Gunakan perintah berikut untuk membuat kebijakan keamanan bernama org-level-proxy-filtering:

     gcloud beta compute org-security-policies create \
         --folder=20000002 \
         --type=CLOUD_ARMOR \
         --short-name=org-level-proxy-filtering
    
  3. Tambahkan aturan pada prioritas 1000 dengan kondisi kecocokan untuk rentang alamat IP 192.0.2.0/24 dan tindakan aturan goto_next. Jika permintaan cocok dengan kondisi ini, Google Cloud Armor berhenti mengevaluasi aturan dalam kebijakan keamanan ini:

     gcloud beta compute org-security-policies rules create 1000 \
         --action=goto_next \
         --security-policy=org-level-proxy-filtering \
         --organization=10000001 \
         --src-ip-ranges="192.0.2.0/24"
    
  4. Opsional: Jika Anda ingin menerapkan aturan kebijakan keamanan ke project ini untuk permintaan yang bukan dari 192.0.2.0/24 , tambahkan aturan lainnya dengan prioritas yang lebih rendah daripada 1000. Anda dapat melakukan langkah ini nanti.

  5. Gunakan perintah berikut untuk mengaitkan kebijakan ke folder dengan ID 20000002, tempat Anda memindahkan project di langkah 1:

     gcloud beta compute org-security-policies associations create \
         --security-policy=org-level-proxy-filtering \
         --folder=20000002
    

Langkah berikutnya