21

Cassandraデータベースで最初のユーザーを作成するにはどうすればよいですか?

私は試した:

CREATE USER username WITH PASSWORD "";

そしてそれは言います:

Bad Request: Only superusers are allowed to perform CREATE USER queries

しかし、この試行の前にユーザーを作成したことがないので、cassandra データベースで最初のユーザーを作成するにはどうすればよいでしょうか?

これは鶏が先か卵が先かという問題のようで少し奇妙に思えますが、人々は Cassandra を使用しているので、どこかに解決策があるはずです。

4

4 に答える 4

33

認証と承認を有効にすると、次のようにデフォルトの Cassandra 管理者ユーザーとして (ローカルの Cassandra インスタンスに) ログインできます。

./cqlsh localhost -u cassandra -p cassandra

Windows サーバーで Cassandra を実行している場合は、Python で呼び出す必要があると思います。

python cqlsh localhost -u cassandra -p cassandra

入ったら、最初のタスクは別のスーパーユーザーアカウントを作成することです.

CREATE USER dba WITH PASSWORD 'bacon' SUPERUSER;

次に、現在の Cassandra スーパー ユーザーのパスワードを別のパスワードに設定することをお勧めします。新しいスーパー ユーザーでは、デフォルトの Cassandra アカウントが再び必要になることはありません。

ALTER USER cassandra WITH PASSWORD 'dfsso67347mething54747long67a7ndincom4574prehensi562ble';

詳細については、次の DataStax 記事を参照してください: DataStax Enterprise および Apache Cassandra における内部認証および承認セキュリティのクイック ツアー

于 2014-03-06T14:41:11.943 に答える
7

変化する

authenticator: AllowAllAuthenticator 

authenticator: PasswordAuthenticator 

cassandra.yaml設定ファイルに追加して、Cassandra を再起動します。

これにより、再起動時にスーパーユーザー cassandra が作成されます。Phthon27、thrift-0.91、Cassandra (datastax community edition 2.0.9) などがインストールされていることを確認してください。cassandra にログインすると、スーパーユーザーとして入ることができます。新しいスーパーユーザーを作成し、既存のスーパーユーザーのパスワードも変更できるようになりました。

python cqlsh localhost -u cassandra -p cassandra 
Connected to Test Cluster at localhost:9160. 
[cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

ヘルプには HELP を使用してください。

cqlsh> create user abc with password 'xyz' superuser; 
cqlsh> alter user cassandra with password 'gaurav'; 
cqlsh> exit
于 2014-09-10T20:26:44.447 に答える
3

Re: 認証と承認を有効にしたら (BryceAtNetwork23 による 3 月 6 日 14:41 のコメントより)

まず、認証をセットアップするために承認を変更する必要がありますか? 私はそうではないと思います。

第 2 に、データセンター スタイルのレプリケーション セットアップを使用している場合、承認のセットアップは簡単ではありません。次の手順を使用して承認をセットアップします。

  • conf/cassandra.yaml で、すべてのノードのオーセンティケーターを AllowAllAuthenticator から PasswordAuthenticator に変更しました
  • すべてのノードを再起動しました
  • 上記のようにデフォルトの「cassandra」パスワードを変更し、他のスーパーユーザーを追加しました
  • 「ALTER KEYSPACE system_auth WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'MY_DATACENTER_NAME':N }」を実行して、system_auth キースペースを (cassandra.yaml ファイルの指示に従って) 冗長になるように変更しました。
  • N をデータセンターのノード数に設定しました (つまり、完全に冗長化)。
  • 各ノードで bin/nodetool repair を連続して実行しました

彼らが何をしているかを知っている人々にとって、これは合理的に聞こえるでしょうか?

于 2014-07-21T18:09:19.903 に答える
3

認証の使用を開始するための、デフォルトのスーパーユーザーのユーザー名とパスワードのペアはcassandra/cassandraです。これでニワトリと卵の問題は解決するはずです。

ソース: http://www.datastax.com/docs/datastax_enterprise3.0/security/native_authentication

于 2014-03-06T03:36:33.053 に答える