-
Hello, I've been looking into how to add policies that control traffic in a way that is flexible enough that I don't need to use The way it works is that you create a container that listens to envoy's requests (like [1] and [2]) and you tell the service mesh to configure all envoy proxy containers to use that authorization server (with [3] or [4]). Whenever a container tries to connect to a service using envoy envoy sends a request to the external authorization server. The server then responds and allows or not that connection. Just to clarify, even though the OSM website mentions OPA, I don't want to use OPA as a policy engine. At the moment I have a program based on Istio's demo [1] that checks if source and destination are a valid combination. I see that linkerd supports proxying connections (https://linkerd.io/2.12/features/http-grpc/) so I was wondering if it could be used to manually setup a filter to have an external authorization service, or if there is already an automatic way to do it with linkerd that I haven't found. This is the only part of the documentation that mentions configuration options for the proxy, and there is nothing like what I'm looking for, so I guess this isn't supported? https://linkerd.io/2.12/reference/proxy-configuration/ Thanks! EDIT: It looks like linkerd2-proxy doesn't support configuration by design, if I understand this article correctly https://linkerd.io/2020/12/03/why-linkerd-doesnt-use-envoy/
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
For reasons of simplicity and ease of debugging, Linkerd does not support using external services to authorize requests in-line with traffic handling. Authorization is only configurable via on-cluster K8s resources. Do you have a use case that this approach doesn't address, or are you just exploring the options right now? |
Beta Was this translation helpful? Give feedback.
For reasons of simplicity and ease of debugging, Linkerd does not support using external services to authorize requests in-line with traffic handling. Authorization is only configurable via on-cluster K8s resources. Do you have a use case that this approach doesn't address, or are you just exploring the options right now?