Включить аутентификацию Cassandra

По умолчанию Cassandra устанавливается без включенной аутентификации. Это означает, что любой, у кого есть доступ к вашему серверу Cassandra, может запросить базу данных Cassandra без какой-либо аутентификации. Вы можете включить аутентификацию после установки Edge или в рамках процесса установки.

Если вы решите включить аутентификацию в 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:

  • Сервер управления
  • Процессоры сообщений
  • Маршрутизаторы
  • Qpid-серверы
  • Серверы Postgres

Установите компоненты Edge, если включена аутентификация Cassandra.

Если при первой установке этих компонентов Edge у вас включена аутентификация Cassandra, вам необходимо указать следующие параметры в файле автоматической конфигурации:

CASS_AUTH=Y
CASS_USERNAME=<valid username in Cassandra>
CASS_PASSWORD=<password for the above username>

Вы можете изменить учетные данные Cassandra после установки Cassandra . Однако если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, вам также необходимо обновить эти компоненты, чтобы они использовали новые учетные данные, как описано в следующем разделе.

Обновите компоненты Edge, которые подключаются к Cassandra.

Используйте следующую процедуру, чтобы обновить все компоненты Edge, которые взаимодействуют с Cassandra, с использованием новых учетных данных. Обратите внимание, что вы должны выполнить этот шаг до того, как фактически обновите учетные данные Cassandra:

  1. На узле Сервер управления выполните следующую команду:
    /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.

    Эта команда автоматически перезапускает Сервер управления.

  2. Повторите шаг 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 после установки.

    Включите аутентификацию Cassandra в одном центре обработки данных.

    Для установки Apigee на базе одного центра обработки данных, в которой уже установлена ​​Cassandra, вы можете:

    Примечание. Пользователь «Кассандра» — это специальный пользователь в Кассандре. Аутентификация с использованием этого пользователя требует согласованности QUORUM. См. раздел «Об уровнях согласованности Cassandra» .

    Включить аутентификацию Cassandra при наличии нескольких центров обработки данных

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

    Сценарий 1. В существующем центре обработки данных включена аутентификация Cassandra.

    Если аутентификация Cassandra уже включена в существующем центре обработки данных с учетными данными cassandra:cassandra по умолчанию, выполните следующие действия:

    1. Настройте новый центр обработки данных с учетными данными Cassandra:Cassandra по умолчанию и CASS_AUTH=y. См. раздел «Первое включение аутентификации Cassandra» .
    2. Установите компоненты Edge в новом центре обработки данных, используя учетные данные Cassandra по умолчанию.

    Если аутентификация Cassandra уже включена в существующем центре обработки данных с учетными данными, отличными от стандартных, выполните следующие действия:

    1. Настройте новый центр обработки данных с учетными данными Cassandra:Cassandra по умолчанию и CASS_AUTH=y. См. раздел «Первое включение аутентификации Cassandra» .
    2. Выполните инструкции . Включите аутентификацию Cassandra в первый раз , чтобы повторно использовать учетные данные из существующего центра обработки данных (если существующий использует учетные данные, отличные от учетных данных по умолчанию).
    3. Установите компоненты Edge в новом центре обработки данных, используя учетные данные Cassandra, отличные от стандартных.

    Сценарий 2. В существующем центре обработки данных не включена аутентификация Cassandra.

    Если аутентификация cassandra не включена, выполните следующие действия:

    1. Настройте новый центр обработки данных без аутентификации Cassandra.
    2. Следуйте инструкциям по включению аутентификации Cassandra в первый раз , чтобы включить аутентификацию Cassandra во всем кластере (после расширения).
    3. Обновите компоненты Edge, которые подключаются к Cassandra, выполнив действия, описанные здесь .

    Включите аутентификацию Cassandra в первый раз

    Используйте следующую процедуру, чтобы включить аутентификацию Cassandra в первый раз или создать новое имя пользователя и пароль Cassandra:

    1. Создайте файл автоматической конфигурации с содержимым, показанным ниже:
      # 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.
    2. Войдите на первый узел 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.
    3. Повторите шаги 1 и 2 на всех узлах Cassandra один за другим.

    Измените учетные данные Cassandra после установки Cassandra

    Чтобы изменить учетные данные Cassandra после установки Cassandra:

    1. Войдите в любой узел Cassandra, используя инструмент cqlsh и учетные данные по умолчанию. Вам нужно изменить пароль только на одном узле, и он будет передан на все узлы Cassandra в кольце:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

      Где:

      1. cassIP — IP-адрес узла Cassandra.
      2. 9042 — это порт Cassandra по умолчанию.
      3. Пользователь по умолчанию — cassandra .
      4. Пароль по умолчанию — cassandra . Если вы ранее меняли пароль, используйте текущий пароль. Если пароль содержит специальные символы, заключите его в одинарные кавычки.
    2. Выполните следующую команду в приглашении cqlsh> , чтобы обновить пароль:
      ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
    3. Выйдите из инструмента cqlsh , как показано в следующем примере:
      exit
    4. Если вы еще не установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, установите следующие свойства в файле конфигурации, а затем установите эти компоненты:
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. Если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid или серверы Postgres, см. раздел «Сброс паролей Edge» , чтобы узнать о процедуре обновления этих компонентов для использования нового пароля.