Authentication Failed



When using the python SDK to try to authenticate I am presented with the following:
couchbase.exceptions._AuthError_0x2 (generated, catch AuthError): <RC=0x2[Authentication failed. You may have provided an invalid username/password combination], There was a problem while trying to send/receive your request over the network. This may be a result of a bad network or a misconfigured client or server, C Source=(src/bucket.c,793)>

I have seen a bit elsewhere that we’re supposed to have a user per bucket that matches the bucket name. Is this still the case? For our particular setup this would mean creating 5 new users per cluster in each environment in each of our data centers. It would be much better for us if there were a way to auth to the cluster and perform operations on any bucket. Is this possible at all using the python client?

EDIT: This is using python SDK version 2.3.3 against Couchbase Community Edition v4.5.1-2844


I actually just now stumbled on a workaround. So long as I provide a password when I open the bucket things work.


Hi Matthew - Server 4.5 is password based only. It is Server 5 upwards that have moved to Role Based Authentication, with a workaround for backwards compatibility, where you can use a matching username and bucket name (and create the relevant username on the Server 5 dashboard with the password you will use to connect to the bucket).

For server <5, you do indeed use a bucket password as you discovered.

When migrating to Server 5 the better route is to create some specific roles and then assign permissions to given buckets. The permissions system is very flexible with several levels of granularity so hopefully you will not need to create many roles for this.

Many thanks,