Перейти к основному содержимому

Администрирование посредством публичного API

Максимальная поставка содержит Сервер API как компонент консоли управления. В такой конфигурации GraDeLy предоставляет публичный REST API для управления работой модулей репликации.

Последовательность выполнения​

Все действия по конфигурированию репликации могут быть выполнены без использования графического интерфейса посредством вызова этого API. Администратор организации может использовать любой инструмент, который поддерживает HTTP/HTTPS вызовы (например — curl, postman). При подготовке скриптов следует использовать документацию API, входящую в состав поставки продукта.

Привилегии​

  1. Привилегии пользователей API делятся на системные (позволяющие выполнять класс действий, то есть вызывать определенные методы API) и объектные (позволяющие выполнять действия над конкретными объектами). Привилегии пользователей определяют доступность определенных методов API.
  2. Модуль управления не производит аутентификацию и авторизацию. Сервер API должен быть установлен за прокси-сервером, выполняющим аутентификацию и авторизацию (например, Keycloak). В последующих релизах такой прокси-сервер может быть включен в поставку GraDeLy с целью возможности защищенного развертывания вне среды контейнерной виртуализации. Подход может быть пересмотрен в более поздних релизах.
  3. Привилегии могут быть объединены в роли – именованные наборы привилегий. Задача трансляции набора ролей в набор привилегий возлагается на внешний сервис авторизации.
  4. Привилегии не назначаются пользователям непосредственно, а только через назначение ролей. Набор ролей и их наполнение жестко зафиксированы. В текущей версии наследование ролей не поддерживается.
  5. При развертывании GraDeLy в сервис авторизации загружается набор предопределенных ролей — ролевая модель.

Привилегии определяют набор доступных пользователю API и возможностей редактирования данных в проекте.

Привилегия all — это объединение PUT, POST, DELETE привилегий (без GET привилегии).

Прямая связь по привилегиям есть только с одноименными API.

Связь привилегий с правами на чтение/запись приведена в таблице ниже:

ПривилегииОписаниеConfigGraphConnectionModuleProcessTask_ControlConnectorTask_connectorClusterCompare_taskCompare_configCompare_resultТребует подтверждение
при включенном КВР
LIST_CONTENTSПросмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов, валидация графов.
Для проекта Kafka Cluster просмотр списка коннекторов, кластера
GETGETGETGETGETGET
LIST_PROCESSESПросмотр перечня процессов (запущенных модулей).
Для проекта Kafka Cluster просмотр списка задач коннектора
GETGET
READ_CONFIGПолучение исходного текста конфигураций и модулей, валидация конфигурацийGETGET
READ_CONNECTIONПросмотр информации о соединениях, валидация соединений
Для проекта Kafka Cluster просмотр полного описания коннекторов, вместе с конфигурацией
GETGET
READ_CLUSTERПолучение состояние и валидация кластераGET
MODIFY_CONFIGСоздание, редактирование, удаление, копирование конфигурацийall
MODIFY_MODULEСоздание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой графall
MODIFY_CONNECTIONСоздание, редактирование, удаление соединений.
Для проекта Kafka Cluster создавать новые коннекторы, удалять существующие, редактировать коннекторы и свойства логирования плагина
allallall
MODIFY_GRAPHСоздание, редактирование, копирование, удаление графовall
MODIFY_CLUSTERИзменить или удалить существующую конфигурацию кластераall
RUN_MODULEЗапуск и остановка модулей
Для проекта Kafka Cluster запуск, перезапуск и остановка коннекторов и задач коннекторов
allallallДа
CONFIRM_OPERATIONСогласование задач контроля второй рукой (КВР)all
RUN_COMPARISONЗапуск сравнения объектов БДall
MODIFY_COMPARISONСоздание и редактирование конфигураций сравнения БДall
READ_COMPARISONПросмотр конфигураций сравнения, выгрузка результатов задач сравнения объектов БДGETGET
подсказка

Привилегии не имеют иерархии. Так, например, наличие привилегии MODIFY_CONFIG не подразумевает наличие LIST_CONTENTS или READ_CONFIG.

Роли​

Роли пользователя позволяют выполнять действия в рамках созданного проекта. Роли пользователя создаются автоматически со статусом ACTIVE при создании проекта и назначаются пользователям через систему авторизации.

РольОписаниеConfigGraphConnectionModuleProcessTask_ControlCompare_taskCompare_configCompare_resultConnectorTask_connectorCluster
APPADMINАдминистратор приложения. Роль, наделенная полным набором привилегий для просмотра и редактирования объектов проекта (в том числе проект Kafka Cluster) без права передачи этих привилегий другим ролямallallallallGETallallallallallGETall
APPDUTYДежурный администратор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, запускать и останавливать процессы, подтверждать выполнение задач КВР, просматривать конфигурацию и получать результат сверки объектов БД.
Для проекта Kafka Cluster просматривать список коннекторов,задач коннекторов, получать информацию о кластере. Запускать, перезапускать и останавливать коннекторы
GETGETGETallGETallGETGETallGETGET
INSPECTORИнспектор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, просматривать конфигурацию и получать результат сверки объектов БД.
Для проекта Kafka Cluster просматривать список коннекторов,задач коннекторов, получать информацию о кластере
GETGETGETGETGETGETGETGETGETGETGET

В зависимости от роли пользователь обладает следующими привилегиями в рамках проекта:

ПривилегииОписаниеAPPADMINAPPDUTYINSPECTOR
LIST_CONTENTSПросмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов, валидация графов.
Для проекта Kafka Cluster просмотр списка коннекторов, кластера
ДаДаДа
LIST_PROCESSESПросмотр перечня процессов (запущенных модулей).
Для проекта Kafka Cluster просмотр списка задач коннектора
ДаДаДа
READ_CONFIGПолучение исходного текста конфигураций и модулей, валидация конфигурацийДаДаДа
READ_CONNECTIONПросмотр информации о соединениях, валидация соединений.
Для проекта Kafka Cluster просмотр полного описания коннекторов, вместе с конфигурацией
ДаДаДа
READ_CLUSTERПолучение состояние и валидация кластераДаДаДа
MODIFY_CONFIGСоздание, редактирование, удаление, копирование конфигурацийДа
MODIFY_MODULEСоздание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой графДа
MODIFY_CONNECTIONСоздание, редактирование, удаление, копирование соединений.
Для проекта Kafka Cluster создавать новые коннекторы, удалять существующие, редактировать коннекторы и свойства логирования плагина
Да
MODIFY_GRAPHСоздание, редактирование, удаление, копирование графовДа
MODIFY_CLUSTERИзменить или удалить существующую конфигурацию кластераДаДа
RUN_MODULEЗапуск и остановка модулей.
Для проекта Kafka Cluster запуск, перезапуск и остановка коннекторов и задач коннекторов
ДаДа
CONFIRM_OPERATIONСогласование задач КВРДаДа
RUN_COMPARISONЗапуск сравнения объектов БДДа
MODIFY_COMPARISONСоздание и редактирование конфигураций сравнения БДДа
READ_COMPARISONПросмотр конфигураций сравнения, выгрузка результатов задач сравнения объектов БДДаДаДа