Управление правами доступа пользователей Kintsugi с помощью ETL-машины#

В Kintsugi (DBCM) предусмотрено управление правами доступа пользователей с помощью настройки привилегий.

Доступ выдается пользователю на выполнение операции только над тем объектами, которые обладают заданным набором атрибутов.

В Kintsugi (DBCM) формирование групп основано на фильтрах, которые представляют собой набор условий на равенство пользовательских свойств определенным значениям.

Выдача дополнительных привилегий в Kintsugi#

Выдача дополнительных привилегий в Kintsugi (DBCM) выполняется путем создания правил.

Каждое правило состоит из:

  • группы пользователей;

  • фильтра выбора активов;

  • набора выдаваемых привилегий.

Группа пользователей определяется двумя параметрами:

  • именем группы;

  • списком имен пользователей входящих в группу.

Фильтр выбора активов - служит для определения множества активов в отношении которых будут действовать выдаваемые привилегии. Фильтр представляет собой набор условий на равенство пользовательских свойств определенным значениям, условия объединяются по правилам логического «И».

Набор привилегий#

В рамках одного правила можно выдать одну и более привилегий. Список доступных привилегий приведен в таблице:

Привилегия Backend

Действие

global_assets_list

Просмотр списка активов и открытие Оперативного центра

global_assets_alerting_control

Доступ к функциональности подписок на оповещения

global_asset_pg_create

Доступ к функции создания актива типа PosgreSQL

asset_pg_edit

Редактирование объекта мониторинга / кластера

asset_pg_delete

Удаление объекта мониторинга / кластера

asset_pg_view

Просмотр объекта мониторинга / кластера
Получение списка событий
Открытие дашборда Обзор
Открытие дашборда Метрики
Открытие дашборда Активность сессии
Открытие дашборда Блокировки
Создание отчета PWR в панели Отчеты
Создание и редактирование пользовательских дашбордов

alerting_view_subscribers

Просмотр списка подписчиков на оповещения

pg_metrics_toggle_global

Переключение флага сбора всех метрик

pg_metrics_regular_toggle

Переключение флага сбора метрик с типами pg и host и изменение порогов метрик с типами pg и host

pg_metrics_embedded_toggle

Переключение флага сбора и параметров метрик kintsugi_performance_insights и kintsugi_overview_dashboards

asset_pg_log_view

Просмотр логов актива (или доступ к панели мониторинга Логи)

asset_pg_config_edit

Предоставляет доступ к панели управления Конфигурация

Пример#

Пусть в системе заведены два пользовательских свойства: custom_stand (имя стенда) и custom_env_type (тип среды: "primary" "secondary").

В таком случае, если мы хотим выдать дополнительные привилегии на доступ ко всем активам входящим в стенды с именем "test", во всех средах (вне зависимости значения custom_env_type) фильтр активов будет выглядеть следующим образом:

{"custom_stand": "test"}

Если мы хотим выдать дополнительные привилегии на доступ к активам стенда "test" только в "primary" среде, фильтр активов будет выглядеть следующим образом:

{"custom_stand": "test", "custom_env_type" : "primary"}

ETL-машина#

ETL-машина работает как мост между Service Manager и Kintsugi (DBCM).

Она периодически проверяет указанную директорию на наличие новых ZIP-архивов с CSV-файлами и соответствующих .done-файлов. Обнаружив их, она забирает файлы, распаковывает и загружает данные во внутреннюю in-memory БД для обработки. На основе этих данных с помощью предопределенных SQL-запросов и логики преобразования формируются снепшоты конфигурации привилегий в формате, совместимом с Kintsugi.

Эти снепшоты отправляются на соответствующие стенды Kintsugi через REST API (/privileges/snapshots/upload). Подробнее c API-вызовом можно ознакомиться в документе «Руководство прикладного разработчика на Kintsugi (DBCM)» раздел «Загрузка актуальной информации о доступности привилегий для групп пользователей».

Важно

ETL-машина сама не применяет права, а лишь загружает снепшоты, которые потом вручную применяются администратором через интерфейс Kintsugi.

Взаимодействие с ETL-машиной: