ImpersonationProxy strategy configuration #2881
-
|
From the documentation, I understood that there are two supported strategies: Token Credential Request API and Impersonation Proxy (https://pinniped.dev/docs/reference/supported-clusters/). I assumed that the required strategy is selected based on the However, even when There might be a use case where a so-called “self-hosted” cluster is used, but the cluster is still not truly yours - for example, it may be managed by another infrastructure team or an outsourced team. In this scenario, you may not be supposed to deploy any workloads on the control plane. What is the difference between I tried a quick-and-dirty solution, and it seems it works as I expect: Thank you for the clarification and discussion. romanfurst |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
Hi @romanfurst, Thanks for your question. As you saw, you can force-enable the impersonation proxy by setting its mode to As you saw, there is currently no way to ask the kube cert agent strategy not to attempt to work. This is because we assume that if it can work, then you probably want to use it. If you wanted to prevent it from working, you could take away one of the permissions that its controller needs to auto-detect that it can work. For example, if you take away the Pinniped Concierge's permission to
I think we had envisioned that it would probably be that other team that installed and configured Pinniped for you on the cluster, since you need a very high level of permissions on the cluster to install Pinniped. It sounds like you have a slightly different use case than we had imagined, where you are the admin of a cluster but there are certain things that you are not supposed to do by convention even though you have permission to do them. I'd be curious to learn more and I wonder how common that case might be. |
Beta Was this translation helpful? Give feedback.
Hi @romanfurst,
Thanks for your question. As you saw, you can force-enable the impersonation proxy by setting its mode to
enabled. This will cause it to run even when it seems that it should not be needed. Also as you observed, this does not impact the kube cert agent, which independently does its best to run if possible. So you can have both working approaches on the same cluster, and both will be advertised in the CredentialIssuer's status as successfully working. By default, thepinniped get kubeconfigcommand will prefer using the kube cert agent mode (also known as the perhaps poorly named TokenCredentialRequestAPI mode), but you can tell it that you would rather use the impersonatio…