Администрирование ================= + `Уровни доступа`_ + `Аутентификация`_ + `Управление пользователями`_ .. _authorization: Уровни доступа --------------- В рамках **ADСC** предусмотрен механизм ролей, управляющий доступом пользователей к различной функциональности приложения. Доступны следующие роли: • Owner • Administrator • Advanced User • Regular User Каждая роль определяется присущими ей уровнями доступа. Распределение уровней доступа по ролям представлено в таблице: ============================== ======================= ======= =============== =============== ============== уровень доступа \\ роль Description Owner Administrator Advanced User Regular User ============================== ======================= ======= =============== =============== ============== manage users Access to \+ administration (create, alter, delete users, access to LDAP management view all queries View all transactions \+ \+ and commands in ADB kill all queries Terminate or cancel \+ \+ any transaction in ADB view some queries View subset of \+ transactions and commands to which user has appropriate grants kill some queries Terminate or cancel \+ subset of transactions to which user has appropriate grants view self queries View own transactions \+ \+ \+ \+ and commands (i.e. transactions and related commands, that was submitted under role that match username or assigned LDAP group name) kill self queries Terminate or cancel \+ \+ \+ \+ own transactions (i.e. transactions and related commands, that was submitted under role that match username or assigned LDAP group name) view relation audit page Cfg > Audit > Relation. \+ \+ Page with relations statistics. view secured relation audit View table with secured \+ \+ relation statistics on modal window. view jobs pages Cfg > Jobs. View job \+ \+ monitor and job history pages. view information page Cfg > Information. View \+ \+ information page with current state of ADCC components. manage settings Cfg > Configuration. \+ View configuration page and possibility of edit ADCC configuration. reassign resource group Possibility to change \+ \+ resource group for a particular PID based on selected command or transaction ============================== ======================= ======= =============== =============== ============== .. _authentication: Аутентификация -------------- **ADCС** предоставляет два способа аутентификации пользователей: * `Стандартная аутентификация`_; * `LDAP-аутентификация`_. .. _basic_auth: Стандартная аутентификация ^^^^^^^^^^^^^^^^^^^^^^^^^^ В данной схеме аутентификации логин пользователя ассоциируется с именем роли **ADB** на основании полного совпадения. Создание, модификация и удаление стандартных пользователей доступно пользователям, которым присвоена роль *Owner*. .. _ldap_auth: LDAP-аутентификация ^^^^^^^^^^^^^^^^^^^ В приложении **ADCC** доступна аутентификация средствами LDAP. В данном методе проверка корректности логина и пароля пользователя происходит на заданном сервере LDAP. В **ADCC** реализована поддержка следующих LDAP-реализаций: * MSAD (Microsoft Active Directory); * FreeIPA. Параметры для подключения к серверу LDAP становятся доступны в конфигурации сервиса **ADCC** кластера **ADB** в **ADCM** после включения метода аутентификации LDAP (через переключатель слева от надписи "LDAP"): * Type (по умолчанмю "MSAD"); * URI; * Users baseDN; * Groups baseDN; * Login; * Password; * Size limit (по умолчанию равно 1000); * Lowercase login (по умолчанию чекбокс снят). Пример конфигурации для Microsoft Active Directory: :: * Type: MSAD * URI: ldap://ad.example.com:389 * Users baseDN: ou=Peoples,dc=ad,dc=adcc-user * Groups baseDN: ou=Groups,dc=ad,dc=adcc-group * Login: cn=admin,dc=ad,dc=adcc-user * Password: yourpassword * Size limit (по умолчанию равно 1000); Для уточнения параметров конкретной реализации LDAP в вашем случае обратитесь к администратору LDAP-каталога. Для входа в ADCC web-интерфейс с помощью LDAP-аутентификации от MSAD/FreeIPA достаточно DN в формате ``sAMAccountName`` .. important:: Если требуется поиск пользователей в пределах всего домена, то проведите реконфигурацию сервиса ADCC (через ADCC Action *Reconfigure & Restart*), предварительно внеся следующие изменения: * в поле URI замените порт *389* на *3268*, например ``ldap://ad.example.com:3268`` * в поле **Users baseDN** не указывайте *Organizational Unit (ou)*, например ``dc=ad,dc=adcc-user``. Важно учитывать, что после применения такой конфигурации все локальные пользователи (включаю дефолтного администратора **admin**) также станут также синхронизироваться через LDAP и получат уже привилегии оттуда (при условии, что там заведены такие пользователи), поэтому надо предварительно привязать группу будущих администраторов из LDAP к роли *Administrator* через раздел *LDAP group mapping* (см. **Управление доступом для LDAP-групп**). .. _user_management: Управление пользователями ------------------------- Для доступа к панели управления пользователями необходимо выбрать раздел *ADMIN* в меню в правом верхнем углу главной панели приложения. При этом открывается экранная форма *Admin* (:numref:`Рис.%s. `). .. _admin_overview: .. figure:: ./images/admin_overview.png :align: center *Окно управления пользователями* Стандартные пользователи ^^^^^^^^^^^^^^^^^^^^^^^^ Раздел *User Management* предоставляет следующие возможности управления стандартными пользователями **ADCC**: * Для **создания** нового пользователя (:numref:`Рис.%s. `): #. Нажать кнопку справа над списком; #. В открывшемся окне заполнить все поля: * Логин; * Роль; * Пароль и подтверждение пароля. * Для **модификации** пользователя: #. Нажать иконку карандаша в соответствующей строке списка; #. В открывшемся окне изменить необходимые атрибуты пользователя: * Логин; * Роль; * Пароль (доступно после выбора чекбокса "Change password"). * Для **удаления** пользователя нажать иконку мусорной корзины в соответствующей строке списка. .. _user_form: .. figure:: ./images/user_form.png :align: center :width: 85% *Создание нового пользователя* Управление доступом для LDAP-групп ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ В разделе *LDAP group mapping* доступно определение соответствий LDAP-групп заданного LDAP-сервера их ролям в рамках **ADCC**. Соответствие подразумевает, что каждому пользователю, входящему в данную группу, при авторизации в **ADCC** присваивается указанная роль. Каждой LDAP-группе может соответствовать только одна роль. * Для **создания** нового соответствия (:numref:`Рис.%s. `): #. Нажать кнопку *"+"* справа над списком; #. В выпадающем списке *group* открывшегося окна выбрать необходимую LDAP-группу; #. В выпадающем списке *role* выбрать необходимую роль; #. Нажать кнопку *save*. * Для **изменения** роли, определенной для группы, нажать иконку карандаша в соответствующей строке списка; * Для **удаления** соответствия нажать иконку мусорной корзины в соответствующей строке списка. .. _mapping_form: .. figure:: ./images/mapping_form.png :align: center :width: 85% *Создание нового соответствия* Настройка SSL в ADCC ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Для включения SSL при работе с ADCC требуется в ADCM в разделе **ADCC Configuration** включить `HTTPS parameters enable` и настроить следующие поля: .. _ssl1: .. figure:: ./images/ssl1.png :align: center *Окно HTTPS parameters enable в ADCM* Здесь нужно указать порт (8443 по умолчанию) и путь к SSL сертификату и его ключу. При этом файлы `.crt` и `.key` для самоподписанного сертификата уже есть по умолчанию на машине где развернут ADCC в папке ``/opt/adcc/ssl``, их можно указать например для целей тестирования: * Full ssl certificate path = ``/opt/adcc/ssl/adcc_default.crt`` * Full ssl key path = ``/opt/adcc/ssl/adcc_default.key`` :: $ pwd /opt/adcc/ssl $ ls adcc_default.crt adcc_default.key openssl.cnf Чтоб создать реальный SSL сертификат и зарегистрировать его в центре сертификации используйте ``openssl``. Далее для применения настроек надо в ADCM сделать `Save` и `ADCC - > Reconfigure & Restart` .. _ssl2: .. figure:: ./images/ssl2.png :align: center *Save и Reconfigure & Restart в ADCM* После этого в файле ``/opt/adcc/nginx`` появится запись (порт 8443): :: server { listen 8443 ssl; server_name ; ssl_certificate /etc/nginx/conf.d/adcc_ssl.crt; ssl_certificate_key /etc/nginx/conf.d/adcc_ssl.key; ssl_prefer_server_ciphers on; После этого вход в ADCC без SSL на ``http://:81`` автоматически будет перенаправлять на ``https://:8443`` (Будет сообщение `Not secure` для https, так как используется самоподписанный сертификат) .. _ssl3: .. figure:: ./images/ssl3.png :align: center *Редирект в ADCC на https* Подключение внешнего ADCC и мониторинг нескольких кластеров --------------- В ADCC, начиная с версии `6.18.0_arenadata28`, можно настроить мониторинг из одного ADCC Web Server несколько ADB кластеров. В примере ниже есть целевой кластер ADB1, где мы используем UI ADCC для мониторинга, и кластер-донор ADB2, который будет посылать свои метрики в целевой кластер. **Шаг 1. Настройка соединения в ADCM** Пропишите в ADCM для кластера ADB2, который хотите подключить, ip-адрес ADCC сервера кластера ADB1 .. _external1_adcm: .. figure:: ./images/external1_adcm.png :align: center *Настройка соединения в ADCM* Запустите `ADCC Action Reconfigure & Restart` чтоб изменения вошли в силу. **Шаг 2. Настройка соединения в ADCC** Подключите в ADCC кластера ADB1, где хотите увидеть данные из кластера ADB2. .. important:: Имя кластера при подключении в ADCC должно совпадать с его именем в ADCM. В противном случае соединение хоть и установится, но данные в ADCC приходить с этого кластера не будут. При этом кластер-донор и целевой кластер с ADCC не обязательно должны находиться в одном ADCM-контуре, соединение пройдет и между различными ADCM. .. _external2_edit_connection: .. figure:: ./images/external2_edit_connection.png :align: center *Редактирование соединения в ADCC* Формат JDBC (пример): :: jdbc:postgresql://10.92.6.210:5432/postgres Укажите пользователя ADB (по умолчанию это *gpadmin* без пароля) Нажмите `Fetch databases` и отметьте базы данных которые хотите увидеть (если возникла ошибка то значит в ``pg_hba.conf`` кластера ADB2 не разрешен вход для нашего хоста). В итоге имеем 2 кластера ADB в Configuration ADCC: .. _external3_configuration: .. figure:: ./images/external3_configuration.png :align: center *Окно настройки конфигурации в ADCC* **Шаг 3. Проверка подключения (опционально)** На кластере ADB2 выполняем команды : :: $ psql adb adb=# select version(); adb=# select pg_sleep(60); В ADCC кластера ADB1 мониторим в `Query Monitor`, что они пришли на UI: .. _external4_query_monitor: .. figure:: ./images/external4_query_monitor.png :align: center *Окно Query Monitor в ADCC* В `Query History` можно добавить колонку Cluster Name и видеть запросы к с обоих кластеров в одном UI: .. _external5_query_history: .. figure:: ./images/external5_query_history.png :align: center *Окно Query History в ADCC*