Menyiapkan TLS bersama dengan CA pribadi

Halaman ini memberikan petunjuk untuk membuat certificate authority (CA) pribadi menggunakan Certificate Authority Service dan mengupload sertifikat ke resource TrustConfig Pengelola Sertifikat.

Anda juga membuat resource keamanan jaringan yang diperlukan untuk mengonfigurasi TLS bersama untuk Load Balancer Aplikasi.

Sebelum memulai

  • Tinjau Ringkasan TLS bersama.
  • Instal Google Cloud CLI. Untuk mengetahui ringkasan lengkap alat ini, lihat ringkasan gcloud CLI. Anda dapat menemukan perintah yang terkait dengan load balancing di referensi API dan gcloud CLI.

    Jika Anda belum menjalankan gcloud CLI sebelumnya, jalankan gcloud init terlebih dahulu untuk melakukan autentikasi.

  • Pastikan Anda tahu cara membuat kumpulan CA.

  • Jika Anda menggunakan Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, pastikan Anda telah menyiapkan load balancer dengan salah satu backend yang didukung berikut:

    • Backend grup instance VM
    • Bucket Cloud Storage (Hanya didukung jika ada minimal satu layanan backend yang juga dilampirkan ke load balancer, selain bucket backend)
    • Fungsi Cloud Run, App Engine, atau Cloud Functions
    • Konektivitas hybrid
  • Jika Anda menggunakan Load Balancer Aplikasi eksternal regional, Load Balancer Aplikasi internal lintas region, atau Load Balancer Aplikasi internal regional, pastikan Anda telah menyiapkan load balancer dengan salah satu backend berikut yang didukung:

    • Backend grup instance VM
    • Cloud Run
    • Konektivitas hybrid

Izin

Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan ini, minta administrator untuk memberi Anda peran IAM berikut pada project:

  • Untuk membuat resource load balancer seperti TargetHTTPProxy: Compute Load Balancer Admin (roles/compute.loadBalancerAdmin)
  • Untuk menggunakan resource Certificate Manager: Pemilik Certificate Manager (roles/certificatemanager.owner)
  • Untuk membuat komponen keamanan dan jaringan: Compute Network Admin (roles/compute.networkAdmin) dan Compute Security Admin (roles/compute.securityAdmin)
  • Untuk membuat project (opsional): Project Creator (roles/resourcemanager.projectCreator)

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat CA root di kumpulan CA

Untuk membuat CA root di kumpulan CA pribadi, selesaikan langkah-langkah berikut:

  1. Untuk membuat kumpulan CA, gunakan perintah gcloud privateca pools create:

    gcloud privateca pools create CA_POOL \
       --location=us-central1
    

    Ganti CA_POOL dengan ID atau nama kumpulan CA induk.

  2. Untuk membuat CA root di kumpulan CA, gunakan perintah gcloud privateca roots create:

    gcloud privateca roots create CA_ROOT \
       --pool=CA_POOL \
       --subject="CN=my-ca, O=Test LLC" \
       --location=us-central1
    

    Ganti kode berikut:

    • CA_ROOT: ID atau nama CA root.
    • CA_POOL: ID atau nama pool CA induk.
  3. Untuk mendeskripsikan CA baru dan membuat file root.cert, gunakan perintah gcloud privateca roots describe:

    gcloud privateca roots describe CA_ROOT \
       --pool=CA_POOL \
       --location=us-central1 \
       --format='value(pemCaCertificates)' > root.cert
    

    Ganti kode berikut:

    • CA_ROOT: ID atau nama CA pribadi.
    • CA_POOL: ID atau nama pool CA induk.
  4. Formatkan sertifikat menjadi satu baris dan simpan dalam variabel lingkungan sehingga dapat dirujuk oleh file YAML konfigurasi kepercayaan.

    export ROOT=$(cat root.cert | sed 's/^[ ]*//g' | tr '\n' $ | sed 's/\$/\\n/g')

    Untuk informasi selengkapnya, lihat referensi berikut:

Membuat resource konfigurasi kepercayaan

Konfigurasi kepercayaan adalah resource yang mewakili konfigurasi Infrastruktur Kunci Publik (PKI) Anda di Pengelola Sertifikat.

