Как создать первого пользователя в Cassandra DB

Как создать первого пользователя в базе данных Cassandra?

пробовал:

CREATE USER username WITH PASSWORD "";

и говорит:

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

но я никогда не создавал пользователя до этой попытки, так как вы создаете первого пользователя в базе данных cassandra?

4 ответов


после того, как вы включили аутентификацию и авторизацию, вы можете войти (в локальный экземпляр Cassandra) в качестве пользователя администратора Cassandra по умолчанию, как это:

./cqlsh localhost -u cassandra -p cassandra

если вы используете Cassandra на сервере Windows, я считаю вам нужно вызвать его с помощью Python:

python cqlsh localhost -u cassandra -p cassandra

как только вы войдете, вашей первой задачей должно быть создание другой учетной записи супер пользователя.

CREATE USER dba WITH PASSWORD 'bacon' SUPERUSER;

далее, это действительно хорошая идея, чтобы установить текущее Кассандра пароль суперпользователя к чему-то еще...желательно что-нибудь длинное и непонятное. С вашим новым супер-пользователем вам больше не понадобится учетная запись Cassandra по умолчанию.

ALTER USER cassandra WITH PASSWORD 'dfsso67347mething54747long67a7ndincom4574prehensi562ble';

для получения дополнительной информации ознакомьтесь с этой статьей DataStax:краткий обзор внутренней аутентификации и безопасности авторизации в DataStax Enterprise и Apache Cassandra


чтобы начать использовать аутентификацию, пара имя пользователя/пароль суперпользователя по умолчанию -cassandra/cassandra. Это должно решить проблему курицы и яйца.

источник: http://www.datastax.com/docs/datastax_enterprise3.0/security/native_authentication


Re: после того, как вы включили аутентификацию и авторизацию (от 6 марта в 14:41 комментарий BryceAtNetwork23)

во-первых, требуется ли изменение авторизации для настройки аутентификации? Полагаю, нет.

во-вторых, настройка авторизации не совсем тривиальна, если у вас есть настройка репликации стиля центра обработки данных. I настройка авторизации с помощью следующих шагов:

  • в conf/Кассандра.yaml, изменен Аутентификатор с AllowAllAuthenticator для PasswordAuthenticator для всех узлов
  • перезагрузил все узлы
  • изменен пароль по умолчанию "Кассандра", как описано выше, и добавлены другие суперпользователи
  • изменил пространство ключей system_auth на избыточное (согласно инструкциям в cassandra.yaml-файл), запустив: "ALTER KEYSPACE system_auth WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'MY_DATACENTER_NAME': N}"
  • Я установил N был установлен на количество узлов в моем центр обработки данных (т. е., полностью избыточный)
  • Ran bin / nodetool repair на каждом узле последовательно

Это звучит разумно для людей, которые знают, что они делают?


изменить

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]

использовать Помощь за помощью.

cqlsh> create user abc with password 'xyz' superuser; 
cqlsh> alter user cassandra with password 'gaurav'; 
cqlsh> exit