Client TLS authentication
- Client TLS authentication filter architecture overview 
- This filter should be configured with the type URL - type.googleapis.com/envoy.extensions.filters.network.client_ssl_auth.v3.ClientSSLAuth.
Statistics
Every configured client TLS authentication filter has statistics rooted at auth.clientssl.<stat_prefix>. with the following statistics:
| Name | Type | Description | 
|---|---|---|
| update_success | Counter | Total principal update successes | 
| update_failure | Counter | Total principal update failures | 
| auth_no_ssl | Counter | Total connections ignored due to no TLS | 
| auth_ip_allowlist | Counter | Total connections allowed due to the IP allowlist | 
| auth_digest_match | Counter | Total connections allowed due to certificate match | 
| auth_digest_no_match | Counter | Total connections denied due to no certificate match | 
| total_principals | Gauge | Total loaded principals | 
REST API
- GET /v1/certs/list/approved
- The authentication filter will call this API every refresh interval to fetch the current list of approved certificates/principals. The expected JSON response looks like: - { "certificates": [] } - certificates
- (required, array) list of approved certificates/principals. 
 - Each certificate object is defined as: - { "fingerprint_sha256": "...", } - fingerprint_sha256
- (required, string) The SHA256 hash of the approved client certificate. Envoy will match this hash to the presented client certificate to determine whether there is a digest match.