Untuk membuat resource konfigurasi kepercayaan, selesaikan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Certificate Manager.

    Buka Certificate Manager

  2. Di tab Trust Configs, klik Add Trust Config.

  3. Masukkan nama untuk konfigurasi.

  4. Untuk Location, pilih Global atau Regional.

    Lokasi menunjukkan tempat resource konfigurasi kepercayaan disimpan. Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, buat resource konfigurasi kepercayaan global. Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, buat resource konfigurasi kepercayaan regional.

    Jika Anda memilih Regional, pilih region.

  5. Di bagian Trust store, klik Add trust anchor dan upload file sertifikat yang dienkode PEM, atau salin konten sertifikat.

  6. Klik Tambahkan.

  7. Klik Create.

Pastikan resource konfigurasi kepercayaan baru muncul dalam daftar konfigurasi.

gcloud

  1. Buat file YAML konfigurasi kepercayaan (trust_config.yaml) yang menentukan parameter konfigurasi kepercayaan. Dalam contoh ini, resource konfigurasi kepercayaan adalah penyimpanan kepercayaan dengan satu anchor kepercayaan yang mewakili root certificate. Sertifikat root ini dibuat menggunakan CA pribadi.

    cat << EOF > trust_config.yaml
    name: TRUST_CONFIG_NAME
    trustStores:
    - trustAnchors:
        - pemCertificate: "${ROOT?}"
    EOF
    
  2. Untuk mengimpor file YAML konfigurasi kepercayaan, gunakan perintah gcloud certificate-manager trust-configs import:

    global

    Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas-region, tentukan global sebagai lokasi tempat resource konfigurasi kepercayaan disimpan.

    gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME  \
        --source=trust_config.yaml \
        --location=global
    

    Ganti kode berikut:

    • TRUST_CONFIG_NAME: nama resource konfigurasi kepercayaan.

    regional

    Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, tentukan region tempat resource konfigurasi kepercayaan disimpan.

    gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME  \
        --source=trust_config.yaml \
        --location=LOCATION
    

    Ganti kode berikut:

    • TRUST_CONFIG_NAME: nama resource konfigurasi kepercayaan.
    • LOCATION: region tempat resource konfigurasi trust disimpan. Lokasi defaultnya adalah global.

Membuat resource Autentikasi Klien

Resource Autentikasi Klien (juga disebut ServerTLSPolicy) memungkinkan Anda menentukan mode TLS sisi server dan resource konfigurasi kepercayaan yang akan digunakan saat memvalidasi sertifikat klien. Jika klien menampilkan sertifikat yang tidak valid atau tidak ada sertifikat ke load balancer, clientValidationMode akan menentukan cara penanganan koneksi klien. Untuk mengetahui informasi selengkapnya, lihat Mode validasi klien mTLS.

  • Jika clientValidationMode ditetapkan ke ALLOW_INVALID_OR_MISSING_CLIENT_CERT, semua permintaan akan diteruskan ke backend meskipun validasi gagal atau sertifikat klien tidak ada.
  • Jika clientValidationMode ditetapkan ke REJECT_INVALID, hanya permintaan yang menyediakan sertifikat klien yang dapat divalidasi terhadap resource TrustConfig yang diteruskan ke backend.

Untuk membuat resource Autentikasi Klien (ServerTlsPolicy), selesaikan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Client Authentication.

    Buka Autentikasi Klien

  2. Klik Create Client Authentication.

  3. Masukkan nama untuk resource Autentikasi Klien.

  4. Untuk Location, pilih Global atau Regional.

    Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas-region, tetapkan lokasi ke global. Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, tetapkan lokasi ke region tempat load balancer dikonfigurasi.

  5. Untuk Client Authentication mode, pilih Load balancing.

  6. Pilih mode validasi klien.

  7. Pilih resource konfigurasi kepercayaan yang Anda buat sebelumnya.

  8. Klik Create.

Pastikan Autentikasi Klien (ServerTlsPolicy) ditampilkan.

