По умолчанию Cassandra устанавливается без включенной аутентификации. Это означает, что любой может получить доступ к Кассандре. Вы можете включить аутентификацию после установки Edge или в рамках процесса установки.
Внимание: Apigee рекомендует использовать пользователя Cassandra, отличного от «cassandra» по умолчанию (пользователя, отличного от «cassandra»), чтобы включить аутентификацию Cassandra для производственного использования. См. раздел Включение аутентификации Cassandra после установки . Использование пользователя Cassandra по умолчанию («cassandra») требует поддержания согласованности кворума во всем кластере. Это означает, что для успешной аутентификации запроса Cassandra требуется активный кворум узлов в кластере. Если один центр обработки данных Cassandra не работает, кворум узлов может быть недоступен для успешной аутентификации запроса в рабочем центре обработки данных. Чтобы избежать этой проблемы, используйте пользователя Cassandra не по умолчанию.
Вы можете добавлять, удалять и изменять пользователей с помощью операторов Cassandra CREATE/ALTER/DROP USER
. Дополнительные сведения см. в разделе Команды оболочки Cassandra SQL .
Включить аутентификацию Cassandra во время установки Вы можете включить аутентификацию Cassandra во время установки.
ПРИМЕЧАНИЕ. Используйте эту процедуру при установке Cassandra с использованием параметров «-pc», «-p ds», «-p sa», «-p aio», «-p asa» и «-p ebp». Чтобы включить аутентификацию Cassandra во время установки, включите свойство CASS_AUTH
в файл конфигурации для всех узлов Cassandra:
CASS_AUTH=y # The default value is n. Следующие компоненты Edge получают доступ к Cassandra:
Сервер управления Процессоры сообщений Маршрутизаторы Qpid-серверы Серверы Postgres При установке этих компонентов необходимо установить имя пользователя и пароль в файле конфигурации:
CASS_USERNAME=cassandra_username
CASS_PASSWORD=cassandra_password Примечание. Хотя вы можете использовать имя пользователя по умолчанию ( 'cassandra'
) и пароль ( 'cassandra'
), Apigee рекомендует вам выбрать другое имя пользователя и пароль для производственного использования. Вы можете изменить учетные данные Cassandra после установки Cassandra. Однако если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, вам также необходимо обновить эти компоненты, чтобы использовать новые учетные данные.
Чтобы изменить учетные данные Cassandra после установки Cassandra:
Войдите в любой узел Cassandra, используя инструмент cqlsh
и учетные данные по умолчанию. Вам нужно изменить пароль только на одном узле, и он будет транслироваться на все узлы Cassandra в кольце:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra_username -p cassandra_password Где:
cassIP — IP-адрес узла Cassandra. 9042 — это порт Cassandra по умолчанию. Выполните следующую команду в приглашении cqlsh>
чтобы обновить пароль:
ALTER USER cassandra_username/var> WITH PASSWORD 'new_cassandra_password '; Выйдите из инструмента cqlsh
, как показано в следующем примере:
exit Если вы еще не установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, установите следующие свойства в файле конфигурации, а затем установите эти компоненты:
CASS_USERNAME=cassandra_username
CASS_PASSWORD=new_cassandra_password Если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, см. раздел «Сброс паролей Edge» , чтобы узнать о процедуре обновления этих компонентов для использования нового пароля. Включить пост-установку аутентификации Cassandra Чтобы включить аутентификацию после установки:
Обновите компоненты Edge, которые подключаются к 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 и установить имя пользователя и пароль:
Создайте файл автоматической конфигурации с содержимым, показанным ниже:
# Specify IP address or DNS name of cassandra node
IP1=192.168.1.1
IP2=192.168.1.2
IP3=192.168.1.3
# Must resolve to IP address or DNS name of host
HOSTIP=$(hostname -i)
# Set to ‘y’ to enable Cassandra authentication.
CASS_AUTH=y # Possible values are ‘y/n’
# Cassandra username. If it does not exist, this user would be created as a SUPERUSER
CASS_USERNAME=cassandra_username # Default value is cassandra - don't use for production
# Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password
CASS_PASSWORD=cassandra_password # Default value is cassandra - don't use for production
# Space-separated IP/DNS names of the Cassandra hosts
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
# Username of an existing C* user. Only needed if you have disabled or changed details of the default cassandra user(‘cassandra’)
CASS_EXISTING_USERNAME=existing_cassandra_username
# Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’)
CASS_EXISTING_PASSWORD=existing_cassandra_password
# Cassandra port
CASS_PORT=9042 # The default port is 9042. Войдите на первый узел Cassandra и выполните следующую команду:
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG При желании вы можете передать свойства в качестве аргументов команды сценарию, как показано в следующем примере:
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=existing_cassandra_username CASS_EXISTING_PASSWORD=existing_cassandra_password CASS_USERNAME=cassandra_username CASS_PASSWORD=cassandra_password CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication Примечания:
Для учетных данных Cassandra по умолчанию приведенная выше команда включает аутентификацию Cassandra и перезапускает Cassandra. Для учетных данных, отличных от заданных по умолчанию, команда также изменяет коэффициент репликации, создает суперпользователя и запускает восстановление в system_auth keyspace
. Повторите шаги 1 и 2 на всех узлах Cassandra.