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

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

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

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

  • имя пользователя = 'Кассандра'
  • пароль = 'Кассандра'

Вы можете использовать эту учетную запись, установить для нее другой пароль или создать нового пользователя Cassandra. Добавляйте, удаляйте и изменяйте пользователей с помощью операторов Cassandra CREATE/ALTER/DROP USER.

Дополнительные сведения см. в разделе Команды оболочки Cassandra SQL .

Включить аутентификацию Cassandra во время установки

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

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

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

Чтобы изменить учетные данные 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. Пользователь по умолчанию — Кассандра .
    4. Пароль по умолчанию — cassandra . Если вы ранее меняли пароль, используйте текущий пароль.
  2. Запустите следующую команду в качестве приглашения cqlsh> , чтобы обновить пароль:
    cqlsh> ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ cassandra С ПАРОЛЕМ ' NEW_PASSWORD ';
  3. Выйдите из инструмента cqlsh:
    cqlsh> выход
  4. Если вы еще не установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid, серверы Postgres или стек BaaS, установите следующие свойства в файле конфигурации, а затем установите эти компоненты:
    CASS_USERNAME=Кассандра
    CASS_PASSWORD= НОВЫЙ_ПАРОЛЬ
  5. Если вы уже установили сервер управления, процессоры сообщений, маршрутизаторы, серверы Qpid, серверы Postgres или стек BaaS, см. раздел «Сброс паролей 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 CASS_USERNAME -p CASS_PASSWORD

    При желании вы можете передать команде файл, содержащий новое имя пользователя и пароль:
    > apigee-service Edge-Management-Server store_cassandra_credentials -f configFile

    Где файл конфигурации содержит следующее:
    CASS_USERNAME=Кассандра
    CASS_PASSWORD= CASS_PASSWROD


    Эта команда автоматически перезапускает Сервер управления.
  2. Повторите шаг 1 для:
    • Все процессоры сообщений
    • Все маршрутизаторы
    • Все серверы Qpid (edge-qpid-server)
    • Серверы Postgres (edge-postgres-server)
  3. На узле стека BaaS для версии 4.16.05.04 и более поздних версий:
    1. Выполните следующую команду, чтобы сгенерировать зашифрованный пароль:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      Эта команда запрашивает простой текстовый пароль и возвращает зашифрованный пароль в форме:
      БЕЗОПАСНО:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    2. Установите следующие токены в /opt/apigee/customer/application/usergrid.properties . Если этот файл не существует, создайте его:
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      В этом примере используется имя пользователя по умолчанию для Cassandra. Если вы изменили имя пользователя, установите соответствующее значение usergrid-deployment_cassandra.username .

      Убедитесь, что вы включили в пароль префикс « SECURE: ». В противном случае стек BaaS интерпретирует значение как незашифрованное.

      Примечание . Каждый узел стека BaaS имеет свой собственный уникальный ключ, используемый для шифрования пароля. Поэтому вам необходимо генерировать зашифрованное значение на каждом узле стека BaaS отдельно.
    3. Измените владельца файла usergrid.properties на пользователя apigee:
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. Настройте узел стека:
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid настроить
    5. Перезапустите стек BaaS:
      > /opt/apigee/apigee-service/bin/apigee-service перезапуск baas-usergrid
    6. Повторите эти шаги для всех узлов BaaS Stack.

Используйте следующую процедуру, чтобы включить аутентификацию 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 repair system_auth