gcloud

  1. Berdasarkan cara Anda ingin menangani koneksi, pilih salah satu opsi berikut untuk menentukan resource Autentikasi Klien (ServerTlsPolicy) dalam format YAML.

    • Opsi 1: clientValidationMode ditetapkan ke ALLOW_INVALID_OR_MISSING_CLIENT_CERT.

      global

      Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, buat file YAML yang secara deklaratif menentukan mode validasi klien dan resource konfigurasi kepercayaan global:

      cat << EOF > server_tls_policy.yaml
      name: SERVER_TLS_POLICY_NAME
      mtlsPolicy:
          clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT
          clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME
      EOF
      

      regional

      Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, buat file YAML yang secara deklaratif menentukan mode validasi klien dan resource konfigurasi kepercayaan regional:

      cat << EOF > server_tls_policy.yaml
      name: SERVER_TLS_POLICY_NAME
      mtlsPolicy:
          clientValidationMode: ALLOW_INVALID_OR_MISSING_CLIENT_CERT
          clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME
      EOF
      
    • Opsi 2: clientValidationMode ditetapkan ke REJECT_INVALID.

      global

      Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, buat file YAML yang secara deklaratif menentukan mode validasi klien dan resource konfigurasi kepercayaan global:

      cat << EOF > server_tls_policy.yaml
      name: SERVER_TLS_POLICY_NAME
      mtlsPolicy:
          clientValidationMode: REJECT_INVALID
          clientValidationTrustConfig: projects/PROJECT_ID/locations/global/trustConfigs/TRUST_CONFIG_NAME
      EOF
      

      regional

      Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, buat file YAML yang secara deklaratif menentukan mode validasi klien dan resource konfigurasi kepercayaan regional:

      cat << EOF > server_tls_policy.yaml
      name: SERVER_TLS_POLICY_NAME
      mtlsPolicy:
            clientValidationMode: REJECT_INVALID
            clientValidationTrustConfig: projects/PROJECT_ID/locations/REGION/trustConfigs/TRUST_CONFIG_NAME
      EOF
      

      Ganti kode berikut:

      SERVER_TLS_POLICY_NAME: nama resource Autentikasi Klien (ServerTlsPolicy).

      PROJECT_ID: ID project Google Cloud Anda.

      LOCATION: untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, gunakan global. Untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan region tempat Anda mengonfigurasi load balancer.

      TRUST_CONFIG_NAME: nama resource konfigurasi kepercayaan yang Anda buat sebelumnya.

  2. Untuk mengimpor resource ServerTlsPolicy Autentikasi Klien, gunakan perintah gcloud network-security server-tls-policies import:

    global

    Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas-region, tetapkan tanda --location ke global.

    gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \
      --source=server_tls_policy.yaml \
      --location=global
    

    Ganti kode berikut:

    SERVER_TLS_POLICY_NAME: nama resource Autentikasi Klien (ServerTlsPolicy).

    regional

    Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, tetapkan flag --location ke region tempat load balancer dikonfigurasi.

    gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \
      --source=server_tls_policy.yaml \
      --location=LOCATION
    

    Ganti kode berikut:

    SERVER_TLS_POLICY_NAME: nama resource Autentikasi Klien (ServerTlsPolicy).

  3. Opsional: Untuk mencantumkan semua resource Autentikasi Klien (ServerTlsPolicies), gunakan perintah gcloud network-security server-tls-policies list:

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

    Ganti kode berikut:

    LOCATION: Untuk Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, gunakan global. Untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan region tempat Anda mengonfigurasi load balancer.

Melampirkan resource Autentikasi Klien ke load balancer

Agar autentikasi TLS bersama berfungsi, setelah menyiapkan load balancer, Anda harus melampirkan resource Autentikasi Klien (ServerTLSPolicy) ke resource proxy HTTPS target load balancer.

Konsol

  1. Di konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Dari daftar load balancer, pilih load balancer tempat Anda perlu melampirkan resource Autentikasi Klien (ServerTLSPolicy).

  3. Klik Edit.

  4. Di bagian Frontend configuration untuk frontend HTTPS, luaskan bagian Show Advanced features.

  5. Dari daftar Client Authentication, pilih resource Client Authentication.

  6. Klik Done.

  7. Klik Perbarui.

