Администрирование¶
Уровни доступа¶
В рамках ADСC предусмотрен механизм ролей, управляющий доступом пользователей к различной функциональности приложения. Каждая роль определяется присущими ей уровнями доступа:
- manage users – доступ к администрированию (создание, изменение, удаление пользователей, управление доступом для LDAP-групп);
- view all queries – возможность видеть все выполняемые в кластере ADB запросы;
- kill all queries – возможность отменять выполнение любого запроса в кластере ADB;
- view self queries – возможность видеть собственные запросы (запросы, выполненные ролью ADB с именем, идентичным логину текущего пользователя ADCC или названию LDAP-группы, в которую входит пользователь – см. Аутентификация);
- kill self queries – возможность отменять выполнение собственных запросов (запросов, выполненных ролью ADB с именем, идентичным логину текущего пользователя ADСC или названию LDAP-группы, в которую входит пользователь – см. Аутентификация).
Таким образом, авторизованному пользователю ADСC присваивается одна из следующих ролей:
уровень доступа \ роль | Owner | Administrator | Advanced User | Regular User |
---|---|---|---|---|
manage users | + | |||
view all queries | + | + | + | |
kill all queries | + | + | ||
view self queries | + | |||
kill self queries | + | + |
Аутентификация¶
ADCС предоставляет два способа аутентификации пользователей:
Стандартная аутентификация¶
В данной схеме аутентификации логин пользователя ассоциируется с именем роли ADB на основании полного совпадения. Создание, модификация и удаление стандартных пользователей доступно пользователям, которым присвоена роль Owner.
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-каталога.
Important
- Для логина в ADCC web-интерфейс с помощью LDAP-аутентификации от MSAD используйте upn-формат DN:
sAMAccountName@domain
- Для входа в ADCC web-интерфейс с помощью LDAP-аутентификации от FreeIPA достаточно DN в обычном формате:
sAMAccountName
Управление пользователями¶
Для доступа к панели управления пользователями необходимо выбрать раздел ADMIN в меню в правом верхнем углу главной панели приложения. При этом открывается экранная форма Admin (Рис.91.).
Стандартные пользователи¶
Раздел User Management предоставляет следующие возможности управления стандартными пользователями ADCC:
Для создания нового пользователя (Рис.92.):
- Нажать кнопку справа над списком;
- В открывшемся окне заполнить все поля:
- Логин;
- Роль;
- Пароль и подтверждение пароля.
Для модификации пользователя:
- Нажать иконку карандаша в соответствующей строке списка;
- В открывшемся окне изменить необходимые атрибуты пользователя:
- Логин;
- Роль;
- Пароль (доступно после выбора чекбокса “Change password”).
Для удаления пользователя нажать иконку мусорной корзины в соответствующей строке списка.
Управление доступом для LDAP-групп¶
В разделе LDAP group mapping доступно определение соответствий LDAP-групп заданного LDAP-сервера их ролям в рамках ADCC. Соответствие подразумевает, что каждому пользователю, входящему в данную группу, при авторизации в ADCC присваивается указанная роль. Каждой LDAP-группе может соответствовать только одна роль.
- Для создания нового соответствия (Рис.93.):
- Нажать кнопку “+” справа над списком;
- В выпадающем списке group открывшегося окна выбрать необходимую LDAP-группу;
- В выпадающем списке role выбрать необходимую роль;
- Нажать кнопку save.
- Для изменения роли, определенной для группы, нажать иконку карандаша в соответствующей строке списка;
- Для удаления соответствия нажать иконку мусорной корзины в соответствующей строке списка.
Настройка SSL в ADCC¶
Для включения SSL при работе с ADCC требуется в ADCM в разделе ADCC Configuration включить HTTPS parameters enable и настроить следующие поля:
Здесь нужно указать порт (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
После этого в файле /opt/adcc/nginx
появится запись (порт 8443):
server { listen 8443 ssl; server_name <your_server>; 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://<your_server>:81
автоматически будет перенаправлять на https://<your_server>:8443
(Будет сообщение Not secure для https, так как используется самоподписанный сертификат)
Подключение внешнего ADCC и мониторинг нескольких кластеров¶
В ADCC, начиная с версии 6.18.0_arenadata28, можно настроить мониторинг из одного ADCC Web Server несколько ADB кластеров. В примере ниже есть целевой кластер ADB1, где мы используем UI ADCC для мониторинга, и кластер-донор ADB2, который будет посылать свои метрики в целевой кластер.
Шаг 1. Настройка соединения в ADCM
Пропишите в ADCM для кластера ADB2, который хотите подключить, ip-адрес ADCC сервера кластера ADB1
Запустите ADCC Action Reconfigure & Restart чтоб изменения вошли в силу.
Шаг 2. Настройка соединения в ADCC
Подключите в ADCC кластера ADB1, где хотите увидеть данные из кластера ADB2.
Important
Имя кластера при подключении в ADCC должно совпадать с его именем в ADCM. В противном случае соединение хоть и установится, но данные в ADCC приходить с этого кластера не будут. При этом кластер-донор и целевой кластер с ADCC не обязательно должны находиться в одном ADCM-контуре, соединение пройдет и между различными ADCM.
Формат JDBC (пример):
jdbc:postgresql://10.92.6.210:5432/postgres
Укажите пользователя ADB (по умолчанию это gpadmin без пароля)
Нажмите Fetch databases и отметьте базы данных которые хотите увидеть (если возникла ошибка то значит в pg_hba.conf
кластера ADB2 не разрешен вход для нашего хоста).
В итоге имеем 2 кластера ADB в Configuration ADCC:
Шаг 3. Проверка подключения (опционально)
На кластере ADB2 выполняем команды :
$ psql adb adb=# select version(); adb=# select pg_sleep(60);
В ADCC кластера ADB1 мониторим в Query Monitor, что они пришли на UI:
В Query History можно добавить колонку Cluster Name и видеть запросы к с обоих кластеров в одном UI: