-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement deployment with client certificate #139
base: master
Are you sure you want to change the base?
Implement deployment with client certificate #139
Conversation
Implement client certificate creation using cert-manager as part of the deployment process. Doing so, one can directly have a usable certificate to connect to the webhook. The certificate, key and ca can be retrieved to be put in the webhook configuration using kubectl.
@sgaist Thank you for your contribution. |
Thank you @sgaist for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below. |
Hi @sgaist and thank you for opening this PR! I did test the PR and here is my input on it. Right now the oidc authenticator delegates authentication and authorization to a As a second point it feels weird to me to have an independent CA that verifies the presented client certificate and then the permissions to be checked against the The more I think about it reusing the kube-apiserver's authentication and authorization flags was probably not the best solution when the oidc webhook authenticator was first implemented. I think that independent auth capabilities will suite the project better instead of delegating everything to a This PR enhances the charts to expose an existing capability which I think was not meant to exist in the first place when the initial version of this project happened. Having written than I am reluctant to move forward with the PR, since it might bring more confusion and inconsistency to the authz topic w.r.t. this project. See also #142 |
Hi, Thanks for the insights. I thought that the certificate and thus the CA would be used for client authentication between the web hook and the API server. When you write that certificates generated by the API server will not work anymore, do you mean such as the one for the admin user when deploying a cluster using kubeadm ? If so, I did not experiment any issue with that specific certificate but I will do some more testing. Note that I do understand your hesitation with this patch, I just want to ensure I am not doing something that would break anybody's authentication. |
What this PR does / why we need it:
Implement client certificate creation using cert-manager as part of the deployment process.
Doing so, one can directly have a usable certificate to connect to the webhook. The certificate, key and ca can be retrieved to be put in the webhook configuration using kubectl.
Which issue(s) this PR fixes:
Fixes #129
Special notes for your reviewer:
Release note: