pub struct HTTPRouteRulesFiltersExternalAuth {
pub backend_ref: HTTPRouteRulesFiltersExternalAuthBackendRef,
pub forward_body: Option<HTTPRouteRulesFiltersExternalAuthForwardBody>,
pub grpc: Option<HTTPRouteRulesFiltersExternalAuthGrpc>,
pub http: Option<HTTPRouteRulesFiltersExternalAuthHttp>,
pub protocol: HTTPRouteRulesFiltersExternalAuthProtocol,
}Expand description
ExternalAuth configures settings related to sending request details to an external auth service. The external service MUST authenticate the request, and MAY authorize the request as well.
If there is any problem communicating with the external service, this filter MUST fail closed.
Support: Extended
Fields§
§backend_ref: HTTPRouteRulesFiltersExternalAuthBackendRefBackendRef is a reference to a backend to send authorization requests to.
The backend must speak the selected protocol (GRPC or HTTP) on the referenced port.
If the backend service requires TLS, use BackendTLSPolicy to tell the implementation to supply the TLS details to be used to connect to that backend.
forward_body: Option<HTTPRouteRulesFiltersExternalAuthForwardBody>ForwardBody controls if requests to the authorization server should include the body of the client request; and if so, how big that body is allowed to be.
It is expected that implementations will buffer the request body up to
forwardBody.maxSize bytes. Bodies over that size must be rejected with a
4xx series error (413 or 403 are common examples), and fail processing
of the filter.
If unset, or forwardBody.maxSize is set to 0, then the body will not
be forwarded.
Feature Name: HTTPRouteExternalAuthForwardBody
grpc: Option<HTTPRouteRulesFiltersExternalAuthGrpc>GRPCAuthConfig contains configuration for communication with ext_authz protocol-speaking backends.
If unset, implementations must assume the default behavior for each included field is intended.
http: Option<HTTPRouteRulesFiltersExternalAuthHttp>HTTPAuthConfig contains configuration for communication with HTTP-speaking backends.
If unset, implementations must assume the default behavior for each included field is intended.
protocol: HTTPRouteRulesFiltersExternalAuthProtocolExternalAuthProtocol describes which protocol to use when communicating with an ext_authz authorization server.
When this is set to GRPC, each backend must use the Envoy ext_authz protocol
on the port specified in backendRefs. Requests and responses are defined
in the protobufs explained at:
https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/external_auth.proto
When this is set to HTTP, each backend must respond with a 200 status
code in on a successful authorization. Any other code is considered
an authorization failure.
Feature Names: GRPC Support - HTTPRouteExternalAuthGRPC HTTP Support - HTTPRouteExternalAuthHTTP
Trait Implementations§
Source§impl Clone for HTTPRouteRulesFiltersExternalAuth
impl Clone for HTTPRouteRulesFiltersExternalAuth
Source§fn clone(&self) -> HTTPRouteRulesFiltersExternalAuth
fn clone(&self) -> HTTPRouteRulesFiltersExternalAuth
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for HTTPRouteRulesFiltersExternalAuth
impl Default for HTTPRouteRulesFiltersExternalAuth
Source§fn default() -> HTTPRouteRulesFiltersExternalAuth
fn default() -> HTTPRouteRulesFiltersExternalAuth
Source§impl<'de> Deserialize<'de> for HTTPRouteRulesFiltersExternalAuth
impl<'de> Deserialize<'de> for HTTPRouteRulesFiltersExternalAuth
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for HTTPRouteRulesFiltersExternalAuth
impl JsonSchema for HTTPRouteRulesFiltersExternalAuth
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for HTTPRouteRulesFiltersExternalAuth
impl PartialEq for HTTPRouteRulesFiltersExternalAuth
Source§fn eq(&self, other: &HTTPRouteRulesFiltersExternalAuth) -> bool
fn eq(&self, other: &HTTPRouteRulesFiltersExternalAuth) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for HTTPRouteRulesFiltersExternalAuth
Auto Trait Implementations§
impl Freeze for HTTPRouteRulesFiltersExternalAuth
impl RefUnwindSafe for HTTPRouteRulesFiltersExternalAuth
impl Send for HTTPRouteRulesFiltersExternalAuth
impl Sync for HTTPRouteRulesFiltersExternalAuth
impl Unpin for HTTPRouteRulesFiltersExternalAuth
impl UnwindSafe for HTTPRouteRulesFiltersExternalAuth
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more