Class ExtAuthz
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,ExtAuthzOrBuilder,Serializable
public final class ExtAuthz
extends com.google.protobuf.GeneratedMessageV3
implements ExtAuthzOrBuilder
[#next-free-field: 32]Protobuf type
envoy.extensions.filters.http.ext_authz.v3.ExtAuthz- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class[#next-free-field: 32]static enumNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck request to authorization server will include the client request headers that have a correspondent match in the list.Check request to authorization server will include the client request headers that have a correspondent match in the list.Optional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`.com.google.protobuf.ByteStringOptional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`.com.google.protobuf.BoolValueWhether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.com.google.protobuf.BoolValueOrBuilderWhether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.booleanClears the route cache in order to allow the external authorization service to correctly affect routing decisions.Rules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream.Rules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream.static ExtAuthzSpecifies whether to deny the requests when the filter is disabled.Specifies whether to deny the requests when the filter is disabled.static final com.google.protobuf.Descriptors.DescriptorIf set, specifically disallow any header in this list to be forwarded to the external authentication server.If set, specifically disallow any header in this list to be forwarded to the external authentication server.booleanWhen set to ``true``, the filter will emit per-stream stats for access logging.com.google.protobuf.BoolValueEnable or disable ingestion of dynamic metadata from the ext_authz service.com.google.protobuf.BoolValueOrBuilderEnable or disable ingestion of dynamic metadata from the ext_authz service.booleanWhether to encode the raw headers (i.e., unsanitized values and unconcatenated multi-line headers) in the authorization request.booleanWhen set to ``true``, the filter will enforce the response header map's count and size limits by sending a local reply when those limits are violated.booleanChanges the filter's behavior on errors: * When set to ``true``, the filter will ``accept`` the client request even if communication with the authorization service has failed, or if the authorization service has returned an HTTP 5xx errorbooleanWhen ``failure_mode_allow`` and ``failure_mode_allow_header_add`` are both set to ``true``, ``x-envoy-auth-failure-mode-allowed: true`` will be added to request headers if the communication with the authorization service has failed, or if the authorization service has returned a HTTP 5xx error.Specifies if the filter is enabled.Specifies if the filter is enabled with metadata matcher.Specifies if the filter is enabled with metadata matcher.Specifies if the filter is enabled.com.google.protobuf.StructAdditional metadata to be added to the filter state for logging purposes.com.google.protobuf.StructOrBuilderAdditional metadata to be added to the filter state for logging purposes.gRPC service configuration (default timeout: 200ms).gRPC service configuration (default timeout: 200ms).HTTP service configuration (default timeout: 200ms).HTTP service configuration (default timeout: 200ms).booleanSpecifies if the peer certificate is sent to the external service.booleanSpecifies if the TLS session level details like SNI are sent to the external service.intSets the maximum size (in bytes) of the response body that the filter will send downstream when a request is denied by the external authorization service.getMetadataContextNamespaces(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.com.google.protobuf.ByteStringgetMetadataContextNamespacesBytes(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.intSpecifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.com.google.protobuf.ProtocolStringListSpecifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.com.google.protobuf.Parser<ExtAuthz>getRouteMetadataContextNamespaces(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.com.google.protobuf.ByteStringgetRouteMetadataContextNamespacesBytes(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.intSpecifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.com.google.protobuf.ProtocolStringListSpecifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.getRouteTypedMetadataContextNamespaces(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.com.google.protobuf.ByteStringgetRouteTypedMetadataContextNamespacesBytes(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.intSpecifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.com.google.protobuf.ProtocolStringListSpecifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.intOptional additional prefix to use when emitting statistics.com.google.protobuf.ByteStringOptional additional prefix to use when emitting statistics.Sets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached.Sets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached.API version for ext_authz transport protocol.intAPI version for ext_authz transport protocol.getTypedMetadataContextNamespaces(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.com.google.protobuf.ByteStringgetTypedMetadataContextNamespacesBytes(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.intSpecifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.com.google.protobuf.ProtocolStringListSpecifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service.booleanWhen set to ``true``, the filter will check the :ref:`ext_authz response <envoy_v3_api_msg_service.auth.v3.CheckResponse>` for invalid header and query parameter mutations.Enables the filter to buffer the client request body and send it within the authorization request.Enables the filter to buffer the client request body and send it within the authorization request.booleanCheck request to authorization server will include the client request headers that have a correspondent match in the list.booleanWhether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.booleanRules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream.booleanSpecifies whether to deny the requests when the filter is disabled.booleanIf set, specifically disallow any header in this list to be forwarded to the external authentication server.booleanEnable or disable ingestion of dynamic metadata from the ext_authz service.booleanSpecifies if the filter is enabled.booleanSpecifies if the filter is enabled with metadata matcher.booleanAdditional metadata to be added to the filter state for logging purposes.booleangRPC service configuration (default timeout: 200ms).inthashCode()booleanHTTP service configuration (default timeout: 200ms).booleanSets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached.booleanEnables the filter to buffer the client request body and send it within the authorization request.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanstatic ExtAuthz.Builderstatic ExtAuthz.BuildernewBuilder(ExtAuthz prototype) protected ExtAuthz.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static ExtAuthzparseDelimitedFrom(InputStream input) static ExtAuthzparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ExtAuthzparseFrom(byte[] data) static ExtAuthzparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ExtAuthzparseFrom(com.google.protobuf.ByteString data) static ExtAuthzparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ExtAuthzparseFrom(com.google.protobuf.CodedInputStream input) static ExtAuthzparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ExtAuthzparseFrom(InputStream input) static ExtAuthzparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static ExtAuthzparseFrom(ByteBuffer data) static ExtAuthzparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<ExtAuthz>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
GRPC_SERVICE_FIELD_NUMBER
public static final int GRPC_SERVICE_FIELD_NUMBER- See Also:
-
HTTP_SERVICE_FIELD_NUMBER
public static final int HTTP_SERVICE_FIELD_NUMBER- See Also:
-
TRANSPORT_API_VERSION_FIELD_NUMBER
public static final int TRANSPORT_API_VERSION_FIELD_NUMBER- See Also:
-
FAILURE_MODE_ALLOW_FIELD_NUMBER
public static final int FAILURE_MODE_ALLOW_FIELD_NUMBER- See Also:
-
FAILURE_MODE_ALLOW_HEADER_ADD_FIELD_NUMBER
public static final int FAILURE_MODE_ALLOW_HEADER_ADD_FIELD_NUMBER- See Also:
-
WITH_REQUEST_BODY_FIELD_NUMBER
public static final int WITH_REQUEST_BODY_FIELD_NUMBER- See Also:
-
CLEAR_ROUTE_CACHE_FIELD_NUMBER
public static final int CLEAR_ROUTE_CACHE_FIELD_NUMBER- See Also:
-
STATUS_ON_ERROR_FIELD_NUMBER
public static final int STATUS_ON_ERROR_FIELD_NUMBER- See Also:
-
VALIDATE_MUTATIONS_FIELD_NUMBER
public static final int VALIDATE_MUTATIONS_FIELD_NUMBER- See Also:
-
METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
public static final int METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER- See Also:
-
TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
public static final int TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER- See Also:
-
ROUTE_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
public static final int ROUTE_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER- See Also:
-
ROUTE_TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
public static final int ROUTE_TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER- See Also:
-
FILTER_ENABLED_FIELD_NUMBER
public static final int FILTER_ENABLED_FIELD_NUMBER- See Also:
-
FILTER_ENABLED_METADATA_FIELD_NUMBER
public static final int FILTER_ENABLED_METADATA_FIELD_NUMBER- See Also:
-
DENY_AT_DISABLE_FIELD_NUMBER
public static final int DENY_AT_DISABLE_FIELD_NUMBER- See Also:
-
INCLUDE_PEER_CERTIFICATE_FIELD_NUMBER
public static final int INCLUDE_PEER_CERTIFICATE_FIELD_NUMBER- See Also:
-
STAT_PREFIX_FIELD_NUMBER
public static final int STAT_PREFIX_FIELD_NUMBER- See Also:
-
BOOTSTRAP_METADATA_LABELS_KEY_FIELD_NUMBER
public static final int BOOTSTRAP_METADATA_LABELS_KEY_FIELD_NUMBER- See Also:
-
ALLOWED_HEADERS_FIELD_NUMBER
public static final int ALLOWED_HEADERS_FIELD_NUMBER- See Also:
-
DISALLOWED_HEADERS_FIELD_NUMBER
public static final int DISALLOWED_HEADERS_FIELD_NUMBER- See Also:
-
INCLUDE_TLS_SESSION_FIELD_NUMBER
public static final int INCLUDE_TLS_SESSION_FIELD_NUMBER- See Also:
-
CHARGE_CLUSTER_RESPONSE_STATS_FIELD_NUMBER
public static final int CHARGE_CLUSTER_RESPONSE_STATS_FIELD_NUMBER- See Also:
-
ENCODE_RAW_HEADERS_FIELD_NUMBER
public static final int ENCODE_RAW_HEADERS_FIELD_NUMBER- See Also:
-
DECODER_HEADER_MUTATION_RULES_FIELD_NUMBER
public static final int DECODER_HEADER_MUTATION_RULES_FIELD_NUMBER- See Also:
-
ENABLE_DYNAMIC_METADATA_INGESTION_FIELD_NUMBER
public static final int ENABLE_DYNAMIC_METADATA_INGESTION_FIELD_NUMBER- See Also:
-
FILTER_METADATA_FIELD_NUMBER
public static final int FILTER_METADATA_FIELD_NUMBER- See Also:
-
EMIT_FILTER_STATE_STATS_FIELD_NUMBER
public static final int EMIT_FILTER_STATE_STATS_FIELD_NUMBER- See Also:
-
MAX_DENIED_RESPONSE_BODY_BYTES_FIELD_NUMBER
public static final int MAX_DENIED_RESPONSE_BODY_BYTES_FIELD_NUMBER- See Also:
-
ENFORCE_RESPONSE_HEADER_LIMITS_FIELD_NUMBER
public static final int ENFORCE_RESPONSE_HEADER_LIMITS_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getServicesCase
- Specified by:
getServicesCasein interfaceExtAuthzOrBuilder
-
hasGrpcService
public boolean hasGrpcService()gRPC service configuration (default timeout: 200ms).
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
hasGrpcServicein interfaceExtAuthzOrBuilder- Returns:
- Whether the grpcService field is set.
-
getGrpcService
gRPC service configuration (default timeout: 200ms).
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
getGrpcServicein interfaceExtAuthzOrBuilder- Returns:
- The grpcService.
-
getGrpcServiceOrBuilder
gRPC service configuration (default timeout: 200ms).
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
getGrpcServiceOrBuilderin interfaceExtAuthzOrBuilder
-
hasHttpService
public boolean hasHttpService()HTTP service configuration (default timeout: 200ms).
.envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;- Specified by:
hasHttpServicein interfaceExtAuthzOrBuilder- Returns:
- Whether the httpService field is set.
-
getHttpService
HTTP service configuration (default timeout: 200ms).
.envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;- Specified by:
getHttpServicein interfaceExtAuthzOrBuilder- Returns:
- The httpService.
-
getHttpServiceOrBuilder
HTTP service configuration (default timeout: 200ms).
.envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;- Specified by:
getHttpServiceOrBuilderin interfaceExtAuthzOrBuilder
-
getTransportApiVersionValue
public int getTransportApiVersionValue()API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and version of messages used on the wire.
.envoy.config.core.v3.ApiVersion transport_api_version = 12 [(.validate.rules) = { ... }- Specified by:
getTransportApiVersionValuein interfaceExtAuthzOrBuilder- Returns:
- The enum numeric value on the wire for transportApiVersion.
-
getTransportApiVersion
API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and version of messages used on the wire.
.envoy.config.core.v3.ApiVersion transport_api_version = 12 [(.validate.rules) = { ... }- Specified by:
getTransportApiVersionin interfaceExtAuthzOrBuilder- Returns:
- The transportApiVersion.
-
getFailureModeAllow
public boolean getFailureModeAllow()Changes the filter's behavior on errors: * When set to ``true``, the filter will ``accept`` the client request even if communication with the authorization service has failed, or if the authorization service has returned an HTTP 5xx error. * When set to ``false``, the filter will ``reject`` client requests and return ``Forbidden`` if communication with the authorization service has failed, or if the authorization service has returned an HTTP 5xx error. Errors can always be tracked in the :ref:`stats <config_http_filters_ext_authz_stats>`. Defaults to ``false``.
bool failure_mode_allow = 2;- Specified by:
getFailureModeAllowin interfaceExtAuthzOrBuilder- Returns:
- The failureModeAllow.
-
getFailureModeAllowHeaderAdd
public boolean getFailureModeAllowHeaderAdd()When ``failure_mode_allow`` and ``failure_mode_allow_header_add`` are both set to ``true``, ``x-envoy-auth-failure-mode-allowed: true`` will be added to request headers if the communication with the authorization service has failed, or if the authorization service has returned a HTTP 5xx error.
bool failure_mode_allow_header_add = 19;- Specified by:
getFailureModeAllowHeaderAddin interfaceExtAuthzOrBuilder- Returns:
- The failureModeAllowHeaderAdd.
-
hasWithRequestBody
public boolean hasWithRequestBody()Enables the filter to buffer the client request body and send it within the authorization request. The ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization request indicating whether the body data is partial.
.envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;- Specified by:
hasWithRequestBodyin interfaceExtAuthzOrBuilder- Returns:
- Whether the withRequestBody field is set.
-
getWithRequestBody
Enables the filter to buffer the client request body and send it within the authorization request. The ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization request indicating whether the body data is partial.
.envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;- Specified by:
getWithRequestBodyin interfaceExtAuthzOrBuilder- Returns:
- The withRequestBody.
-
getWithRequestBodyOrBuilder
Enables the filter to buffer the client request body and send it within the authorization request. The ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization request indicating whether the body data is partial.
.envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;- Specified by:
getWithRequestBodyOrBuilderin interfaceExtAuthzOrBuilder
-
getClearRouteCache
public boolean getClearRouteCache()Clears the route cache in order to allow the external authorization service to correctly affect routing decisions. The filter clears all cached routes when all of the following holds: * This field is set to ``true``. * The status returned from the authorization service is an HTTP 200 or gRPC 0. * At least one ``authorization response header`` is added to the client request, or is used to alter another client request header. Defaults to ``false``.
bool clear_route_cache = 6;- Specified by:
getClearRouteCachein interfaceExtAuthzOrBuilder- Returns:
- The clearRouteCache.
-
hasStatusOnError
public boolean hasStatusOnError()Sets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached. The default status is ``HTTP 403 Forbidden``.
.envoy.type.v3.HttpStatus status_on_error = 7;- Specified by:
hasStatusOnErrorin interfaceExtAuthzOrBuilder- Returns:
- Whether the statusOnError field is set.
-
getStatusOnError
Sets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached. The default status is ``HTTP 403 Forbidden``.
.envoy.type.v3.HttpStatus status_on_error = 7;- Specified by:
getStatusOnErrorin interfaceExtAuthzOrBuilder- Returns:
- The statusOnError.
-
getStatusOnErrorOrBuilder
Sets the HTTP status that is returned to the client when the authorization server returns an error or cannot be reached. The default status is ``HTTP 403 Forbidden``.
.envoy.type.v3.HttpStatus status_on_error = 7;- Specified by:
getStatusOnErrorOrBuilderin interfaceExtAuthzOrBuilder
-
getValidateMutations
public boolean getValidateMutations()When set to ``true``, the filter will check the :ref:`ext_authz response <envoy_v3_api_msg_service.auth.v3.CheckResponse>` for invalid header and query parameter mutations. If the response is invalid, the filter will send a local reply to the downstream request with status ``HTTP 500 Internal Server Error``. .. note:: Both ``headers_to_remove`` and ``query_parameters_to_remove`` are validated, but invalid elements in those fields should not affect any headers and thus will not cause the filter to send a local reply. When set to ``false``, any invalid mutations will be visible to the rest of Envoy and may cause unexpected behavior. If you are using ext_authz with an untrusted ext_authz server, you should set this to ``true``. Defaults to ``false``.
bool validate_mutations = 24;- Specified by:
getValidateMutationsin interfaceExtAuthzOrBuilder- Returns:
- The validateMutations.
-
getMetadataContextNamespacesList
public com.google.protobuf.ProtocolStringList getMetadataContextNamespacesList()Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set, then the following will pass the jwt payload to the authorization server. .. code-block:: yaml metadata_context_namespaces: - envoy.filters.http.jwt_authnrepeated string metadata_context_namespaces = 8;- Specified by:
getMetadataContextNamespacesListin interfaceExtAuthzOrBuilder- Returns:
- A list containing the metadataContextNamespaces.
-
getMetadataContextNamespacesCount
public int getMetadataContextNamespacesCount()Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set, then the following will pass the jwt payload to the authorization server. .. code-block:: yaml metadata_context_namespaces: - envoy.filters.http.jwt_authnrepeated string metadata_context_namespaces = 8;- Specified by:
getMetadataContextNamespacesCountin interfaceExtAuthzOrBuilder- Returns:
- The count of metadataContextNamespaces.
-
getMetadataContextNamespaces
Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set, then the following will pass the jwt payload to the authorization server. .. code-block:: yaml metadata_context_namespaces: - envoy.filters.http.jwt_authnrepeated string metadata_context_namespaces = 8;- Specified by:
getMetadataContextNamespacesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The metadataContextNamespaces at the given index.
-
getMetadataContextNamespacesBytes
public com.google.protobuf.ByteString getMetadataContextNamespacesBytes(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set, then the following will pass the jwt payload to the authorization server. .. code-block:: yaml metadata_context_namespaces: - envoy.filters.http.jwt_authnrepeated string metadata_context_namespaces = 8;- Specified by:
getMetadataContextNamespacesBytesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the metadataContextNamespaces at the given index.
-
getTypedMetadataContextNamespacesList
public com.google.protobuf.ProtocolStringList getTypedMetadataContextNamespacesList()Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. This works similarly to ``metadata_context_namespaces`` but allows Envoy and the ext_authz server to share the protobuf message definition in order to perform safe parsing.
repeated string typed_metadata_context_namespaces = 16;- Specified by:
getTypedMetadataContextNamespacesListin interfaceExtAuthzOrBuilder- Returns:
- A list containing the typedMetadataContextNamespaces.
-
getTypedMetadataContextNamespacesCount
public int getTypedMetadataContextNamespacesCount()Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. This works similarly to ``metadata_context_namespaces`` but allows Envoy and the ext_authz server to share the protobuf message definition in order to perform safe parsing.
repeated string typed_metadata_context_namespaces = 16;- Specified by:
getTypedMetadataContextNamespacesCountin interfaceExtAuthzOrBuilder- Returns:
- The count of typedMetadataContextNamespaces.
-
getTypedMetadataContextNamespaces
Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. This works similarly to ``metadata_context_namespaces`` but allows Envoy and the ext_authz server to share the protobuf message definition in order to perform safe parsing.
repeated string typed_metadata_context_namespaces = 16;- Specified by:
getTypedMetadataContextNamespacesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The typedMetadataContextNamespaces at the given index.
-
getTypedMetadataContextNamespacesBytes
public com.google.protobuf.ByteString getTypedMetadataContextNamespacesBytes(int index) Specifies a list of metadata namespaces whose values, if present, will be passed to the ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``. .. note:: This field applies exclusively to the gRPC ext_authz service and has no effect on the HTTP service. This works similarly to ``metadata_context_namespaces`` but allows Envoy and the ext_authz server to share the protobuf message definition in order to perform safe parsing.
repeated string typed_metadata_context_namespaces = 16;- Specified by:
getTypedMetadataContextNamespacesBytesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the typedMetadataContextNamespaces at the given index.
-
getRouteMetadataContextNamespacesList
public com.google.protobuf.ProtocolStringList getRouteMetadataContextNamespacesList()Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
repeated string route_metadata_context_namespaces = 21;- Specified by:
getRouteMetadataContextNamespacesListin interfaceExtAuthzOrBuilder- Returns:
- A list containing the routeMetadataContextNamespaces.
-
getRouteMetadataContextNamespacesCount
public int getRouteMetadataContextNamespacesCount()Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
repeated string route_metadata_context_namespaces = 21;- Specified by:
getRouteMetadataContextNamespacesCountin interfaceExtAuthzOrBuilder- Returns:
- The count of routeMetadataContextNamespaces.
-
getRouteMetadataContextNamespaces
Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
repeated string route_metadata_context_namespaces = 21;- Specified by:
getRouteMetadataContextNamespacesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The routeMetadataContextNamespaces at the given index.
-
getRouteMetadataContextNamespacesBytes
public com.google.protobuf.ByteString getRouteMetadataContextNamespacesBytes(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
repeated string route_metadata_context_namespaces = 21;- Specified by:
getRouteMetadataContextNamespacesBytesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the routeMetadataContextNamespaces at the given index.
-
getRouteTypedMetadataContextNamespacesList
public com.google.protobuf.ProtocolStringList getRouteTypedMetadataContextNamespacesList()Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``.
repeated string route_typed_metadata_context_namespaces = 22;- Specified by:
getRouteTypedMetadataContextNamespacesListin interfaceExtAuthzOrBuilder- Returns:
- A list containing the routeTypedMetadataContextNamespaces.
-
getRouteTypedMetadataContextNamespacesCount
public int getRouteTypedMetadataContextNamespacesCount()Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``.
repeated string route_typed_metadata_context_namespaces = 22;- Specified by:
getRouteTypedMetadataContextNamespacesCountin interfaceExtAuthzOrBuilder- Returns:
- The count of routeTypedMetadataContextNamespaces.
-
getRouteTypedMetadataContextNamespaces
Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``.
repeated string route_typed_metadata_context_namespaces = 22;- Specified by:
getRouteTypedMetadataContextNamespacesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The routeTypedMetadataContextNamespaces at the given index.
-
getRouteTypedMetadataContextNamespacesBytes
public com.google.protobuf.ByteString getRouteTypedMetadataContextNamespacesBytes(int index) Specifies a list of route metadata namespaces whose values, if present, will be passed to the ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as a ``protobuf::Any``.
repeated string route_typed_metadata_context_namespaces = 22;- Specified by:
getRouteTypedMetadataContextNamespacesBytesin interfaceExtAuthzOrBuilder- Parameters:
index- The index of the value to return.- Returns:
- The bytes of the routeTypedMetadataContextNamespaces at the given index.
-
hasFilterEnabled
public boolean hasFilterEnabled()Specifies if the filter is enabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. If this field is not specified, the filter will be enabled for all requests.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;- Specified by:
hasFilterEnabledin interfaceExtAuthzOrBuilder- Returns:
- Whether the filterEnabled field is set.
-
getFilterEnabled
Specifies if the filter is enabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. If this field is not specified, the filter will be enabled for all requests.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;- Specified by:
getFilterEnabledin interfaceExtAuthzOrBuilder- Returns:
- The filterEnabled.
-
getFilterEnabledOrBuilder
Specifies if the filter is enabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. If this field is not specified, the filter will be enabled for all requests.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;- Specified by:
getFilterEnabledOrBuilderin interfaceExtAuthzOrBuilder
-
hasFilterEnabledMetadata
public boolean hasFilterEnabledMetadata()Specifies if the filter is enabled with metadata matcher. If this field is not specified, the filter will be enabled for all requests. .. note:: This field is only evaluated if the filter is instantiated. If the filter is marked with ``disabled: true`` in the :ref:`HttpFilter <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.HttpFilter>` configuration or in per-route configuration via :ref:`ExtAuthzPerRoute <envoy_v3_api_msg_extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute>`, the filter will not be instantiated and this field will have no effect. .. tip:: For dynamic filter activation based on metadata (such as metadata set by a preceding filter), consider using :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>` instead. This provides a more flexible matching framework that can evaluate conditions before filter instantiation. See the :ref:`ext_authz filter documentation <config_http_filters_ext_authz>` for examples.
.envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;- Specified by:
hasFilterEnabledMetadatain interfaceExtAuthzOrBuilder- Returns:
- Whether the filterEnabledMetadata field is set.
-
getFilterEnabledMetadata
Specifies if the filter is enabled with metadata matcher. If this field is not specified, the filter will be enabled for all requests. .. note:: This field is only evaluated if the filter is instantiated. If the filter is marked with ``disabled: true`` in the :ref:`HttpFilter <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.HttpFilter>` configuration or in per-route configuration via :ref:`ExtAuthzPerRoute <envoy_v3_api_msg_extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute>`, the filter will not be instantiated and this field will have no effect. .. tip:: For dynamic filter activation based on metadata (such as metadata set by a preceding filter), consider using :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>` instead. This provides a more flexible matching framework that can evaluate conditions before filter instantiation. See the :ref:`ext_authz filter documentation <config_http_filters_ext_authz>` for examples.
.envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;- Specified by:
getFilterEnabledMetadatain interfaceExtAuthzOrBuilder- Returns:
- The filterEnabledMetadata.
-
getFilterEnabledMetadataOrBuilder
Specifies if the filter is enabled with metadata matcher. If this field is not specified, the filter will be enabled for all requests. .. note:: This field is only evaluated if the filter is instantiated. If the filter is marked with ``disabled: true`` in the :ref:`HttpFilter <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.HttpFilter>` configuration or in per-route configuration via :ref:`ExtAuthzPerRoute <envoy_v3_api_msg_extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute>`, the filter will not be instantiated and this field will have no effect. .. tip:: For dynamic filter activation based on metadata (such as metadata set by a preceding filter), consider using :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>` instead. This provides a more flexible matching framework that can evaluate conditions before filter instantiation. See the :ref:`ext_authz filter documentation <config_http_filters_ext_authz>` for examples.
.envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;- Specified by:
getFilterEnabledMetadataOrBuilderin interfaceExtAuthzOrBuilder
-
hasDenyAtDisable
public boolean hasDenyAtDisable()Specifies whether to deny the requests when the filter is disabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified, Envoy will lookup the runtime key to determine whether to deny requests for filter-protected paths when the filter is disabled. If the filter is disabled in ``typed_per_filter_config`` for the path, requests will not be denied. If this field is not specified, all requests will be allowed when disabled. If a request is denied due to this setting, the response code in :ref:`status_on_error <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will be returned.
.envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;- Specified by:
hasDenyAtDisablein interfaceExtAuthzOrBuilder- Returns:
- Whether the denyAtDisable field is set.
-
getDenyAtDisable
Specifies whether to deny the requests when the filter is disabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified, Envoy will lookup the runtime key to determine whether to deny requests for filter-protected paths when the filter is disabled. If the filter is disabled in ``typed_per_filter_config`` for the path, requests will not be denied. If this field is not specified, all requests will be allowed when disabled. If a request is denied due to this setting, the response code in :ref:`status_on_error <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will be returned.
.envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;- Specified by:
getDenyAtDisablein interfaceExtAuthzOrBuilder- Returns:
- The denyAtDisable.
-
getDenyAtDisableOrBuilder
Specifies whether to deny the requests when the filter is disabled. If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified, Envoy will lookup the runtime key to determine whether to deny requests for filter-protected paths when the filter is disabled. If the filter is disabled in ``typed_per_filter_config`` for the path, requests will not be denied. If this field is not specified, all requests will be allowed when disabled. If a request is denied due to this setting, the response code in :ref:`status_on_error <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will be returned.
.envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;- Specified by:
getDenyAtDisableOrBuilderin interfaceExtAuthzOrBuilder
-
getIncludePeerCertificate
public boolean getIncludePeerCertificate()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 :ref:`certificate<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.certificate>`.
bool include_peer_certificate = 10;- Specified by:
getIncludePeerCertificatein interfaceExtAuthzOrBuilder- Returns:
- The includePeerCertificate.
-
getStatPrefix
Optional additional prefix to use when emitting statistics. This allows distinguishing emitted statistics between configured ``ext_authz`` filters in an HTTP filter chain. For example: .. code-block:: yaml http_filters: - name: envoy.filters.http.ext_authz typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz stat_prefix: waf # This emits ext_authz.waf.ok, ext_authz.waf.denied, etc. - name: envoy.filters.http.ext_authz typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz stat_prefix: blocker # This emits ext_authz.blocker.ok, ext_authz.blocker.denied, etc.string stat_prefix = 13;- Specified by:
getStatPrefixin interfaceExtAuthzOrBuilder- Returns:
- The statPrefix.
-
getStatPrefixBytes
public com.google.protobuf.ByteString getStatPrefixBytes()Optional additional prefix to use when emitting statistics. This allows distinguishing emitted statistics between configured ``ext_authz`` filters in an HTTP filter chain. For example: .. code-block:: yaml http_filters: - name: envoy.filters.http.ext_authz typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz stat_prefix: waf # This emits ext_authz.waf.ok, ext_authz.waf.denied, etc. - name: envoy.filters.http.ext_authz typed_config: "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz stat_prefix: blocker # This emits ext_authz.blocker.ok, ext_authz.blocker.denied, etc.string stat_prefix = 13;- Specified by:
getStatPrefixBytesin interfaceExtAuthzOrBuilder- Returns:
- The bytes for statPrefix.
-
getBootstrapMetadataLabelsKey
Optional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`. The labels will be read from :ref:`metadata<envoy_v3_api_msg_config.core.v3.Node>` with the specified key.
string bootstrap_metadata_labels_key = 15;- Specified by:
getBootstrapMetadataLabelsKeyin interfaceExtAuthzOrBuilder- Returns:
- The bootstrapMetadataLabelsKey.
-
getBootstrapMetadataLabelsKeyBytes
public com.google.protobuf.ByteString getBootstrapMetadataLabelsKeyBytes()Optional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`. The labels will be read from :ref:`metadata<envoy_v3_api_msg_config.core.v3.Node>` with the specified key.
string bootstrap_metadata_labels_key = 15;- Specified by:
getBootstrapMetadataLabelsKeyBytesin interfaceExtAuthzOrBuilder- Returns:
- The bytes for bootstrapMetadataLabelsKey.
-
hasAllowedHeaders
public boolean hasAllowedHeaders()Check request to authorization server will include the client request headers that have a correspondent match in the list. If this option isn't specified, then all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server. This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior. .. note:: For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``, ``Content-Length``, and ``Authorization`` are **additionally included** in the list. .. note:: For requests to an HTTP authorization server: the value of ``Content-Length`` will be set to ``0`` and the request to the authorization server will not have a message body. However, the check request can include the buffered client request body (controlled by :ref:`with_request_body <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting); consequently, the value of ``Content-Length`` in the authorization request reflects the size of its payload. .. note:: This can be overridden by the field ``disallowed_headers`` below. That is, if a header matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
.envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;- Specified by:
hasAllowedHeadersin interfaceExtAuthzOrBuilder- Returns:
- Whether the allowedHeaders field is set.
-
getAllowedHeaders
Check request to authorization server will include the client request headers that have a correspondent match in the list. If this option isn't specified, then all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server. This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior. .. note:: For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``, ``Content-Length``, and ``Authorization`` are **additionally included** in the list. .. note:: For requests to an HTTP authorization server: the value of ``Content-Length`` will be set to ``0`` and the request to the authorization server will not have a message body. However, the check request can include the buffered client request body (controlled by :ref:`with_request_body <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting); consequently, the value of ``Content-Length`` in the authorization request reflects the size of its payload. .. note:: This can be overridden by the field ``disallowed_headers`` below. That is, if a header matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
.envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;- Specified by:
getAllowedHeadersin interfaceExtAuthzOrBuilder- Returns:
- The allowedHeaders.
-
getAllowedHeadersOrBuilder
Check request to authorization server will include the client request headers that have a correspondent match in the list. If this option isn't specified, then all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server. This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior. .. note:: For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``, ``Content-Length``, and ``Authorization`` are **additionally included** in the list. .. note:: For requests to an HTTP authorization server: the value of ``Content-Length`` will be set to ``0`` and the request to the authorization server will not have a message body. However, the check request can include the buffered client request body (controlled by :ref:`with_request_body <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting); consequently, the value of ``Content-Length`` in the authorization request reflects the size of its payload. .. note:: This can be overridden by the field ``disallowed_headers`` below. That is, if a header matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
.envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;- Specified by:
getAllowedHeadersOrBuilderin interfaceExtAuthzOrBuilder
-
hasDisallowedHeaders
public boolean hasDisallowedHeaders()If set, specifically disallow any header in this list to be forwarded to the external authentication server. This overrides the above ``allowed_headers`` if a header matches both.
.envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;- Specified by:
hasDisallowedHeadersin interfaceExtAuthzOrBuilder- Returns:
- Whether the disallowedHeaders field is set.
-
getDisallowedHeaders
If set, specifically disallow any header in this list to be forwarded to the external authentication server. This overrides the above ``allowed_headers`` if a header matches both.
.envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;- Specified by:
getDisallowedHeadersin interfaceExtAuthzOrBuilder- Returns:
- The disallowedHeaders.
-
getDisallowedHeadersOrBuilder
If set, specifically disallow any header in this list to be forwarded to the external authentication server. This overrides the above ``allowed_headers`` if a header matches both.
.envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;- Specified by:
getDisallowedHeadersOrBuilderin interfaceExtAuthzOrBuilder
-
getIncludeTlsSession
public boolean getIncludeTlsSession()Specifies if the TLS session level details like SNI are sent to the external service. When this field is ``true``, Envoy will include the SNI name used for TLSClientHello, if available, in the :ref:`tls_session<envoy_v3_api_field_service.auth.v3.AttributeContext.tls_session>`.
bool include_tls_session = 18;- Specified by:
getIncludeTlsSessionin interfaceExtAuthzOrBuilder- Returns:
- The includeTlsSession.
-
hasChargeClusterResponseStats
public boolean hasChargeClusterResponseStats()Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure. Defaults to ``true``.
.google.protobuf.BoolValue charge_cluster_response_stats = 20;- Specified by:
hasChargeClusterResponseStatsin interfaceExtAuthzOrBuilder- Returns:
- Whether the chargeClusterResponseStats field is set.
-
getChargeClusterResponseStats
public com.google.protobuf.BoolValue getChargeClusterResponseStats()Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure. Defaults to ``true``.
.google.protobuf.BoolValue charge_cluster_response_stats = 20;- Specified by:
getChargeClusterResponseStatsin interfaceExtAuthzOrBuilder- Returns:
- The chargeClusterResponseStats.
-
getChargeClusterResponseStatsOrBuilder
public com.google.protobuf.BoolValueOrBuilder getChargeClusterResponseStatsOrBuilder()Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure. Defaults to ``true``.
.google.protobuf.BoolValue charge_cluster_response_stats = 20;- Specified by:
getChargeClusterResponseStatsOrBuilderin interfaceExtAuthzOrBuilder
-
getEncodeRawHeaders
public boolean getEncodeRawHeaders()Whether to encode the raw headers (i.e., unsanitized values and unconcatenated multi-line headers) in the authorization request. Works with both HTTP and gRPC clients. When this is set to ``true``, header values are not sanitized. Headers with the same key will also not be combined into a single, comma-separated header. Requests to gRPC services will populate the field :ref:`header_map<envoy_v3_api_field_service.auth.v3.AttributeContext.HttpRequest.header_map>`. Requests to HTTP services will be constructed with the unsanitized header values and preserved multi-line headers with the same key. If this field is set to ``false``, header values will be sanitized, with any non-UTF-8-compliant bytes replaced with ``'!'``. Headers with the same key will have their values concatenated into a single comma-separated header value. Requests to gRPC services will populate the field :ref:`headers<envoy_v3_api_field_service.auth.v3.AttributeContext.HttpRequest.headers>`. Requests to HTTP services will have their header values sanitized and will not preserve multi-line headers with the same key. It is recommended to set this to ``true`` unless you rely on the previous behavior. It is set to ``false`` by default for backwards compatibility.
bool encode_raw_headers = 23;- Specified by:
getEncodeRawHeadersin interfaceExtAuthzOrBuilder- Returns:
- The encodeRawHeaders.
-
hasDecoderHeaderMutationRules
public boolean hasDecoderHeaderMutationRules()Rules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream. If set, enables header mutation checking against the configured rules. Note that :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>` has defaults that change ext_authz behavior. Also note that if this field is set, ext_authz can no longer append to ``:``-prefixed headers. If unset, header mutation rule checking is completely disabled. Regardless of what is configured here, ext_authz cannot remove ``:``-prefixed headers. This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables correctness checks for all header and query parameter mutations (for example, invalid characters). This field allows the filter to reject mutations to specific headers.
.envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;- Specified by:
hasDecoderHeaderMutationRulesin interfaceExtAuthzOrBuilder- Returns:
- Whether the decoderHeaderMutationRules field is set.
-
getDecoderHeaderMutationRules
Rules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream. If set, enables header mutation checking against the configured rules. Note that :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>` has defaults that change ext_authz behavior. Also note that if this field is set, ext_authz can no longer append to ``:``-prefixed headers. If unset, header mutation rule checking is completely disabled. Regardless of what is configured here, ext_authz cannot remove ``:``-prefixed headers. This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables correctness checks for all header and query parameter mutations (for example, invalid characters). This field allows the filter to reject mutations to specific headers.
.envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;- Specified by:
getDecoderHeaderMutationRulesin interfaceExtAuthzOrBuilder- Returns:
- The decoderHeaderMutationRules.
-
getDecoderHeaderMutationRulesOrBuilder
Rules for what modifications an ext_authz server may make to the request headers before continuing decoding or forwarding upstream. If set, enables header mutation checking against the configured rules. Note that :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>` has defaults that change ext_authz behavior. Also note that if this field is set, ext_authz can no longer append to ``:``-prefixed headers. If unset, header mutation rule checking is completely disabled. Regardless of what is configured here, ext_authz cannot remove ``:``-prefixed headers. This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables correctness checks for all header and query parameter mutations (for example, invalid characters). This field allows the filter to reject mutations to specific headers.
.envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;- Specified by:
getDecoderHeaderMutationRulesOrBuilderin interfaceExtAuthzOrBuilder
-
hasEnableDynamicMetadataIngestion
public boolean hasEnableDynamicMetadataIngestion()Enable or disable ingestion of dynamic metadata from the ext_authz service. If ``false``, the filter will ignore dynamic metadata injected by the ext_authz service. If the ext_authz service tries injecting dynamic metadata, the filter will log, increment the ``ignored_dynamic_metadata`` stat, then continue handling the response. If ``true``, the filter will ingest dynamic metadata entries as normal. If unset, defaults to ``true``.
.google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;- Specified by:
hasEnableDynamicMetadataIngestionin interfaceExtAuthzOrBuilder- Returns:
- Whether the enableDynamicMetadataIngestion field is set.
-
getEnableDynamicMetadataIngestion
public com.google.protobuf.BoolValue getEnableDynamicMetadataIngestion()Enable or disable ingestion of dynamic metadata from the ext_authz service. If ``false``, the filter will ignore dynamic metadata injected by the ext_authz service. If the ext_authz service tries injecting dynamic metadata, the filter will log, increment the ``ignored_dynamic_metadata`` stat, then continue handling the response. If ``true``, the filter will ingest dynamic metadata entries as normal. If unset, defaults to ``true``.
.google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;- Specified by:
getEnableDynamicMetadataIngestionin interfaceExtAuthzOrBuilder- Returns:
- The enableDynamicMetadataIngestion.
-
getEnableDynamicMetadataIngestionOrBuilder
public com.google.protobuf.BoolValueOrBuilder getEnableDynamicMetadataIngestionOrBuilder()Enable or disable ingestion of dynamic metadata from the ext_authz service. If ``false``, the filter will ignore dynamic metadata injected by the ext_authz service. If the ext_authz service tries injecting dynamic metadata, the filter will log, increment the ``ignored_dynamic_metadata`` stat, then continue handling the response. If ``true``, the filter will ingest dynamic metadata entries as normal. If unset, defaults to ``true``.
.google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;- Specified by:
getEnableDynamicMetadataIngestionOrBuilderin interfaceExtAuthzOrBuilder
-
hasFilterMetadata
public boolean hasFilterMetadata()Additional metadata to be added to the filter state for logging purposes. The metadata will be added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter name.
.google.protobuf.Struct filter_metadata = 28;- Specified by:
hasFilterMetadatain interfaceExtAuthzOrBuilder- Returns:
- Whether the filterMetadata field is set.
-
getFilterMetadata
public com.google.protobuf.Struct getFilterMetadata()Additional metadata to be added to the filter state for logging purposes. The metadata will be added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter name.
.google.protobuf.Struct filter_metadata = 28;- Specified by:
getFilterMetadatain interfaceExtAuthzOrBuilder- Returns:
- The filterMetadata.
-
getFilterMetadataOrBuilder
public com.google.protobuf.StructOrBuilder getFilterMetadataOrBuilder()Additional metadata to be added to the filter state for logging purposes. The metadata will be added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter name.
.google.protobuf.Struct filter_metadata = 28;- Specified by:
getFilterMetadataOrBuilderin interfaceExtAuthzOrBuilder
-
getEmitFilterStateStats
public boolean getEmitFilterStateStats()When set to ``true``, the filter will emit per-stream stats for access logging. The filter state key will be the same as the filter name. If using Envoy gRPC, emits latency, bytes sent / received, upstream info, and upstream cluster info. If not using Envoy gRPC, emits only latency. .. note:: Stats are ONLY added to filter state if a check request is actually made to an ext_authz service. If this is ``false`` the filter will not emit stats, but filter_metadata will still be respected if it has a value. Field ``latency_us`` is exposed for CEL and logging when using gRPC or HTTP service. Fields ``bytesSent`` and ``bytesReceived`` are exposed for CEL and logging only when using gRPC service.
bool emit_filter_state_stats = 29;- Specified by:
getEmitFilterStateStatsin interfaceExtAuthzOrBuilder- Returns:
- The emitFilterStateStats.
-
getMaxDeniedResponseBodyBytes
public int getMaxDeniedResponseBodyBytes()Sets the maximum size (in bytes) of the response body that the filter will send downstream when a request is denied by the external authorization service. If the authorization server returns a response body larger than this configured limit, the body will be truncated to ``max_denied_response_body_bytes`` before being sent to the downstream client. If this field is not set or is set to 0, no truncation will occur, and the entire denied response body will be forwarded.
uint32 max_denied_response_body_bytes = 30;- Specified by:
getMaxDeniedResponseBodyBytesin interfaceExtAuthzOrBuilder- Returns:
- The maxDeniedResponseBodyBytes.
-
getEnforceResponseHeaderLimits
public boolean getEnforceResponseHeaderLimits()When set to ``true``, the filter will enforce the response header map's count and size limits by sending a local reply when those limits are violated. When set to ``false``, the filter will ignore the response header map's limits and add / set all response headers as specified by the external authorization service. Recommendation: enable if the external authorization service is not trusted. Otherwise, leave it ``false``. Defaults to ``false``.
bool enforce_response_header_limits = 31;- Specified by:
getEnforceResponseHeaderLimitsin interfaceExtAuthzOrBuilder- Returns:
- The enforceResponseHeaderLimits.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static ExtAuthz parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ExtAuthz parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ExtAuthz parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ExtAuthz parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ExtAuthz parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static ExtAuthz parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static ExtAuthz parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static ExtAuthz parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static ExtAuthz parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected ExtAuthz.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-