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

Edge для частного облака v4.19.01

По умолчанию 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:

  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» , чтобы узнать о процедуре обновления этих компонентов для использования нового пароля.

Включить пост-установку аутентификации Cassandra

Чтобы включить аутентификацию:

  • Обновите все компоненты Edge, которые подключаются к Cassandra, используя имя пользователя и пароль Cassandra.
  • На всех узлах Cassandra включите аутентификацию.
  • Установите имя пользователя и пароль Cassandra на любом одном узле. Вам нужно изменить учетные данные только на одном узле Cassandra, и они будут переданы на все узлы 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

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

  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 и установить имя пользователя и пароль:

  1. Войдите на первый узел Cassandra.
  2. Выполните следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    Эта команда включает аутентификацию и перезапускает Cassandra.

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

    Где

    • cassIP — IP-адрес узла Cassandra.
    • 9042 — порт Кассандра.
    • Пользователь по умолчанию — cassandra .
    • Пароль по умолчанию — cassandra . Если вы ранее меняли пароль, используйте текущий пароль.
  5. Запустите следующую команду в командной строке cqlsh> , чтобы обновить пароль:
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. Запустите следующую команду в командной строке 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'};
  7. Выйдите из инструмента cqlsh :
    exit
  8. Запустите nodetool repair , чтобы убедиться, что изменение распространяется на все узлы Cassandra:
    /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] repair system_auth

    Вам нужно будет передать свое имя пользователя и пароль только в том случае, если вы включили аутентификацию JMX для Cassandra .