Skip to content
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

[ZEPPELIN-4324]: Support two-way SSL authentication. #3441

Closed
wants to merge 1 commit into from

Conversation

fdeantoni
Copy link
Contributor

What is this PR for?

Livy can run behind a reverse proxy that requires SSL authentication.
To support this, three additional properties have been added:

  • zeppelin.livy.ssl.keyStore
  • zeppelin.livy.ssl.keyStorePassword
  • zeppelin.livy.ssl.keyStoreType

The keystore type can either be JKS or PKCS12. The default is JKS. To
keep things streamlined, a property zeppelin.livy.ssl.trustStoreType
has been been added as well. Default value is also JKS.

What type of PR is it?

Improvement

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4324

How should this be tested?

Set up a livy instance behind a reverse proxy (e.g. HAProxy) that requires two way SSL authentication to access it. Configure the Livy interpreter to access this instance by setting the following properties:

  • zeppelin.livy.ssl.keyStore: Path to keystore containing client certificate and key
  • zeppelin.livy.ssl.keyStorePassword: Password of keystore
  • zeppelin.livy.ssl.keyStoreType: Either JKS or PKCS12
  • zeppelin.livy.ssl.trustStore: Path to trust store containing proxy host certificate
  • zeppelin.livy.ssl.trustStorePassword: Password of trust store
  • zeppelin.livy.ssl.keyStoreType: Either JKS or PKCS12

Livy can run behind a reverse proxy that requires SSL authentication.
To support this, three additional properties have been added:
 - zeppelin.livy.ssl.keyStore
 - zeppelin.livy.ssl.keyStorePassword
 - zeppelin.livy.ssl.keyStoreType

The keystore type can either be JKS or PKCS12. The default is JKS. To
keep things streamlined, a property `zeppelin.livy.ssl.trustStoreType`
has been been added as well. Default value is also JKS.
@zjffdu
Copy link
Contributor

zjffdu commented Sep 9, 2019

Thanks for the contribution @fdeantoni Does it keep backward compatibility ? I mean does it work in the non-proxy mode with the old configuration.

And have you configured your travis ? I don't see the travis build link here.

@fdeantoni
Copy link
Contributor Author

The changes should be backwards compatible. The keyStore is only added if the property zeppelin.livy.ssl.keyStore is non-empty. If not provided behaviour should be exactly the same as before.

I just set up travis and triggered a build: https://travis-ci.org/fdeantoni/zeppelin

@zjffdu
Copy link
Contributor

zjffdu commented Sep 9, 2019

Thanks, PR LGTM

@asfgit asfgit closed this in 79f751a Sep 10, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants