По умолчанию Cassandra устанавливается без включенной аутентификации. Это означает, что любой пользователь, имеющий доступ к вашему серверу Cassandra, может запрашивать базу данных Cassandra без какой-либо аутентификации. Вы можете включить аутентификацию после установки Edge или в процессе установки.
Если вы решите включить аутентификацию в Cassandra, не указывая собственные учетные данные, будут использоваться следующие учетные данные по умолчанию:
- username = 'cassandra'
- password = 'cassandra'
Вы можете использовать этот аккаунт, задать для него другой пароль или создать новый аккаунт пользователя Cassandra. Добавляйте, удаляйте и изменяйте пользователей с помощью операторов Cassandra CREATE/ALTER/DROP USER.
Дополнительную информацию можно найти в статье Команды оболочки Cassandra SQL.
Как включить аутентификацию Cassandra во время установки
Вы можете включить аутентификацию Cassandra во время установки. Однако, хотя вы можете включить аутентификацию при установке Cassandra, вы всегда должны использовать имя пользователя и пароль cassandra по умолчанию (‘cassandra’:’cassandra’) во время установки.
Если вы хотите использовать учетные данные Cassandra, отличные от стандартных, после установки вам нужно будет повторно включить аутентификацию Cassandra, следуя инструкциям, приведенным
здесь.
Если вы хотите включить аутентификацию Cassandra во время новой установки Cassandra, включите свойства ниже в файл конфигурации для всех узлов Cassandra:
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
Затем будет установлена база данных Cassandra с включенной аутентификацией и учетными данными cassandra:cassandra по умолчанию.
После завершения первоначальной установки вы можете выполнить одно или несколько из следующих действий:
- Создайте альтернативного пользователя для аутентификации Cassandra, следуя этим инструкциям.
- Измените пароль пользователя Cassandra по умолчанию, следуя этим инструкциям.
- Установите компоненты Edge, которые используют Cassandra, чтобы использовать учетные данные, заданные выше.
Компоненты Edge, которые подключаются к Cassandra
Следующие компоненты Edge имеют доступ к Cassandra:
- Сервер управления
- Message Processor
- Маршрутизаторы
- Серверы Qpid
- Серверы Postgres
Установка компонентов Edge при включенной аутентификации Cassandra
Если при первой установке этих компонентов Edge у вас включена аутентификация Cassandra, вам необходимо указать следующие настройки в файле конфигурации для автоматической установки:
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
Вы можете изменить учетные данные Cassandra после установки Cassandra. Однако если вы уже установили Management Server, Message Processor, Router, серверы Qpid или Postgres, вам также необходимо обновить эти компоненты, чтобы использовать новые учетные данные, как описано в следующем разделе.
Обновите компоненты Edge, которые подключаются к Cassandra
Используйте следующую процедуру, чтобы обновить все компоненты Edge, которые взаимодействуют с Cassandra, с помощью новых учетных данных. Обратите внимание, что этот шаг необходимо выполнить до обновления учетных данных Cassandra:
- На узле Management Server выполните следующую команду:
/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 characters.
Эта команда автоматически перезапускает сервер управления.
- Повторите шаг 1 для каждого из следующих сервисов:
- Все процессоры сообщений
- Все маршрутизаторы
- Все серверы Qpid (edge-qpid-server)
- Серверы Postgres (edge-postgres-server)
Повторяя шаг 1 для каждого сервиса, заменяйте
edge-management-serverв команде выше на название нужного сервиса. Например, для сервиса Router используйте следующую команду:/opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
Как включить аутентификацию Cassandra после установки
В следующих разделах объясняется, как включить аутентификацию Cassandra после установки.
Как включить аутентификацию Cassandra в конфигурации с одним центром обработки данных
Для настройки Apigee на основе одного центра обработки данных, в котором уже установлена Cassandra, вы можете:
- Включите аутентификацию Cassandra в первый раз, используя пользователя Cassandra по умолчанию (
cassandra:cassandra) или создав совершенно нового суперпользователя. Для этого выполните следующие действия:- Следуйте инструкциям в разделе Как включить аутентификацию Cassandra в первый раз.
- Обновите компоненты Edge, которые подключаются к Cassandra, указав имя пользователя и пароль Cassandra.
- Измените пароль существующего пользователя Cassandra.
Если вы включили аутентификацию Cassandra с использованием учетных данных Cassandra по умолчанию (
cassandra:cassandra), вы можете изменить пароль, выполнив следующие действия:- Измените пароль пользователя Cassandra.
- Обновите компоненты Edge, которые подключаются к Cassandra, указав имя пользователя и пароль Cassandra.
Примечание. Пользователь Cassandra – это специальный пользователь в Cassandra. Для аутентификации с использованием этого пользователя требуется согласованность QUORUM. Подробнее об уровнях согласованности Cassandra…
Как включить аутентификацию Cassandra при наличии нескольких центров обработки данных
При расширении центров обработки данных выполните действия, описанные в одном из следующих сценариев, в зависимости от того, какой из них соответствует вашей настройке.
Сценарий 1. В существующем центре обработки данных включена аутентификация Cassandra
Если аутентификация Cassandra уже включена в существующем центре обработки данных с учетными данными
cassandra:cassandraпо умолчанию, выполните следующие действия:- Настройте новый центр обработки данных с учетными данными Cassandra:Cassandra по умолчанию и CASS_AUTH=y. Подробнее о том, как включить аутентификацию Cassandra в первый раз…
- Установите компоненты Edge в новом центре обработки данных, используя учетные данные Cassandra по умолчанию.
Если аутентификация Cassandra уже включена в существующем центре обработки данных с учетными данными, отличными от стандартных, выполните следующие действия:
- Настройте новый центр обработки данных с учетными данными Cassandra:Cassandra по умолчанию и CASS_AUTH=y. Подробнее о том, как включить аутентификацию Cassandra в первый раз…
- Выполните действия из раздела Как включить аутентификацию Cassandra в первый раз, чтобы повторно использовать учетные данные из существующего центра обработки данных (если в нем используются учетные данные, отличные от заданных по умолчанию).
- Установите компоненты Edge в новом центре обработки данных, используя учетные данные Cassandra, отличные от заданных по умолчанию.
Сценарий 2. В существующем центре обработки данных не включена аутентификация Cassandra
Если аутентификация Cassandra не включена, выполните следующие действия:
- Настройте новый центр обработки данных без аутентификации Cassandra.
- Выполните инструкции из раздела Как включить аутентификацию Cassandra в первый раз, чтобы включить аутентификацию Cassandra в кластере (после расширения).
- Обновите компоненты Edge, которые подключаются к Cassandra, следуя этим инструкциям.
Как включить аутентификацию Cassandra в первый раз
Чтобы включить аутентификацию 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 # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # 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 change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # 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=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra 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.
- Повторите шаги 1 и 2 на всех узлах Cassandra по очереди.
Как изменить учетные данные Cassandra после установки Cassandra
Чтобы изменить учетные данные 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.