gcloud

  1. Untuk mencantumkan semua resource proxy HTTPS target dalam project Anda, gunakan perintah gcloud compute target-https-proxies list:

    gcloud compute target-https-proxies list
    

    Perhatikan nama proxy HTTPS target yang akan dilampirkan ke resource ServerTLSPolicy. Nama ini disebut sebagai TARGET_HTTPS_PROXY_NAME dalam langkah-langkah berikut.

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

    global

      gcloud 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 konfigurasi proxy target dalam format YAML. Contoh, mtls_target_proxy.yaml.

    regional

    gcloud compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \
        --destination=TARGET_PROXY_FILENAME \
        --region=REGION
    

    Ganti kode berikut:

    • TARGET_HTTPS_PROXY_NAME: nama proxy target.
    • TARGET_PROXY_FILENAME: nama file konfigurasi proxy target dalam format YAML. Misalnya, mtls_target_proxy.yaml
    • REGION: region tempat Anda mengonfigurasi load balancer.
  3. Untuk mencantumkan semua resource Autentikasi Klien (ServerTlsPolicy), gunakan perintah gcloud network-security server-tls-policies list:

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

    Ganti kode berikut:

    LOCATION: untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal global, atau Load Balancer Aplikasi klasik, gunakan global. Untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan region tempat Anda mengonfigurasi load balancer.

    Catat nama resource Autentikasi Klien (ServerTLSPolicy) untuk mengonfigurasi mTLS. Nama ini disebut sebagai SERVER_TLS_POLICY_NAME di langkah berikutnya.

  4. Tambahkan Autentikasi Klien (ServerTlsPolicy) ke proxy HTTPS target.

    echo "serverTlsPolicy: //networksecurity.googleapis.com/projects/PROJECT_ID/locations/LOCATION/serverTlsPolicies/SERVER_TLS_POLICY_NAME" >> TARGET_PROXY_FILENAME

    Ganti kode berikut:

    • PROJECT_ID: ID project Google Cloud Anda.
    • LOCATION: untuk Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region, gunakan global. Untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan region tempat Anda mengonfigurasi load balancer.
    • SERVER_TLS_POLICY_NAME: nama resource Autentikasi Klien (ServerTLSPolicy).
    • TARGET_PROXY_FILENAME: nama file konfigurasi proxy target dalam format YAML.
  5. Untuk mengimpor konfigurasi proxy HTTPS target dari file, gunakan perintah gcloud compute target-https-proxies import.

    global

      gcloud 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 konfigurasi proxy target dalam format YAML. Contoh, mtls_target_proxy.yaml.

    regional

      gcloud compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \
          --source=TARGET_PROXY_FILENAME \
          --region=REGION
      

    Ganti kode berikut:

    • TARGET_HTTPS_PROXY_NAME: nama proxy target.
    • TARGET_PROXY_FILENAME: nama file konfigurasi proxy target dalam format YAML. Misalnya, mtls_target_proxy.yaml
    • REGION: region tempat Anda mengonfigurasi load balancer.

Menambahkan header kustom mTLS

Saat mengaktifkan mTLS, Anda dapat meneruskan informasi tentang koneksi mTLS menggunakan header kustom. Anda juga dapat mengaktifkan logging sehingga kegagalan koneksi mTLS dicatat dalam log.

Menambahkan header kustom mTLS ke layanan backend

Untuk Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik, Anda dapat menggunakan header kustom untuk meneruskan informasi tentang koneksi mTLS ke layanan backend.

  1. Untuk mencantumkan 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 di 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}'
    

Menambahkan header kustom mTLS ke peta URL

Untuk Load Balancer Aplikasi internal lintas-region, Load Balancer Aplikasi eksternal regional, atau Load Balancer Aplikasi internal regional, Anda dapat menggunakan header kustom untuk meneruskan informasi tentang koneksi mTLS ke peta URL.

Untuk mencantumkan semua peta URL dalam project, gunakan perintah gcloud compute url-maps list:

   gcloud compute url-maps list
   

Perhatikan nama peta URL untuk mengaktifkan header dan logging kustom. Nama ini disebut sebagai URL_MAP_NAME di langkah berikutnya.

global

Untuk mengedit peta URL untuk Load Balancer Aplikasi internal lintas-region, gunakan perintah gcloud compute url-maps edit:

   gcloud compute url-maps edit URL_MAP_NAME --global
   

