public static final class ExtAuthzOuterClass.HttpService extends com.google.protobuf.GeneratedMessageV3 implements ExtAuthzOuterClass.HttpServiceOrBuilder
External Authorization filter calls out to an upstream authorization server by passing the raw
HTTP request headers to the server. This allows the authorization service to take a decision
whether the request is authorized or not.
A successful check allows the authorization service adding or overriding headers from the
original request before dispatching it to the upstream. This is done by configuring which headers
in the authorization response should be sent to the upstream. See *allowed_authorization_headers*
bellow.
A failed check will cause this filter to close the HTTP request with 403 (Forbidden),
unless a different status code has been indicated by the authorization server via response
headers.
If an error happens during the checking process, two situations may occur depending on the
filter's configuration:
1. When *failure_mode_allow* is true, traffic will be allowed in the presence of an error. This
includes any of the HTTP 5xx errors, or a communication failure between the filter and the
authorization server.
2. When *failure_mode_allow* is false, the filter will *always* return a *Forbidden response* to
the client. It will *not allow* traffic to the upstream in the presence of an error. This
includes any of the HTTP 5xx errors, or a communication failure between the filter and the
authorization server.
Note that filter will produce stats on error. See *Statistics* at :ref:`configuration overview
<config_http_filters_ext_authz>`.
Protobuf type envoy.config.filter.http.ext_authz.v2alpha.HttpService| Modifier and Type | Class and Description |
|---|---|
static class |
ExtAuthzOuterClass.HttpService.Builder
External Authorization filter calls out to an upstream authorization server by passing the raw
HTTP request headers to the server.
|
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
ALLOWED_AUTHORIZATION_HEADERS_FIELD_NUMBER |
static int |
ALLOWED_REQUEST_HEADERS_FIELD_NUMBER |
static int |
AUTHORIZATION_HEADERS_TO_ADD_FIELD_NUMBER |
static int |
PATH_PREFIX_FIELD_NUMBER |
static int |
SERVER_URI_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
String |
getAllowedAuthorizationHeaders(int index)
Sets a list of headers that can be sent from the authorization server to the upstream service,
or to the downstream client when present in the authorization response.
|
com.google.protobuf.ByteString |
getAllowedAuthorizationHeadersBytes(int index)
Sets a list of headers that can be sent from the authorization server to the upstream service,
or to the downstream client when present in the authorization response.
|
int |
getAllowedAuthorizationHeadersCount()
Sets a list of headers that can be sent from the authorization server to the upstream service,
or to the downstream client when present in the authorization response.
|
com.google.protobuf.ProtocolStringList |
getAllowedAuthorizationHeadersList()
Sets a list of headers that can be sent from the authorization server to the upstream service,
or to the downstream client when present in the authorization response.
|
String |
getAllowedRequestHeaders(int index)
Sets a list of headers that should be sent *from the filter* to the authorization server
when they are also present in the client request.
|
com.google.protobuf.ByteString |
getAllowedRequestHeadersBytes(int index)
Sets a list of headers that should be sent *from the filter* to the authorization server
when they are also present in the client request.
|
int |
getAllowedRequestHeadersCount()
Sets a list of headers that should be sent *from the filter* to the authorization server
when they are also present in the client request.
|
com.google.protobuf.ProtocolStringList |
getAllowedRequestHeadersList()
Sets a list of headers that should be sent *from the filter* to the authorization server
when they are also present in the client request.
|
Base.HeaderValue |
getAuthorizationHeadersToAdd(int index)
Sets a list of headers and their values that will be added to the request to external
authorization server.
|
int |
getAuthorizationHeadersToAddCount()
Sets a list of headers and their values that will be added to the request to external
authorization server.
|
List<Base.HeaderValue> |
getAuthorizationHeadersToAddList()
Sets a list of headers and their values that will be added to the request to external
authorization server.
|
Base.HeaderValueOrBuilder |
getAuthorizationHeadersToAddOrBuilder(int index)
Sets a list of headers and their values that will be added to the request to external
authorization server.
|
List<? extends Base.HeaderValueOrBuilder> |
getAuthorizationHeadersToAddOrBuilderList()
Sets a list of headers and their values that will be added to the request to external
authorization server.
|
static ExtAuthzOuterClass.HttpService |
getDefaultInstance() |
ExtAuthzOuterClass.HttpService |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Parser<ExtAuthzOuterClass.HttpService> |
getParserForType() |
String |
getPathPrefix()
Sets an optional prefix to the value of authorization request header *Path*.
|
com.google.protobuf.ByteString |
getPathPrefixBytes()
Sets an optional prefix to the value of authorization request header *Path*.
|
int |
getSerializedSize() |
HttpUriOuterClass.HttpUri |
getServerUri()
Sets the HTTP server URI which the authorization requests must be sent to.
|
HttpUriOuterClass.HttpUriOrBuilder |
getServerUriOrBuilder()
Sets the HTTP server URI which the authorization requests must be sent to.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
int |
hashCode() |
boolean |
hasServerUri()
Sets the HTTP server URI which the authorization requests must be sent to.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static ExtAuthzOuterClass.HttpService.Builder |
newBuilder() |
static ExtAuthzOuterClass.HttpService.Builder |
newBuilder(ExtAuthzOuterClass.HttpService prototype) |
ExtAuthzOuterClass.HttpService.Builder |
newBuilderForType() |
protected ExtAuthzOuterClass.HttpService.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static ExtAuthzOuterClass.HttpService |
parseDelimitedFrom(InputStream input) |
static ExtAuthzOuterClass.HttpService |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static ExtAuthzOuterClass.HttpService |
parseFrom(byte[] data) |
static ExtAuthzOuterClass.HttpService |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static ExtAuthzOuterClass.HttpService |
parseFrom(ByteBuffer data) |
static ExtAuthzOuterClass.HttpService |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static ExtAuthzOuterClass.HttpService |
parseFrom(com.google.protobuf.ByteString data) |
static ExtAuthzOuterClass.HttpService |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static ExtAuthzOuterClass.HttpService |
parseFrom(com.google.protobuf.CodedInputStream input) |
static ExtAuthzOuterClass.HttpService |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static ExtAuthzOuterClass.HttpService |
parseFrom(InputStream input) |
static ExtAuthzOuterClass.HttpService |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<ExtAuthzOuterClass.HttpService> |
parser() |
ExtAuthzOuterClass.HttpService.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int SERVER_URI_FIELD_NUMBER
public static final int PATH_PREFIX_FIELD_NUMBER
public static final int ALLOWED_AUTHORIZATION_HEADERS_FIELD_NUMBER
public static final int ALLOWED_REQUEST_HEADERS_FIELD_NUMBER
public static final int AUTHORIZATION_HEADERS_TO_ADD_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public boolean hasServerUri()
Sets the HTTP server URI which the authorization requests must be sent to.
.envoy.api.v2.core.HttpUri server_uri = 1;hasServerUri in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic HttpUriOuterClass.HttpUri getServerUri()
Sets the HTTP server URI which the authorization requests must be sent to.
.envoy.api.v2.core.HttpUri server_uri = 1;getServerUri in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic HttpUriOuterClass.HttpUriOrBuilder getServerUriOrBuilder()
Sets the HTTP server URI which the authorization requests must be sent to.
.envoy.api.v2.core.HttpUri server_uri = 1;getServerUriOrBuilder in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic String getPathPrefix()
Sets an optional prefix to the value of authorization request header *Path*.
string path_prefix = 2;getPathPrefix in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic com.google.protobuf.ByteString getPathPrefixBytes()
Sets an optional prefix to the value of authorization request header *Path*.
string path_prefix = 2;getPathPrefixBytes in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic com.google.protobuf.ProtocolStringList getAllowedAuthorizationHeadersList()
Sets a list of headers that can be sent from the authorization server to the upstream service, or to the downstream client when present in the authorization response. Note that a matched request header will have its value overridden by the ones sent from the authorization server.
repeated string allowed_authorization_headers = 4;getAllowedAuthorizationHeadersList in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic int getAllowedAuthorizationHeadersCount()
Sets a list of headers that can be sent from the authorization server to the upstream service, or to the downstream client when present in the authorization response. Note that a matched request header will have its value overridden by the ones sent from the authorization server.
repeated string allowed_authorization_headers = 4;getAllowedAuthorizationHeadersCount in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic String getAllowedAuthorizationHeaders(int index)
Sets a list of headers that can be sent from the authorization server to the upstream service, or to the downstream client when present in the authorization response. Note that a matched request header will have its value overridden by the ones sent from the authorization server.
repeated string allowed_authorization_headers = 4;getAllowedAuthorizationHeaders in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic com.google.protobuf.ByteString getAllowedAuthorizationHeadersBytes(int index)
Sets a list of headers that can be sent from the authorization server to the upstream service, or to the downstream client when present in the authorization response. Note that a matched request header will have its value overridden by the ones sent from the authorization server.
repeated string allowed_authorization_headers = 4;getAllowedAuthorizationHeadersBytes in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic com.google.protobuf.ProtocolStringList getAllowedRequestHeadersList()
Sets a list of headers that should be sent *from the filter* to the authorization server when they are also present in the client request. Note that *Content-Length*, *Authority*, *Method* and *Path* are always dispatched to the authorization server by default. The message will not contain body data and the *Content-Length* will be set to zero.
repeated string allowed_request_headers = 5;getAllowedRequestHeadersList in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic int getAllowedRequestHeadersCount()
Sets a list of headers that should be sent *from the filter* to the authorization server when they are also present in the client request. Note that *Content-Length*, *Authority*, *Method* and *Path* are always dispatched to the authorization server by default. The message will not contain body data and the *Content-Length* will be set to zero.
repeated string allowed_request_headers = 5;getAllowedRequestHeadersCount in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic String getAllowedRequestHeaders(int index)
Sets a list of headers that should be sent *from the filter* to the authorization server when they are also present in the client request. Note that *Content-Length*, *Authority*, *Method* and *Path* are always dispatched to the authorization server by default. The message will not contain body data and the *Content-Length* will be set to zero.
repeated string allowed_request_headers = 5;getAllowedRequestHeaders in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic com.google.protobuf.ByteString getAllowedRequestHeadersBytes(int index)
Sets a list of headers that should be sent *from the filter* to the authorization server when they are also present in the client request. Note that *Content-Length*, *Authority*, *Method* and *Path* are always dispatched to the authorization server by default. The message will not contain body data and the *Content-Length* will be set to zero.
repeated string allowed_request_headers = 5;getAllowedRequestHeadersBytes in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic List<Base.HeaderValue> getAuthorizationHeadersToAddList()
Sets a list of headers and their values that will be added to the request to external authorization server. Note that these will override the headers coming from the downstream.
repeated .envoy.api.v2.core.HeaderValue authorization_headers_to_add = 6;getAuthorizationHeadersToAddList in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic List<? extends Base.HeaderValueOrBuilder> getAuthorizationHeadersToAddOrBuilderList()
Sets a list of headers and their values that will be added to the request to external authorization server. Note that these will override the headers coming from the downstream.
repeated .envoy.api.v2.core.HeaderValue authorization_headers_to_add = 6;getAuthorizationHeadersToAddOrBuilderList in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic int getAuthorizationHeadersToAddCount()
Sets a list of headers and their values that will be added to the request to external authorization server. Note that these will override the headers coming from the downstream.
repeated .envoy.api.v2.core.HeaderValue authorization_headers_to_add = 6;getAuthorizationHeadersToAddCount in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic Base.HeaderValue getAuthorizationHeadersToAdd(int index)
Sets a list of headers and their values that will be added to the request to external authorization server. Note that these will override the headers coming from the downstream.
repeated .envoy.api.v2.core.HeaderValue authorization_headers_to_add = 6;getAuthorizationHeadersToAdd in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic Base.HeaderValueOrBuilder getAuthorizationHeadersToAddOrBuilder(int index)
Sets a list of headers and their values that will be added to the request to external authorization server. Note that these will override the headers coming from the downstream.
repeated .envoy.api.v2.core.HeaderValue authorization_headers_to_add = 6;getAuthorizationHeadersToAddOrBuilder in interface ExtAuthzOuterClass.HttpServiceOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static ExtAuthzOuterClass.HttpService parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(InputStream input) throws IOException
IOExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static ExtAuthzOuterClass.HttpService parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static ExtAuthzOuterClass.HttpService parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static ExtAuthzOuterClass.HttpService parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic ExtAuthzOuterClass.HttpService.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static ExtAuthzOuterClass.HttpService.Builder newBuilder()
public static ExtAuthzOuterClass.HttpService.Builder newBuilder(ExtAuthzOuterClass.HttpService prototype)
public ExtAuthzOuterClass.HttpService.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected ExtAuthzOuterClass.HttpService.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static ExtAuthzOuterClass.HttpService getDefaultInstance()
public static com.google.protobuf.Parser<ExtAuthzOuterClass.HttpService> parser()
public com.google.protobuf.Parser<ExtAuthzOuterClass.HttpService> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public ExtAuthzOuterClass.HttpService getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018 The Envoy Project. All rights reserved.