-
Notifications
You must be signed in to change notification settings - Fork 59
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
control-service: add kerberos auth provider #755
Conversation
Signed-off-by: mrMoZ1 <[email protected]>
...control-service/projects/pipelines_control_service/src/main/resources/application.properties
Outdated
Show resolved
Hide resolved
...service/src/main/java/com/vmware/taurus/authorization/config/KerberosAuthProviderConfig.java
Outdated
Show resolved
Hide resolved
...service/src/main/java/com/vmware/taurus/authorization/config/KerberosAuthProviderConfig.java
Outdated
Show resolved
Hide resolved
...service/src/main/java/com/vmware/taurus/authorization/config/KerberosAuthProviderConfig.java
Outdated
Show resolved
Hide resolved
...service/src/main/java/com/vmware/taurus/authorization/config/KerberosAuthProviderConfig.java
Outdated
Show resolved
Hide resolved
...nes_control_service/src/main/java/com/vmware/taurus/authorization/config/KerberosConfig.java
Outdated
Show resolved
Hide resolved
...control-service/projects/pipelines_control_service/src/main/resources/application.properties
Outdated
Show resolved
Hide resolved
...control-service/projects/pipelines_control_service/src/main/resources/application.properties
Outdated
Show resolved
Hide resolved
...service/src/main/java/com/vmware/taurus/authorization/config/KerberosAuthProviderConfig.java
Outdated
Show resolved
Hide resolved
Signed-off-by: mrMoZ1 <[email protected]>
Can you provide a bit more details around testing done How did you verify the authentication passes successfully ? |
Signed-off-by: mrMoZ1 <[email protected]>
Signed-off-by: mrMoZ1 <[email protected]>
...ol-service/projects/base/src/main/java/com/vmware/taurus/security/SecurityConfiguration.java
Outdated
Show resolved
Hide resolved
...ol-service/projects/base/src/main/java/com/vmware/taurus/security/SecurityConfiguration.java
Outdated
Show resolved
Hide resolved
Signed-off-by: mrMoZ1 <[email protected]>
Signed-off-by: mrMoZ1 <[email protected]>
projects/control-service/projects/base/src/main/java/com/vmware/taurus/base/FeatureFlags.java
Outdated
Show resolved
Hide resolved
...ol-service/projects/base/src/main/java/com/vmware/taurus/security/SecurityConfiguration.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I made some minor comment you should look.
But I am ok with merging it.
Signed-off-by: mrMoZ1 <[email protected]>
* [helm-chart]: add kerberos auth properties to helm chart what: Added new properties to the helm chart as requested here: #755 (comment) The new properties expose kerberos authentication configuration properties in the helm chart which are propagated to control-service. why: We are introducing a new KerberosAuthProvider in control-service and we need to expose configuration properties through the helm chart. testing: Deployed on local minikube cluster. Made sure secret is created and populated with correct files. Inspected control-service pods, made sure the new env variables are present and that secrets exist. Signed-off-by: Momchil Zhivkov [email protected] Co-authored-by: ivakoleva <[email protected]>
control-service: add OAuth2 enable/disable flag why: As a part of #755 we introduced a new authentication method. This change adds another flag which disables/enables OAuth2 authentication as requested here: #755 (comment) This pull request should be reviewed after #755 is. what: Added a new property and logic that adds OAuth2 to the control-service security filters if enabled. OAuth2 is enabled by default - this setting shouldn't introduce any regressions to other existing code. Security is disabled by default still. testing: On a locally running control-service made sure that endpoints are secure and proper filters where invoked when calling with and without an authenticated OAuth2 client through vdkcli: vdk execute --list -t supercollider -n job -u http://localhost:8092 Signed-off-by: mrMoZ1 <[email protected]>
what: Added a new AuthProviderConfig which should work with kerberos.
why: users requested Kerberos authentication in parallel with OAuth2
todo: Expose configuration properties against env variables/helm charts
we need to decide which ones to expose and on default values.
testing: Locally ran control service, made sure enable/disable flag works.
Ran requests on a locally running instance. Verified that: both OAuth2 and
SPNEGO filters are used when making requests and that users can authenticate
with either OAuth2 or Kerberos credentials. Requests were made with an
authenticated vdkcli:
vdk execute --list -t supercollider -n job -u http://localhost:8092
and with a curl command for the kerberos authentication:
curl -vvv --negotiate -u : "http://localhost:8092/data-jobs/for-team/supercollider/jobs/smoke-test/executions"
Signed-off-by: Momchil Zhivkov [email protected]