Berikut adalah contoh file YAML yang menunjukkan cara menggunakan variabel dalam header permintaan kustom (requestHeadersToAdd). Anda dapat menggunakan variabel yang sama untuk mengirim header respons kustom (responseHeadersToAdd).

   headerAction:
      requestHeadersToAdd:
      - headerName: "X-Client-Cert-Present"
        headerValue: "{client_cert_present}"
      - headerName: "X-Client-Cert-Chain-Verified"
        headerValue: "{client_cert_chain_verified}"
      - headerName: "X-Client-Cert-Error"
        headerValue: "{client_cert_error}"
      - headerName: "X-Client-Cert-Hash"
        headerValue: "{client_cert_sha256_fingerprint}"
      - headerName: "X-Client-Cert-Serial-Number"
        headerValue: "{client_cert_serial_number}"
      - headerName: "X-Client-Cert-SPIFFE"
        headerValue: "{client_cert_spiffe_id}"
      - headerName: "X-Client-Cert-URI-SANs"
        headerValue: "{client_cert_uri_sans}"
      - headerName: "X-Client-Cert-DNSName-SANs"
        headerValue: "{client_cert_dnsname_sans}"
      - headerName: "X-Client-Cert-Valid-Not-Before"
        headerValue: "{client_cert_valid_not_before}"
      - headerName: "X-Client-Cert-Valid-Not-After"
        headerValue: "{client_cert_valid_not_after}"
      - headerName: "X-Client-Cert-Issuer-Dn"
        headerValue: "{client_cert_issuer_dn}"
      - headerName: "X-Client-Cert-Subject-Dn"
        headerValue: "{client_cert_subject_dn}"
      - headerName: "X-Client-Cert-Leaf"
        headerValue: "{client_cert_leaf}"
      - headerName: "X-Client-Cert-Chain"
        headerValue: "{client_cert_chain}"
   

regional

Untuk mengedit peta URL untuk Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal regional, gunakan perintah gcloud compute url-maps edit:

   gcloud compute url-maps edit URL_MAP_NAME --region=REGION
   

Berikut adalah contoh file YAML yang menunjukkan cara menggunakan variabel dalam header permintaan kustom (requestHeadersToAdd). Anda dapat menggunakan variabel yang sama untuk mengirim header respons kustom (responseHeadersToAdd).

   defaultService: regions/REGION/backendServices/BACKEND_SERVICE_1
      name: regional-lb-map
      region: region/REGION
   headerAction:
      requestHeadersToAdd:
      - headerName: "X-Client-Cert-Present"
        headerValue: "{client_cert_present}"
      - headerName: "X-Client-Cert-Chain-Verified"
        headerValue: "{client_cert_chain_verified}"
      - headerName: "X-Client-Cert-Error"
        headerValue: "{client_cert_error}"
      - headerName: "X-Client-Cert-Hash"
        headerValue: "{client_cert_sha256_fingerprint}"
      - headerName: "X-Client-Cert-Serial-Number"
        headerValue: "{client_cert_serial_number}"
      - headerName: "X-Client-Cert-SPIFFE"
        headerValue: "{client_cert_spiffe_id}"
      - headerName: "X-Client-Cert-URI-SANs"
        headerValue: "{client_cert_uri_sans}"
      - headerName: "X-Client-Cert-DNSName-SANs"
        headerValue: "{client_cert_dnsname_sans}"
      - headerName: "X-Client-Cert-Valid-Not-Before"
        headerValue: "{client_cert_valid_not_before}"
      - headerName: "X-Client-Cert-Valid-Not-After"
        headerValue: "{client_cert_valid_not_after}"
      - headerName: "X-Client-Cert-Issuer-Dn"
        headerValue: "{client_cert_issuer_dn}"
      - headerName: "X-Client-Cert-Subject-Dn"
        headerValue: "{client_cert_subject_dn}"
      - headerName: "X-Client-Cert-Leaf"
        headerValue: "{client_cert_leaf}"
      - headerName: "X-Client-Cert-Chain"
        headerValue: "{client_cert_chain}"
   

Langkah selanjutnya