Перейти к основному содержимому
Версия: 2.0.x

Нативная аутентификация

Создание и управление пользователями с использованием встроенной аутентификации Selena через SQL-команды.

Нативная аутентификация Selena — это метод аутентификации на основе пароля. Помимо этого, Selena также поддерживает интеграцию с внешними системами аутентификации, такими как LDAP. Подробнее см. в разделе Аутентификация с помощью Security Integration.

примечание

Пользователи с системной ролью user_admin могут создавать, изменять и удалять пользователей в Selena.

Создание пользователя

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

Следующий пример создает пользователя jack, разрешает ему подключаться только с IP-адреса 172.10.1.10, включает нативную аутентификацию, устанавливает пароль 12345 в открытом виде и назначает ему роль example_role в качестве роли по умолчанию:

CREATE USER jack@'172.10.1.10' IDENTIFIED BY '12345' DEFAULT ROLE 'example_role';
примечание
  • Selena шифрует пароли пользователей перед их сохранением. Вы можете получить зашифрованный пароль с помощью функции password().
  • Системная роль по умолчанию PUBLIC назначается пользователю, если роль по умолчанию не указана при создании пользователя.

Роль по умолчанию автоматически активируется при подключении пользователя к Selena. Инструкции по включению всех ролей (по умолчанию и назначенных) для пользователя после подключения см. в разделе Включение всех ролей.

Подробнее о создании пользователя см. в разделе CREATE USER.

Изменение пользователя

Вы можете изменить пароль, роль по умолчанию или свойство пользователя.

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

Изменение свойства пользователя

Вы можете установить свойство пользователя с помощью ALTER USER.

Следующий пример устанавливает максимальное количество подключений для пользователя jack равным 1000. Идентификаторы пользователей с одинаковым именем используют одно и то же свойство.

Поэтому достаточно установить свойство для jack, и эта настройка будет действовать для всех идентификаторов пользователей с именем jack.

ALTER USER 'jack' SET PROPERTIES ("max_user_connections" = "1000");

Сброс пароля пользователя

Вы можете сбросить пароль пользователя с помощью SET PASSWORD или ALTER USER.

ПРИМЕЧАНИЕ

  • Любой пользователь может сбросить свой собственный пароль без каких-либо привилегий.
  • Только сам пользователь root может установить свой пароль. Если вы потеряли его пароль и не можете подключиться к Selena, см. раздел Сброс утерянного пароля root.

Оба следующих примера сбрасывают пароль пользователя jack на 54321:

  • Сброс пароля с помощью SET PASSWORD:

    SET PASSWORD FOR jack@'172.10.1.10' = PASSWORD('54321');
  • Сброс пароля с помощью ALTER USER:

    ALTER USER jack@'172.10.1.10' IDENTIFIED BY '54321';

Сброс утерянного пароля root

Если вы потеряли пароль пользователя root и не можете подключиться к Selena, вы можете сбросить его, выполнив следующие действия:

  1. Добавьте следующий параметр конфигурации в файлы конфигурации fe/conf/fe.conf на всех узлах FE, чтобы отключить аутентификацию пользователей:

    enable_auth_check = false
  2. Перезапустите все узлы FE, чтобы конфигурация вступила в силу.

    ./fe/bin/stop_fe.sh
    ./fe/bin/start_fe.sh
  3. Подключитесь к Selena через MySQL-клиент под пользователем root. Указывать пароль не требуется, когда аутентификация пользователей отключена.

    mysql -h <fe_ip_or_fqdn> -P<fe_query_port> -uroot
  4. Сбросьте пароль для пользователя root.

    SET PASSWORD for root = PASSWORD('xxxxxx');
  5. Повторно включите аутентификацию пользователей, установив параметр конфигурации enable_auth_check в значение true в файлах конфигурации fe/conf/fe.conf на всех узлах FE.

    enable_auth_check = true
  6. Перезапустите все узлы FE, чтобы конфигурация вступила в силу.

    ./fe/bin/stop_fe.sh
    ./fe/bin/start_fe.sh
  7. Подключитесь к Selena через MySQL-клиент, используя пользователя root и новый пароль, чтобы проверить успешность сброса пароля.

    mysql -h <fe_ip_or_fqdn> -P<fe_query_port> -uroot -p<xxxxxx>

Удаление пользователя

Вы можете удалить пользователя с помощью DROP USER.

Следующий пример удаляет пользователя jack:

DROP USER jack@'172.10.1.10';

Просмотр пользователей

Вы можете просмотреть всех пользователей в cluster Selena с помощью SHOW USERS.

SHOW USERS;

Просмотр свойств пользователя

Вы можете просмотреть свойства пользователя с помощью SHOW PROPERTY.

Следующий пример показывает свойства пользователя jack:

SHOW PROPERTY FOR 'jack';

Или для просмотра конкретного свойства:

SHOW PROPERTY FOR 'jack' LIKE 'max_user_connections';