Menyiapkan kebijakan otorisasi untuk Secure Web Proxy

Halaman ini menjelaskan cara menyiapkan kebijakan otorisasi untuk Secure Web Proxy.

Sebelum memulai

Membuat kebijakan otorisasi

Bagian ini menjelaskan cara membuat berbagai jenis kebijakan otorisasi yang dilampirkan ke instance Secure Web Proxy.

Untuk membuat kebijakan otorisasi untuk Secure Web Proxy, lakukan hal berikut:

Kebijakan otorisasi berdasarkan identitas mTLS

Secure Web Proxy mendukung penerapan aturan keamanan berdasarkan identitas yang berasal dari sertifikat TLS mutual (mTLS). Menerapkan aturan berdasarkan identitas ini sangat berguna di lingkungan zero trust, di mana traffic antara klien dan proxy diamankan oleh mTLS. Untuk mengetahui informasi selengkapnya, lihat Kebijakan otorisasi berdasarkan principal.

Contoh berikut menunjukkan kebijakan otorisasi untuk instance Secure Web Proxy bernama swp1. Contoh ini mengasumsikan bahwa traffic ke proxy menggunakan protokol HTTPS.

Kebijakan dengan profil REQUEST_AUTHZ menerapkan bahwa semua traffic ke example.com/mcp memerlukan autentikasi mTLS dari principal tertentu sebelum traffic diizinkan untuk melewati. Kebijakan ini juga menolak semua traffic keluar yang tidak ditujukan ke example.com/mcp.

  1. Buat file YAML kebijakan otorisasi.

    Contoh berikut membuat file authz-policy.yaml. Kebijakan ini hanya mengizinkan traffic ke host dan jalur yang ditentukan jika klien menyajikan sertifikat yang cocok dengan akun utama SPIFFE ID yang ditentukan.

    $ cat >authz-policy.yaml <<EOF
    name: test-authz-policy-mtls
    target:
      resources:
      - "projects/ PROJECT_ID /locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - to:
      operations:
      - hosts:
          - exact: "example.com"
        paths:
          - exact: "/mcp"
      from:
        sources:
        - principals:
          - principalSelector: CLIENT_CERT_URI_SAN
            principal:
              exact: "spiffe:// PROJECT_ID .global.123.workload.id.goog/ns/ns1/sa/hellomcp"
    action: ALLOW
    EOF
    

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • LOCATION: region instance Secure Web Proxy Anda
  2. Buat kebijakan otorisasi dan impor file YAML menggunakan perintah gcloud network-security authz-policies import.

    gcloud beta network-security authz-policies import my-authz-policy-allow
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Ganti LOCATION dengan region instance Secure Web Proxy Anda.

Kebijakan otorisasi berdasarkan akun layanan atau tag

Anda dapat menerapkan kebijakan otorisasi berdasarkan akun layanan atau tag yang dilampirkan ke berbagai resource Google Cloud .

Contoh ini mengasumsikan bahwa Anda telah menyelesaikan langkah-langkah berikut:

Akun layanan

  1. Buat file YAML kebijakan otorisasi untuk mengizinkan permintaan tertentu.

    Contoh berikut membuat file authz-policy.yaml untuk instance Secure Web Proxy bernama swp1. Kebijakan dikonfigurasi untuk mengizinkan permintaan dari instance virtual machine (VM) Compute Engine dengan akun layanan my-sa-123@56788.iam.gserviceaccount.com untuk mencapai jalur example1.com/url1.

    $ cat >authz-policy.yaml <<EOF
    name: my-authz-policy-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/swp1"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
            - resources:
                - iamServiceAccount:
                    exact: "my-sa-123@56788.iam.gserviceaccount.com"
      to:
        operations:
        - hosts:
            - exact: "example1.com"
        paths:
        - prefix: "/url1"
    action: ALLOW
    EOF
    

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • LOCATION: region instance Secure Web Proxy Anda
  2. Buat kebijakan otorisasi dan impor file YAML menggunakan perintah gcloud network-security authz-policies import.

    Contoh perintah berikut menunjukkan cara mengimpor file kebijakan yang dibuat sebelumnya dan membuat kebijakan otorisasi:

    gcloud network-security authz-policies import my-authz-policy-allow
    
        --source=authz-policy.yaml
        --location= LOCATION 
    

    Ganti LOCATION dengan region instance Secure Web Proxy Anda.

