Как создать первого пользователя в 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