Istio AuthserviceVersion: Next
Envoy Standalone
The Istio Authservice can be used in a standalone Envoy instance.
To use it, you just need to configure an ext-authz filter
to forward traffic to the authzservice
gRPC endpoint.
The following example is a minimal Envoy configuration file to forward all traffic to the authservice
. The only needed
elements are:
- The HTTP filter forwarding traffic to a defined Envoy cluster that implements the Envoy
ext-authz
filter. - The definition of the Envoy cluster that points to where the
authservice
is deployed. It already implements theext-authz
gRPC API. - The running
authservice
instance must be configured to talk to the Identity Provider as explained in the OIDC configuration guide.
static_resources:
listeners:
- name: http
address:
socket_address:
address: 0.0.0.0
port_value: 80
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: http
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
route_config:
name: http
virtual_hosts:
- name: http
domains: ["*"]
routes:
- match:
prefix: "/"
direct_response:
status: 200
body:
inline_string: "Access allowed\n"
http_filters:
- name: envoy.filters.http.ext_authz
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
transport_api_version: V3
grpc_service:
envoy_grpc:
cluster_name: ext_authz
timeout: 300s
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: ext_authz
connect_timeout: 0.25s
type: LOGICAL_DNS
lb_policy: ROUND_ROBIN
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicit_http_config:
http2_protocol_options: {}
load_assignment:
cluster_name: ext_authz
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: ext-authz
port_value: 10003