Network External Authorization (proto)

This extension has the qualified name


This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted.


This extension extends and can be used with the following extension category:

This extension must be configured with one of the following type URLs:

The network layer external authorization service configuration configuration overview.

[ proto]

External Authorization filter calls out to an external service over the gRPC Authorization API defined by CheckRequest. A failed check will cause this filter to close the TCP connection.

  "stat_prefix": ...,
  "grpc_service": {...},
  "failure_mode_allow": ...,
  "include_peer_certificate": ...,
  "transport_api_version": ...,
  "filter_enabled_metadata": {...},
  "bootstrap_metadata_labels_key": ...

(string, REQUIRED) The prefix to use when emitting statistics.


(config.core.v3.GrpcService) The external authorization gRPC service configuration. The default timeout is set to 200ms by this filter.


(bool) The filter’s behaviour in case the external authorization service does not respond back. When it is set to true, Envoy will also allow traffic in case of communication failure between authorization service and the proxy. Defaults to false.


(bool) Specifies if the peer certificate is sent to the external service.

When this field is true, Envoy will include the peer X.509 certificate, if available, in the certificate.


(config.core.v3.ApiVersion) API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and version of Check{Request,Response} used on the wire.


(type.matcher.v3.MetadataMatcher) Specifies if the filter is enabled with metadata matcher. If this field is not specified, the filter will be enabled for all requests.


(string) Optional labels that will be passed to labels in destination. The labels will be read from metadata with the specified key.