Tag

  1. Buat file YAML kebijakan otorisasi untuk mengizinkan permintaan tertentu.

    Contoh berikut membuat file authz-policy-tag.yaml untuk instance Secure Web Proxy bernama swp1. Kebijakan hanya mengizinkan permintaan yang berasal dari resource Google Cloud dengan nilai tag TAG_VALUE_PERMANENT_ID untuk mengakses jalur URL example1.com/url1.

    $ cat >authz-policy-tag.yaml <<EOF
    name: my-authz-policy-tag-allow
    target:
        resources:
        - "projects/PROJECT_ID/locations/ LOCATION /gateways/ GATEWAY_NAME "
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - from:
        sources:
        - resources:
            - tagValueIdSet:
                ids: ["TAG_VALUE_PERMANENT_ID"]
      to:
        operations:
        - hosts:
            - exact: "example1.com"
            paths:
            - exact: "/url1"
    action: ALLOW
    EOF
    

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • LOCATION: region instance Secure Web Proxy Anda
    • GATEWAY_NAME: nama gateway Secure Web Proxy Anda
    • TAG_VALUE_PERMANENT_ID: ID permanen nilai tag, seperti tagValues/123456789012
  2. Buat kebijakan otorisasi dan impor file YAML menggunakan perintah gcloud network-security authz-policies import.

    Contoh perintah berikut mengimpor file kebijakan yang dibuat sebelumnya dan membuat kebijakan otorisasi di region Google Cloud yang ditentukan:

    gcloud network-security authz-policies import my-authz-policy-tag-allow
        --source=authz-policy-tag.yaml
        --location= LOCATION 
    

    Ganti LOCATION dengan region instance Secure Web Proxy Anda.

Kebijakan otorisasi untuk mendelegasikan keputusan otorisasi

Untuk keputusan otorisasi yang kompleks yang tidak dapat dinyatakan menggunakan aturan ALLOW atau DENY standar, Anda dapat membuat kebijakan otorisasi dengan tindakan CUSTOM. Kemudian, Anda dapat mendelegasikan keputusan otorisasi ke ekstensi otorisasi (Service Extensions).

Saat Anda mengonfigurasi kebijakan dengan tindakan CUSTOM, Secure Web Proxy akan memindahkan payload atau metadata permintaan ke Service Extensions. Bergantung pada respons dari Service Extensions, proxy akan mengizinkan atau menolak traffic.

Secure Web Proxy mendukung jenis delegasi berikut:

  • Mendelegasikan keputusan otorisasi permintaan ke Service Extensions: Anda dapat menggunakan kebijakan otorisasi yang dikonfigurasi dengan tindakan CUSTOM dan profil REQUEST_AUTHZ untuk mendelegasikan keputusan berdasarkan metadata dan header permintaan. Dalam mode ini, keputusan akses didelegasikan ke ekstensi otorisasi. Anda dapat menggunakan mode ini untuk memverifikasi identitas dan izin.

  • Mendelegasikan keputusan otorisasi konten ke Service Extensions: Anda dapat menggunakan kebijakan otorisasi dengan tindakan CUSTOM dan profil CONTENT_AUTHZ untuk mendelegasikan keputusan ke ekstensi otorisasi berdasarkan payload data permintaan yang sebenarnya. Mode ini memungkinkan Anda mengaktifkan pemeriksaan konten mendalam dan penegakan keamanan, sehingga Anda dapat memindai informasi sensitif atau pola berbahaya dengan berintegrasi dengan layanan seperti Model Armor.

Batasan

Saat Anda menerapkan kebijakan otorisasi untuk Secure Web Proxy, batasan berikut berlaku:

  • Batasan target dan konektivitas: ekstensi otorisasi untuk Secure Web Proxy tidak mendukung Identity-Aware Proxy (IAP) sebagai target langsung.

  • Konflik dan kompatibilitas kebijakan: jika Anda memiliki kebijakan keamanan gateway dengan aturan keamanan yang ada, Anda tidak perlu menghapusnya. Secure Web Proxy mengabaikan aturan ini saat Anda menerapkan kebijakan otorisasi ke instance Anda.

  • Persyaratan protokol dan pemeriksaan: untuk mengonfigurasi kebijakan otorisasi Secure Web Proxy, Anda harus mengaktifkan pemeriksaan TLS.

Langkah berikutnya