3
votes

We are trying to implement external authentication to Cassandra on DSE 4.7. Followed few of the guides where we have to extend IAuthenticator class but after doing that there is less documentation on how to integrate.

Is it more of plug and play where we extend IAuthenticator class build a jar and place it in lib(/usr/share/dse/resources/cassandra/lib) and change the yaml file accordingly or is it take a source code from Github build entire tree and then use?

        If so is Datastax's Cassandra available on Github?

What do we need to do to build external authentication other that LDAP and Kerberos in DSE 4.7?

2
Are you just trying to integrate with LDAP or Kerberos? If so, DSE already does this out of the box and you don't need to write any custom code. docs.datastax.com/en/datastax_enterprise/4.7//… - phact
nope..am trying to authenticate with OpenAM - Santosh B
Gotcha, thanks. See my answer below. - phact

2 Answers

2
votes

extend IAuthenticator class build a jar and place it in lib(/usr/share/dse/resources/cassandra/lib) and change the yaml file accordingly

^^ yes, this is the right approach.

Datastax's Cassandra available on Github?

Not exactly. You'll see the version of c* that ships with DSE in the release notes, you can check the source in the apache/cassandra github and it will match (up to and excluding the build number). The exact c* build under DSE will have some critical patches from future versions and that exact source code is not avaliable. However, the dot release in apache/cassandra is good enough for all intents and purposes.

I.E. look at https://github.com/apache/cassandra/tree/cassandra-2.1.8 for 4.7.1

0
votes

As mentioned by @Mikea we need to override ISaslAwareAuthenticator and while using Cassandra in DSE need to be very sure of Cassandra version and then dig into appropriator Github repo.