You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
inbound: Discover policies from the control plane (#1205)
We've recently introduced support for authorization policies. These
policies are configured statically from the proxy's environment. This
change adds an optional new mode to support dynamic configuration from
the control plane.
The proxy now supports new environment variables,
`LINKERD2_PROXY_POLICY_SVC_{ADDR,NAME}` that may be set with the address
and identity of the policy controller. When this is set, other static
inbound port configurations (requiring identity, marking ports as
opaque, etc) are ignored in favor of the results returned by the API.
Instead, the proxy uses the `LINKER2_PROXY_INBOUND_PORTS` environment
variable to discover the list of ports configured in the pod's spec and
discovers the policies for each of these ports before admitting inbound
connections. When a connection is received for a port not in this list,
the `LINKERD2_PROXY_INBOUND_DEFAULT_POLICY` configuration is used to
determine whether the connection may be permitted or whether it should
be refused.
This change modifies the set of default policies to support only `deny`,
`all-authenticated` and `all-unauthenticated` (removing
`all-mtls-unauthenticated`). Instead a
`LINKERD2_PROXY_INBOUND_PORTS_REQUIRE_TLS` configuration is introduced
to enable tls requirements for individual pods. This static
configuration should only be necessary for the identity controller, in
which case we need to use an unauthenticated default policy to permit
kubernetes healtchecking probes; and we can use this new configuration
to enforce a default policy on the gRPC API port.
0 commit comments