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

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

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

Привилегии#

  1. Привилегии пользователей API делятся на системные (позволяющие выполнять класс действий, т. е. вызывать определенные методы API) и объектные (т. е. позволяющие выполнять действия над конкретными объектами). Привилегии пользователей определяют доступность определенных методов API.

  2. Модуль управления не производит аутентификацию и авторизацию. Сервер API должен быть установлен за прокси-сервером, выполняющим аутентификацию и авторизацию (например, Platform V IAM Proxy (AUTH)). В последующих релизах такой прокси-сервер может быть включен в поставку GraDeLy с целью возможности защищенного развертывания вне среды контейнерной виртуализации. Подход может быть пересмотрен в более поздних релизах.

  3. Привилегии могут быть объединены в роли – именованные наборы привилегий. Задача трансляции набора ролей в набор привилегий возлагается на внешний сервис авторизации.

  4. Привилегии не назначаются пользователям непосредственно, а только через назначение ролей. Набор ролей и их наполнение жестко зафиксированы. В текущей версии наследование ролей не поддерживается.

  5. При развертывании GraDeLy в сервис авторизации загружается набор предопределенных ролей — ролевая модель.

  6. Учетные записи пользователей создаются в СУДИР. Роли пользователям назначаются в СУДИР. Перечень учетных записей и присвоенных ими ролей попадает в GraDeLy при синхронизации. Инициатором синхронизации является СУДИР.

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

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

В интерфейсе сущностям Graph, Connection, Config, Process, Task_Control, Compare_task, Compare_config, Compare_result соответствуют отдельные вкладки.

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

Привилегии

Описание

Config

Graph

Connection

Module

Process

Task_Control

Compare_task

Compare_config

Compare_result

Connector

Task_connector

Cluster

Требует подтверждение
при включенном КВР

LIST_CONTENTS

Просмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов.
Для проекта Kafka Cluster просмотр списка коннекторов, кластера

GET

GET

GET

GET

GET

GET

LIST_PROCESSES

Просмотр перечня процессов (запущенных модулей).
Для проекта Kafka Cluster просмотр списка задач коннектора

GET

GET

READ_CONFIG

Получение исходного текста конфигураций и модулей

GET

GET

READ_CONNECTION

Просмотр информации о соединениях.
Для проекта Kafka Cluster просмотр полного описания коннекторов, вместе с конфигурацией

GET

GET

MODIFY_CONFIG

Создание, редактирование, удаление конфигураций

all

MODIFY_MODULE

Создание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой граф

all

MODIFY_CONNECTION

Создание, редактирование, удаление соединений.
Для проекта Kafka Cluster создавать новые коннекторы, удалять существующие, редактировать коннекторы и свойства логирования плагина

all

all

all

RUN_MODULE

Запуск и остановка модулей
Для проекта Kafka Cluster запуск, перезапуск и остановка коннекторов и задач коннекторов

all

all

all

MODIFY_GRAPH

Создание и удаление графов

all

CONFIRM_OPERATION

Согласование задач Контроля второй рукой (КВР)

all

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

Возможность тестировать не привилегия и доступна всем, у кого есть привилегии, как минимум, просматривать информацию о процессах, соединениях, конфигурациях.

Роли#

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

Роль

Описание

Config

Graph

Connection

Module

Process

Task_Control

Compare_task

Compare_config

Compare_result

Connector

Task_connector

Cluster

APPADMIN

Администратор приложения. Роль, наделенная полным набором привилегий для просмотра и редактирования объектов проекта(в том числе проект Kafka Cluster) без права передачи этих привилегий другим ролям.

GET
all

GET
all

GET
all

GET
all

GET

GET
all

GET
all

GET
all

GET
all

GET
all

GET

GET
all

APPDUTY

Дежурный администратор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, запускать и останавливать процессы, подтверждать выполнение задач КВР, просматривать конфигурацию и получать результат сверки объектов БД.
Для проекта Kafka Cluster просматривать список коннекторов,задач коннекторов, получать информацию о кластере. Запускать, перезапускать и останавливать коннекторы

GET

GET

GET

GET
all

GET

GET
all

GET

GET

GET
all

GET

GET

INSPECTOR

Инспектор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, просматривать конфигурацию и получать результат сверки объектов БД.
Для проекта Kafka Cluster просматривать список коннекторов,задач коннекторов, получать информацию о кластере

GET

GET

GET

GET

GET

GET

GET

GET

GET

GET

GET

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

Привилегии

Описание

APPADMIN

APPDUTY

INSPECTOR

LIST_CONTENTS

Просмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов.
Для проекта Kafka Cluster просмотр списка коннекторов, кластера

LIST_PROCESSES

Просмотр перечня процессов (запущенных модулей).
Для проекта Kafka Cluster просмотр списка задач коннектора

READ_CONFIG

Получение исходного текста конфигураций и модулей

READ_CONNECTION

Просмотр информации о соединениях.
Для проекта Kafka Cluster просмотр полного описания коннекторов, вместе с конфигурацией

MODIFY_CONFIG

Создание, редактирование, удаление, копирование конфигураций

MODIFY_MODULE

Создание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой граф

MODIFY_CONNECTION

Создание, редактирование, удаление, копирование соединений.
Для проекта Kafka Cluster создавать новые коннекторы, удалять существующие, редактировать коннекторы и свойства логирования плагина

RUN_MODULE

Запуск и остановка модулей.
Для проекта Kafka Cluster запуск, перезапуск и остановка коннекторов и задач коннекторов

MODIFY_GRAPH

Создание, редактирование, удаление, копирование графов

CONFIRM_OPERATION

Согласование задач КВР