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

Add Kerberos authentication support #130

Closed
dcl opened this issue Sep 27, 2013 · 11 comments
Closed

Add Kerberos authentication support #130

dcl opened this issue Sep 27, 2013 · 11 comments

Comments

@dcl
Copy link

dcl commented Sep 27, 2013

As of version 3.4, Zookeeper allows authentication via Kerberos, but at the moment only the Java client supports it. Are there plans to add this to Kazoo in the near future?

@buddyadmin
Copy link

Is SASL & JAAS supported with Kazoo?

@hannosch
Copy link
Contributor

Currently there's no SASL/Kerberos support in kazoo - pull requests welcome :)

@mkomitee
Copy link

I've got working code based on the PyGSSAPI library (which implements a nice SASL/GSSAPI object that made it quite simple to do so). I'm seeing if I can get permission to release it.

@mkomitee
Copy link

I've ported my patch to the master branch (It was previously written against 1.3.1) and it works fine. There are a few caveats:

  1. The released version of PyGSSAPI which it uses is python 2.7+ only, so this would break python 2.6 backwards compatibility. I have a very small patch for PyGSSAPI which makes it work with 2.6 (they used one dictionary expression)
  2. The released version of PyGSSAPI has a bug in it which causes it to not support SASL Authentication with no negotiated security layer (which is valid) despite it looking like they explicitly tried to support it. Since in general you want a security layer involved, I can see why their tests missed it. Unfortunately ZooKeeper doesn't support SASL security layers. I have a patch to the released version of PyGSSAPI which fixes this.

The only real problem I foresee is that PyGSSAPI seems to be in the midst of a massive refactor and I'm not sure when they'll be cutting a new release that includes my fixes (and to be clear, I haven't submit them or even approached them about it yet).

It also looks like they've changed their API enough that my current patch (to kazoo) will not currently work with their dev branch.

... for the short term (and if they can't/won't cut a new release based on their currently released 1.0.0), would we be interested in vendoring PyGSSAPI?

@mkomitee
Copy link

I took a closer look through PyGSSAPI's dev branch and it looks like it's not so much an API change as it's just incomplete.

@bbangert
Copy link
Member

Does PyGSSAPI work on Python 3? Or will it need some guard statements around it to enable it only on Python 2.6/2.7?

@romainr
Copy link

romainr commented Feb 13, 2015

@mkomitee, do you have your current patches pushed somewhere?

We are going to have a look (we use PyKerberos, not PyGSSAPI) to see how long it would take.

@mkomitee
Copy link

mkomitee commented Mar 1, 2015

I'll see if I can dig them up.

@romainr
Copy link

romainr commented Mar 2, 2015

Thanks, right now we went up with SASL module in #284

@mkomitee
Copy link

mkomitee commented Mar 3, 2015

I submit #287 to serve as a reference. I hope it helps.

@bbangert
Copy link
Member

bbangert commented Jun 1, 2017

I'd be happy to merge a new PR for this, until there's more traction on this I'm closing this issue.

@bbangert bbangert closed this as completed Jun 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants