I have done it in production without downtime on apache cassandra by manipulating the user creation using iptables on first node.
Sent from my iPhone > On Aug 2, 2016, at 9:11 PM, DuyHai Doan <doanduy...@gmail.com> wrote: > > Thank you Sean for the excellent and details explanation, a lot of people out > there start their Cassandra in production without security and wake up some > days, too late > >> On Wed, Apr 13, 2016 at 10:54 PM, <sean_r_dur...@homedepot.com> wrote: >> Do the clients already send the credentials? That is the first thing to >> address. >> >> >> >> Setting up a cluster for authentication (and authorization) requires a >> restart with the properties turned on in cassandra.yaml. However, the actual >> keyspace (system_auth) and tables are not created until the last node is >> restarted with the parameters changed. So, as you are changing each node, >> what you get is individual nodes that are requiring a password, but have no >> system_auth keyspace to authenticate against. Thus, clients cannot connect >> to these nodes. >> >> >> >> With open source Cassandra you cannot implement authentication without at >> least a brief degradation of service (as nodes can’t authenticate) and an >> outage (while the keyspace and tables are created, users are created, and >> permissions are granted). The outage can be relatively brief, depending on >> cluster size, CL, speed to restart, etc. >> >> >> >> With DataStax Enterprise, there is a TransitionalAuthenticator (and >> Authorizer) that lets you implement security without a full outage. You >> basically switch to the Transitional classes so that system_auth gets >> created. You create all your security objects. Then you switch to >> PasswordAuthenticator and CassandraAuthorizer. It takes two rolling bounces >> to get it done, but no outage. >> >> >> >> I have done both of the above. The DataStax stuff is very helpful, when >> downtime is a concern. Perhaps you could write your own implementation of >> the various interfaces to do something like TransitionalAuthenticator, but >> we have seen that the security interfaces change, so you will probably >> break/rewrite in later versions. (For one-time use, maybe it is worth a >> shot?) >> >> >> >> For anyone setting up new clusters, just start with security turned on so >> that you don’t end up in the It’s-Production-Can’t-Stop quandary above. >> >> >> >> >> >> Sean Durity >> >> >> >> From: Vigneshwaran [mailto:vigneshwaran2...@gmail.com] >> Sent: Wednesday, April 13, 2016 3:36 AM >> To: user@cassandra.apache.org >> Subject: Set up authentication on a live production cluster >> >> >> >> Hi, >> >> >> >> I have setup a 16 node cluster (8 per DC; C* 2.2.4) up and running in our >> production setup. We use Datastax Java driver 2.1.8. >> >> >> >> I would like to set up Authentication and Authorization in the cluster >> without breaking the live clients. >> >> >> >> From the references I found by googling, I can setup credentials for a new >> cluster. But it is not clear to me what steps I should take for setting up >> credentials in an already running cluster without breaking existing clients. >> >> >> >> Can someone clarify me or link me to a reference I may have missed? I'd >> really appreciate it. >> >> >> >> Thank you, >> Vigneshwaran >> >> >> >> The information in this Internet Email is confidential and may be legally >> privileged. It is intended solely for the addressee. Access to this Email by >> anyone else is unauthorized. If you are not the intended recipient, any >> disclosure, copying, distribution or any action taken or omitted to be taken >> in reliance on it, is prohibited and may be unlawful. When addressed to our >> clients any opinions or advice contained in this Email are subject to the >> terms and conditions expressed in any applicable governing The Home Depot >> terms of business or client engagement letter. The Home Depot disclaims all >> responsibility and liability for the accuracy and content of this attachment >> and for any damages or losses arising from any inaccuracies, errors, >> viruses, e.g., worms, trojan horses, etc., or other items of a destructive >> nature, which may be contained in this attachment and shall not be liable >> for direct, indirect, consequential or special damages in connection with >> this e-mail message or its attachment. >