По умолчанию Cassandra устанавливается без включенной аутентификации. Это означает, что любой может получить доступ к Кассандре. Вы можете включить аутентификацию после установки Edge или в рамках процесса установки.
Если вы решите включить аутентификацию в Cassandra, она будет использовать следующие учетные данные по умолчанию:
- имя пользователя = 'Кассандра'
- пароль = 'Кассандра'
Вы можете использовать эту учетную запись, установить для нее другой пароль или создать нового пользователя Cassandra. Добавляйте, удаляйте и изменяйте пользователей с помощью операторов Cassandra CREATE/ALTER/DROP USER
.
Дополнительные сведения см. в разделе Команды оболочки Cassandra SQL .
Включить аутентификацию Cassandra во время установки
Вы можете включить аутентификацию Cassandra во время установки. Однако, хотя вы можете включить аутентификацию при установке Cassandra, вы не можете изменить имя пользователя и пароль по умолчанию. Вам придется выполнить этот шаг вручную после завершения установки Cassandra.
Чтобы включить аутентификацию Cassandra во время установки, включите свойство CASS_AUTH
в файл конфигурации для всех узлов Cassandra:
CASS_AUTH=y # The default value is n.
Следующие компоненты Edge получают доступ к Cassandra:
- Сервер управления
- Процессоры сообщений
- Маршрутизаторы
- Qpid-серверы
- Серверы Postgres
Поэтому при установке этих компонентов необходимо установить следующие свойства в файле конфигурации, чтобы указать учетные данные Cassandra:
CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
Вы можете изменить учетные данные Cassandra после установки Cassandra. Однако если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, вам также необходимо обновить эти компоненты, чтобы использовать новые учетные данные.
Чтобы изменить учетные данные Cassandra после установки Cassandra:
- Войдите в любой узел Cassandra, используя инструмент
cqlsh
и учетные данные по умолчанию. Вам нужно изменить пароль только на одном узле, и он будет транслироваться на все узлы Cassandra в кольце:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
Где:
- cassIP — IP-адрес узла Cassandra.
- 9042 — это порт Cassandra по умолчанию.
- Пользователь по умолчанию —
cassandra
. - Пароль по умолчанию —
cassandra
. Если вы ранее меняли пароль, используйте текущий пароль. Если пароль содержит специальные символы, заключите его в одинарные кавычки.
- Выполните следующую команду в приглашении
cqlsh>
, чтобы обновить пароль:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- Выйдите из инструмента
cqlsh
, как показано в следующем примере:exit
- Если вы еще не установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, установите следующие свойства в файле конфигурации, а затем установите эти компоненты:
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- Если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, см. раздел «Сброс паролей Edge» , чтобы узнать о процедуре обновления этих компонентов для использования нового пароля.
Включить пост-установку аутентификации Cassandra
Чтобы включить аутентификацию:
- Обновите все компоненты Edge, которые подключаются к Cassandra, используя имя пользователя и пароль Cassandra.
- На всех узлах Cassandra включите аутентификацию.
- Установите имя пользователя и пароль Cassandra на любом одном узле. Вам нужно изменить учетные данные только на одном узле Cassandra, и они будут переданы на все узлы Cassandra в кольце.
Используйте следующую процедуру, чтобы обновить все компоненты Edge, которые взаимодействуют с Cassandra, с использованием новых учетных данных. Обратите внимание, что вы выполняете этот шаг до того, как фактически обновите учетные данные Cassandra:
- На узле Сервер управления выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
При желании вы можете передать команде файл, содержащий новое имя пользователя и пароль:
apigee-service edge-management-server store_cassandra_credentials -f configFile
Где configFile содержит следующее:
CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special chars
Эта команда автоматически перезапускает Сервер управления.
- Для каждой из следующих служб повторите шаг 1:
- Все процессоры сообщений
- Все маршрутизаторы
- Все серверы Qpid (edge-qpid-server)
- Серверы Postgres (edge-postgres-server)
При повторении шага 1 для каждой службы замените
edge-management-server
в приведенной выше команде на соответствующее имя службы. Например, когда вы выполняете шаг для службы маршрутизатора, используйте следующую команду:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
Используйте следующую процедуру, чтобы включить аутентификацию Cassandra и установить имя пользователя и пароль:
- Войдите на первый узел Cassandra.
- Выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra enable_cassandra_authentication -e y
Эта команда включает аутентификацию и перезапускает Cassandra.
- Повторите шаги 1 и 2 на всех узлах Cassandra.
- Войдите в любой узел Cassandra, используя инструмент
cqlsh
и учетные данные по умолчанию. Вам нужно изменить пароль только на одном узле Cassandra, и он будет передан на все узлы Cassandra в кольце:/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
Где
- cassIP — IP-адрес узла Cassandra.
- 9042 — порт Кассандра.
- Пользователь по умолчанию —
cassandra
. - Пароль по умолчанию —
cassandra
. Если вы ранее меняли пароль, используйте текущий пароль.
- Выполните следующую команду в приглашении
cqlsh>
, чтобы обновить пароль:ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- Выполните следующую команду в командной строке
cqlsh>
, чтобы гарантировать, что пространство ключей всегда доступно.Для одного дата-центра:
ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
Для двух дата-центров:
ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
- Выйдите из инструмента
cqlsh
:exit
- Запустите
nodetool repair
, чтобы убедиться, что изменение распространяется на все узлы Cassandra, как показано в следующем примере:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw 'password'] repair system_auth
Вам нужно будет передать свое имя пользователя и пароль только в том случае, если вы включили аутентификацию JMX для Cassandra .