Нативная аутентификация
Создание и управление пользователями с использованием встроенной аутентификации 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, вы можете сбросить его, выполнив следующие действия:
-
Добавьте следующий параметр конфигурации в файлы конфигурации fe/conf/fe.conf на всех узлах FE, чтобы отключить аутентификацию пользователей:
enable_auth_check = false -
Перезапустите все узлы FE, чтобы конфигурация вступила в силу.
./fe/bin/stop_fe.sh
./fe/bin/start_fe.sh -
Подключитесь к Selena через MySQL-клиент под пользователем
root. Указывать пароль не требуется, когда аутентификация пользователей отключена.mysql -h <fe_ip_or_fqdn> -P<fe_query_port> -uroot -
Сбросьте пароль для пользователя
root.SET PASSWORD for root = PASSWORD('xxxxxx'); -
Повторно включите аутентификацию пользователей, установив параметр конфигурации
enable_auth_checkв значениеtrueв файлах конфигурации fe/conf/fe.conf на всех узлах FE.enable_auth_check = true -
Перезапустите все узлы FE, чтобы конфигурация вступила в силу.
./fe/bin/stop_fe.sh
./fe/bin/start_fe.sh -
Подключитесь к 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';