Questa pagina fornisce istruzioni per creare un'autorità di certificazione (CA) privata utilizzando Certificate Authority Service e caricando i certificati in una risorsa Gestore certificati TrustConfig
.
Creerai anche le risorse di sicurezza di rete necessarie per configurare TLS reciproco per i bilanciatori del carico delle applicazioni.
Prima di iniziare
- Consulta la panoramica di Mutual TLS.
Installa Google Cloud CLI. Per una panoramica completa dello strumento, consulta la panoramica dell'interfaccia a riga di comando gcloud. Puoi trovare i comandi relativi al bilanciamento del carico nel riferimento all'gcloud CLI e all'interfaccia a riga di comando gcloud.
Se non hai mai eseguito l'interfaccia alla gcloud CLI, esegui prima
gcloud init
per autenticarti.Assicurati di sapere come creare pool di CA.
Se utilizzi un bilanciatore del carico delle applicazioni esterno globale o un bilanciatore del carico delle applicazioni classico, assicurati di aver configurato un bilanciatore del carico con uno dei seguenti backend supportati:
- Backend di gruppi di istanze VM
- Bucket Cloud Storage (supportato solo se al bilanciatore del carico è collegato anche almeno un servizio di backend, oltre al bucket di backend)
- Funzioni Cloud Run, App Engine o Cloud Functions
- Connettività ibrida
Se utilizzi un bilanciatore del carico delle applicazioni esterno regionale, un bilanciatore del carico delle applicazioni interno tra regioni o un bilanciatore del carico delle applicazioni interno regionale, assicurati di aver configurato un bilanciatore del carico con uno dei seguenti backend supportati:
- Backend di gruppi di istanze VM
- Cloud Run
- Connettività ibrida
Autorizzazioni
Per ottenere le autorizzazioni necessarie per completare questa guida, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Per creare risorse di bilanciatori del carico come
TargetHTTPProxy
: Amministratore bilanciatore del carico Compute (roles/compute.loadBalancerAdmin
) -
Per utilizzare le risorse di Gestore certificati:
Proprietario di Gestore certificati (
roles/certificatemanager.owner
) -
Per creare componenti di sicurezza e di rete:
Compute Network Admin (
roles/compute.networkAdmin
) e Compute Security Admin (roles/compute.securityAdmin
) -
Per creare un progetto (facoltativo):
Project Creator (
roles/resourcemanager.projectCreator
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea una CA radice nel pool di CA
Per creare una CA radice nel pool di CA private, completa i seguenti passaggi:
Per creare un pool di CA, utilizza il comando
gcloud privateca pools create
:gcloud privateca pools create CA_POOL \ --location=us-central1
Sostituisci
CA_POOL
con l'ID o il nome del pool di CA principale.Per creare una CA radice nel pool di CA, utilizza il comando
gcloud privateca roots create
:gcloud privateca roots create CA_ROOT \ --pool=CA_POOL \ --subject="CN=my-ca, O=Test LLC" \ --location=us-central1
Sostituisci quanto segue:
CA_ROOT
: l'ID o il nome della CA radice.CA_POOL
: l'ID o il nome del pool di CA principale.
Per descrivere la nuova CA e creare il file
root.cert
, utilizza il comandogcloud privateca roots describe
:gcloud privateca roots describe CA_ROOT \ --pool=CA_POOL \ --location=us-central1 \ --format='value(pemCaCertificates)' > root.cert
Sostituisci quanto segue:
CA_ROOT
: l'ID o il nome della CA privata.CA_POOL
: l'ID o il nome del pool di CA principale.
Formatta il certificato in una singola riga e memorizzalo in una variabile di ambiente in modo che possa essere fatto riferimento al file YAML della configurazione attendibilità.
export ROOT=$(cat root.cert | sed 's/^[ ]*//g' | tr '\n' $ | sed 's/\$/\\n/g')
Per ulteriori informazioni, consulta le seguenti risorse:
Crea una risorsa di configurazione della attendibilità
Una configurazione di attendibilità è una risorsa che rappresenta la configurazione dell'infrastruttura a chiave pubblica (PKI) in Gestore certificati.
Per creare una risorsa di configurazione della attendibilità, completa i seguenti passaggi:
Console
Nella console Google Cloud, vai alla pagina Gestione certificati.
Nella scheda Trust Configs (Configurazioni attendibilità), fai clic su Add Trust Config (Aggiungi configurazione attendibilità).
Inserisci un nome per la configurazione.
Per Località, seleziona Globale o Regionale.
La posizione indica dove è archiviata la risorsa di configurazione della attendibilità. Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, crea una risorsa trust configurata globale. Per i bilanciatori del carico delle applicazioni esterni regionali e per i bilanciatori del carico delle applicazioni interni regionali, crea una risorsa di configurazione della attendibilità regionale.
Se hai selezionato Regionale, seleziona la regione.
Nella sezione Archivio attendibilità, fai clic su Aggiungi 'Autorità di certificazione attendibile' e carica il file del certificato con codifica PEM o copia i contenuti del certificato.
Fai clic su Aggiungi.
Fai clic su Crea.
Verifica che la nuova risorsa di configurazione della attendibilità sia presente nell'elenco delle configurazioni.
gcloud
Crea un file YAML di configurazione della attendibilità (
trust_config.yaml
) che specifichi i parametri di configurazione della attendibilità. In questo esempio, la risorsa di configurazione attendibilità è un archivio di attendibilità con un singolo trust anchor che rappresenta un certificato radice. Questo certificato radice viene generato utilizzando la CA privata.cat << EOF > trust_config.yaml name: TRUST_CONFIG_NAME trustStores: - trustAnchors: - pemCertificate: "${ROOT?}" EOF
Per importare il file YAML della configurazione della attendibilità, utilizza il comando
gcloud certificate-manager trust-configs import
:globale
Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, specifica
global
come posizione in cui è archiviata la risorsa di configurazione della attendibilità.gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME \ --source=trust_config.yaml \ --location=global
Sostituisci quanto segue:
TRUST_CONFIG_NAME
: il nome della risorsa di configurazione dell'attendibilità.
regionale
Per i bilanciatori del carico delle applicazioni esterni e interni regionali, specifica la regione in cui è archiviata la risorsa di configurazione della attendibilità.
gcloud certificate-manager trust-configs import TRUST_CONFIG_NAME \ --source=trust_config.yaml \ --location=LOCATION
Sostituisci quanto segue:
TRUST_CONFIG_NAME
: il nome della risorsa di configurazione dell'attendibilità.LOCATION
: la regione in cui è archiviata la risorsa di configurazione dell'attendibilità. La posizione predefinita èglobal
.
Crea una risorsa di autenticazione client
Una risorsa di autenticazione client (chiamata anche ServerTLSPolicy
) consente di specificare la modalità TLS lato server e la risorsa di configurazione di attendibilità da utilizzare per convalidare i certificati client. Se il client presenta un certificato non valido o non ha nessun certificato per il bilanciatore del carico, il clientValidationMode
specifica come viene gestita la connessione del client. Per ulteriori informazioni, consulta
Modalità di convalida del client mTLS.
- Quando
clientValidationMode
è impostato suALLOW_INVALID_OR_MISSING_CLIENT_CERT
, tutte le richieste vengono passate al backend anche se la convalida non va a buon fine o se manca il certificato client. - Quando
clientValidationMode
è impostato suREJECT_INVALID
, al backend vengono trasmesse solo le richieste che forniscono un certificato client che può essere convalidato in base a una risorsaTrustConfig
.
Per creare una risorsa di autenticazione client (ServerTlsPolicy
),
compila i seguenti passaggi:
Console
Nella console Google Cloud, vai alla pagina Autenticazione client.
Fai clic su Crea autenticazione client.
Inserisci un nome per la risorsa di autenticazione client.
Per Località, seleziona Globale o Regionale.
Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, imposta la località su globale. Per i bilanciatori del carico delle applicazioni esterni regionali e i bilanciatori del carico delle applicazioni interni regionali, imposta la località sulla regione in cui è configurato il bilanciatore del carico.
Per Modalità di autenticazione client, seleziona Bilanciamento del carico.
Seleziona una modalità di convalida client.
Seleziona la risorsa di configurazione di attendibilità creata in precedenza.
Fai clic su Crea.
Verifica che sia visualizzata l'autenticazione client (ServerTlsPolicy
).
gcloud
In base a come vuoi gestire la connessione, seleziona una delle seguenti opzioni per definire la risorsa AuthenticationClient (
ServerTlsPolicy
) in formato YAML.Opzione 1:
clientValidationMode
è impostato suALLOW_INVALID_OR_MISSING_CLIENT_CERT
.globale
Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, crea un file YAML che specifichi in modo dichiarativo la modalità di convalida del client e una risorsa di configurazione della attendibilità globale:
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
regionale
Per i bilanciatori del carico delle applicazioni esterni e interni regionali, crea un file YAML che specifichi in modo dichiarativo la modalità di convalida del client e una risorsa di configurazione della attendibilità regionale:
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
Opzione 2:
clientValidationMode
è impostato suREJECT_INVALID
.globale
Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, crea un file YAML che specifichi in modo dichiarativo la modalità di convalida del client e una risorsa di configurazione della attendibilità globale:
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
regionale
Per i bilanciatori del carico delle applicazioni esterni e interni regionali, crea un file YAML che specifichi in modo dichiarativo la modalità di convalida del client e una risorsa di configurazione della attendibilità regionale:
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
Sostituisci quanto segue:
SERVER_TLS_POLICY_NAME
: il nome della risorsa Client Authentication (ServerTlsPolicy
).PROJECT_ID
: l'ID del tuo progetto Google Cloud.LOCATION
: per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, utilizzaglobal
. Per il bilanciatore del carico delle applicazioni esterno regionale o il bilanciatore del carico delle applicazioni interno regionale, utilizza la regione in cui hai configurato il bilanciatore del carico.TRUST_CONFIG_NAME
: il nome della risorsa di configurazione dell'attendibilità che hai creato in precedenza.
Per importare la risorsa
ServerTlsPolicy
di autenticazione client, utilizza il comandogcloud network-security server-tls-policies import
:globale
Per i bilanciatori del carico delle applicazioni esterni globali, i bilanciatori del carico delle applicazioni classici e i bilanciatori del carico delle applicazioni interni tra regioni, imposta il flag
--location
suglobal
.gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=global
Sostituisci quanto segue:
SERVER_TLS_POLICY_NAME
: il nome della risorsa Client Authentication (ServerTlsPolicy
).regionale
Per i bilanciatori del carico delle applicazioni esterni regionali e i bilanciatori del carico delle applicazioni interni regionali, imposta il flag
--location
sulla regione in cui è configurato il bilanciatore del carico.gcloud network-security server-tls-policies import SERVER_TLS_POLICY_NAME \ --source=server_tls_policy.yaml \ --location=LOCATION
Sostituisci quanto segue:
SERVER_TLS_POLICY_NAME
: il nome della risorsa Client Authentication (ServerTlsPolicy
).(Facoltativo) Per elencare tutte le risorse di autenticazione client (
ServerTlsPolicies
), utilizza ilgcloud network-security server-tls-policies list
comando:gcloud network-security server-tls-policies list \ --location=LOCATION
Sostituisci quanto segue:
LOCATION
: per i bilanciatori del carico delle applicazioni esterni globali, per i bilanciatori del carico delle applicazioni classici e per i bilanciatori del carico delle applicazioni interni tra regioni, utilizzaglobal
. Per il bilanciatore del carico delle applicazioni esterno regionale o il bilanciatore del carico delle applicazioni interno regionale, utilizza la regione in cui hai configurato il bilanciatore del carico.
Collega la risorsa Autenticazione client al bilanciatore del carico
Affinché l'autenticazione TLS reciproca (mTLS) funzioni, dopo aver configurato il bilanciatore del carico, devi collegare la risorsa di autenticazione client (ServerTLSPolicy
) alla risorsa proxy HTTPS di destinazione del bilanciatore del carico.
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Dall'elenco dei bilanciatori del carico, seleziona quello a cui devi collegare la risorsa Autenticazione client (
ServerTLSPolicy
).Fai clic su
Modifica.Nella sezione Configurazione frontend per un frontend HTTPS, espandi la sezione Mostra funzionalità avanzate.
Nell'elenco Client Authentication (Autenticazione client), seleziona la risorsa Client Authentication.
Fai clic su Fine.
Fai clic su Aggiorna.
gcloud
Per elencare tutte le risorse proxy HTTPS di destinazione nel tuo progetto, utilizza il comando
gcloud compute target-https-proxies list
:gcloud compute target-https-proxies list
Prendi nota del nome del proxy HTTPS di destinazione a cui collegare la risorsa
ServerTLSPolicy
. Questo nome viene chiamatoTARGET_HTTPS_PROXY_NAME
nei passaggi successivi.Per esportare la configurazione di un proxy HTTPS di destinazione in un file, utilizza il comando
gcloud compute target-https-proxies export
.globale
gcloud compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \ --destination=TARGET_PROXY_FILENAME \ --global
Sostituisci quanto segue:
TARGET_HTTPS_PROXY_NAME
: il nome del proxy di destinazione.TARGET_PROXY_FILENAME
: il nome del file di configurazione del proxy di destinazione in formato YAML. Ad esempio,mtls_target_proxy.yaml
.
regionale
gcloud compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \ --destination=TARGET_PROXY_FILENAME \ --region=REGION
Sostituisci quanto segue:
TARGET_HTTPS_PROXY_NAME
: il nome del proxy di destinazione.TARGET_PROXY_FILENAME
: il nome del file di configurazione del proxy di destinazione in formato YAML. Ad esempio,mtls_target_proxy.yaml
REGION
: la regione in cui hai configurato il bilanciatore del carico.
Per elencare tutte le risorse di autenticazione client (
ServerTlsPolicy
), utilizza ilgcloud network-security server-tls-policies list
comando:gcloud network-security server-tls-policies list \ --location=LOCATION
Sostituisci quanto segue:
LOCATION
: per bilanciatore del carico delle applicazioni interno tra regioni, bilanciatore del carico delle applicazioni esterno globale o bilanciatore del carico delle applicazioni classico, utilizzaglobal
. Per il bilanciatore del carico delle applicazioni esterno regionale o il bilanciatore del carico delle applicazioni interno regionale, utilizza la regione in cui hai configurato il bilanciatore del carico.Prendi nota del nome della risorsa Authentication (
ServerTLSPolicy
) (Autenticazione) per configurare mTLS. Questo nome viene chiamatoSERVER_TLS_POLICY_NAME
nel passaggio successivo.Aggiungi l'autenticazione client (
ServerTlsPolicy
) al proxy HTTPS di destinazione.echo "serverTlsPolicy: //networksecurity.googleapis.com/projects/PROJECT_ID/locations/LOCATION/serverTlsPolicies/SERVER_TLS_POLICY_NAME" >> TARGET_PROXY_FILENAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google Cloud.LOCATION
: per bilanciatori del carico delle applicazioni esterni globali o bilanciatori del carico delle applicazioni classici e bilanciatori del carico delle applicazioni interni tra regioni, utilizzaglobal
. Per il bilanciatore del carico delle applicazioni esterno regionale o il bilanciatore del carico delle applicazioni interno regionale, utilizza la regione in cui hai configurato il bilanciatore del carico.SERVER_TLS_POLICY_NAME
: il nome della risorsa Client Authentication (ServerTLSPolicy
).TARGET_PROXY_FILENAME
: il nome del file di configurazione del proxy di destinazione in formato YAML.
Per importare la configurazione di un proxy HTTPS di destinazione da un file, utilizza il comando
gcloud compute target-https-proxies import
.globale
gcloud compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \ --source=TARGET_PROXY_FILENAME \ --global
Sostituisci quanto segue:
TARGET_HTTPS_PROXY_NAME
: il nome del proxy di destinazione.TARGET_PROXY_FILENAME
: il nome del file di configurazione del proxy di destinazione in formato YAML. Ad esempio,mtls_target_proxy.yaml
.
regionale
gcloud compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \ --source=TARGET_PROXY_FILENAME \ --region=REGION
Sostituisci quanto segue:
TARGET_HTTPS_PROXY_NAME
: il nome del proxy di destinazione.TARGET_PROXY_FILENAME
: il nome del file di configurazione del proxy di destinazione in formato YAML. Ad esempio,mtls_target_proxy.yaml
REGION
: la regione in cui hai configurato il bilanciatore del carico.
Aggiungere intestazioni personalizzate mTLS
Quando attivi mTLS, puoi passare informazioni sulla connessione mTLS utilizzando intestazioni personalizzate. Puoi anche attivare la registrazione in modo che i errori di connessione mTLS vengano acquisiti nei log.
Aggiungi intestazioni personalizzate mTLS ai servizi di backend
Per i bilanciatori del carico delle applicazioni esterni globali o i bilanciatori del carico delle applicazioni classici, puoi utilizzare le intestazioni personalizzate per trasmettere informazioni sulla connessione mTLS ai servizi di backend.
Per elencare tutti i servizi di backend nel progetto, utilizza il comando
gcloud compute backend-services list
:gcloud compute backend-services list
Prendi nota del nome del servizio di backend per abilitare le intestazioni e il logging personalizzati. Questo nome viene chiamato
BACKEND_SERVICE
nel passaggio successivo.Per aggiornare il servizio di backend, utilizza il comando
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}'
Aggiungere intestazioni personalizzate mTLS alla mappa degli URL
Per il bilanciatore del carico delle applicazioni interno tra regioni, il bilanciatore del carico delle applicazioni esterno regionale o il bilanciatore del carico delle applicazioni interno regionale, puoi utilizzare le intestazioni personalizzate per trasmettere informazioni sulla connessione mTLS alla mappa URL.
Per elencare tutte le mappe URL del progetto, utilizza il
comando gcloud compute url-maps list
:
gcloud compute url-maps list
Prendi nota del nome della mappa URL per attivare le intestazioni e il logging personalizzati.
Questo nome viene chiamato URL_MAP_NAME
nel
passaggio successivo.
globale
Per modificare la mappa URL di un bilanciatore del carico delle applicazioni interno tra regioni, utilizza il comando
gcloud compute
url-maps edit
:
gcloud compute url-maps edit URL_MAP_NAME --global
Di seguito è riportato un file YAML di esempio che mostra come utilizzare le variabili
negli intestazioni delle richieste personalizzate (requestHeadersToAdd
). Puoi utilizzare le
stesse variabili per inviare intestazioni di risposta personalizzate
(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}"
regionale
Per modificare la mappa degli URL per un bilanciatore del carico delle applicazioni esterno regionale o un bilanciatore del carico delle applicazioni interno regionale, utilizza il comando gcloud compute
url-maps edit
:
gcloud compute url-maps edit URL_MAP_NAME --region=REGION
Di seguito è riportato un file YAML di esempio che mostra come utilizzare le variabili negli intestazioni delle richieste personalizzate (requestHeadersToAdd
). Puoi utilizzare le stesse variabili per inviare intestazioni di risposta personalizzate (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}"