Menyiapkan TLS bersama untuk Load Balancer Aplikasi klasik

Halaman ini menunjukkan contoh cara mengonfigurasi TLS bersama (mTLS) untuk Load Balancer Aplikasi klasik.

Sebelum memulai

Menyiapkan mTLS untuk load balancer

Agar autentikasi TLS bersama berfungsi, setelah menyiapkan load balancer, Anda perlu mengupdate proxy HTTPS target menggunakan resource ServerTLSPolicy.

  1. Pastikan Anda sudah membuat resource ServerTLSPolicy. Untuk mengetahui petunjuknya, lihat Membuat resource keamanan jaringan.

  2. Untuk menampilkan daftar semua proxy HTTPS target di project Anda, gunakan perintah gcloud compute target-https-proxies list:

    gcloud compute target-https-proxies list
    

    Perhatikan nama proxy HTTPS target untuk melampirkan resource ServerTLSPolicy. Nama ini disebut sebagai TARGET_HTTPS_PROXY_NAME dalam langkah-langkah berikut.

  3. Untuk mengekspor konfigurasi proxy HTTPS target ke file, gunakan perintah gcloud beta compute target-https-proxies export.

    global

      gcloud beta compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \
          --destination=TARGET_PROXY_FILENAME \
          --global
      

    Ganti kode berikut:

    • TARGET_HTTPS_PROXY_NAME: nama proxy target.
    • TARGET_PROXY_FILENAME: nama file yaml. Contoh, mtls_target_proxy.yaml.
  4. Menampilkan daftar semua resource ServerTlsPolicies di lokasi yang ditentukan untuk project saat ini.

    Konsol

    1. Di konsol Google Cloud, buka halaman Autentikasi klien.

      Buka Autentikasi klien

    2. Semua resource ServerTlsPolicies ditampilkan.

    gcloud

    Untuk menampilkan daftar semua resource Autentikasi klien (ServerTlsPolicies), gunakan perintah gcloud network-security server-tls-policies list:

    gcloud network-security server-tls-policies list \
      --location=REGION
    

    Ganti kode berikut:

    REGION: gunakan global.

    Catat nama resource ServerTlsPolicies untuk mengonfigurasi mTLS. Nama ini akan disebut sebagai SERVER_TLS_POLICY_NAME di langkah berikutnya.

  5. Untuk menambahkan file resource ServerTlsPolicy TARGET_PROXY_FILENAME, gunakan perintah berikut. Ganti PROJECT_ID dengan ID project Google Cloud Anda.

    echo "serverTlsPolicy: //networksecurity.googleapis.com/projects/PROJECT_ID/locations/REGION/serverTlsPolicies/SERVER_TLS_POLICY_NAME" >> TARGET_PROXY_FILENAME
    
  6. Untuk mengimpor konfigurasi proxy HTTPS target dari file, gunakan perintah gcloud beta compute target-https-proxies import.

    global

       gcloud beta compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \
           --source=TARGET_PROXY_FILENAME \
           --global
       

    Ganti kode berikut:

    • TARGET_HTTPS_PROXY_NAME: nama proxy target.
    • TARGET_PROXY_FILENAME: nama file yaml. Contoh, mtls_target_proxy.yaml.

Tambahkan header kustom mTLS

Dengan mengaktifkan mTLS, Anda dapat menggunakan header kustom untuk meneruskan informasi tentang koneksi mTLS ke layanan backend. Anda juga dapat mengaktifkan logging sehingga kegagalan koneksi mTLS direkam dalam log.

  1. Untuk menampilkan daftar semua layanan backend dalam project, gunakan perintah gcloud compute backend-services list:

    gcloud compute backend-services list
    

    Catat nama layanan backend untuk mengaktifkan header dan logging kustom. Nama ini disebut sebagai BACKEND_SERVICE pada langkah berikutnya.

  2. Untuk mengupdate layanan backend, gunakan perintah gcloud compute backend-services update:

    gcloud compute backend-services update BACKEND_SERVICE \
      --global \
      --enable-logging \
      --logging-sample-rate=1 \
      --custom-request-header='X-Client-Cert-Present:{client_cert_present}' \
      --custom-request-header='X-Client-Cert-Chain-Verified:{client_cert_chain_verified}' \
      --custom-request-header='X-Client-Cert-Error:{client_cert_error}' \
      --custom-request-header='X-Client-Cert-Hash:{client_cert_sha256_fingerprint}' \
      --custom-request-header='X-Client-Cert-Serial-Number:{client_cert_serial_number}' \
      --custom-request-header='X-Client-Cert-SPIFFE:{client_cert_spiffe_id}' \
      --custom-request-header='X-Client-Cert-URI-SANs:{client_cert_uri_sans}' \
      --custom-request-header='X-Client-Cert-DNSName-SANs:{client_cert_dnsname_sans}' \
      --custom-request-header='X-Client-Cert-Valid-Not-Before:{client_cert_valid_not_before}' \
      --custom-request-header='X-Client-Cert-Valid-Not-After:{client_cert_valid_not_after}'
    

Langkah selanjutnya