Администрирование посредством публичного API#
Максимальная поставка содержит Сервер API как компонент консоли управления. В такой конфигурации GraDeLy предоставляет публичный REST API для управления работой модулей репликации.
Все действия по конфигурированию репликации могут быть выполнены без использования графического интерфейса посредством вызова этого API. Администратор организации может использовать любой инструмент, который поддерживает HTTP/HTTPS вызовы (например — curl, postman). При подготовке скриптов следует руководствоваться описанием API, поставляемым с используемой версией продукта.
Привилегии#
Привилегии пользователей API делятся на системные (позволяющие выполнять класс действий, т. е. вызывать определенные методы API) и объектные (т. е. позволяющие выполнять действия над конкретными объектами). Привилегии пользователей определяют доступность определенных методов API.
Модуль управления не производит аутентификацию и авторизацию. Сервер API должен быть установлен за прокси-сервером, выполняющим аутентификацию и авторизацию (например, Platform V IAM Proxy (AUTH)). В последующих релизах такой прокси-сервер может быть включен в поставку GraDeLy с целью возможности защищенного развертывания вне среды контейнерной виртуализации. Подход может быть пересмотрен в более поздних релизах.
Привилегии могут быть объединены в роли – именованные наборы привилегий. Задача трансляции набора ролей в набор привилегий возлагается на внешний сервис авторизации.
Привилегии не назначаются пользователям непосредственно, а только через назначение ролей. Набор ролей и их наполнение жестко зафиксированы. В текущей версии наследование ролей не поддерживается.
При развертывании GraDeLy в сервис авторизации загружается набор предопределенных ролей — ролевая модель.
Учетные записи пользователей создаются в СУДИР. Роли пользователям назначаются в СУДИР. Перечень учетных записей и присвоенных ими ролей попадает в 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 |
Connector |
Task_connector |
Cluster |
Требует подтверждение |
|---|---|---|---|---|---|---|---|---|---|---|---|
LIST_CONTENTS |
Просмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов, валидация графов. |
GET |
GET |
GET |
GET |
GET |
GET |
||||
LIST_PROCESSES |
Просмотр перечня процессов (запущенных модулей). |
GET |
GET |
||||||||
READ_CONFIG |
Получение исходного текста конфигураций и модулей, валидация конфигураций |
GET |
GET |
||||||||
READ_CONNECTION |
Просмотр информации о соединениях, валидация соединений |
GET |
GET |
||||||||
MODIFY_CONFIG |
Создание, редактирование, удаление, копирование конфигураций |
all |
|||||||||
MODIFY_MODULE |
Создание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой граф |
all |
|||||||||
MODIFY_CONNECTION |
Создание, редактирование, удаление соединений. |
all |
all |
all |
|||||||
RUN_MODULE |
Запуск и остановка модулей |
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 |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
APPDUTY |
Дежурный администратор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, запускать и останавливать процессы, подтверждать выполнение задач КВР, просматривать конфигурацию и получать результат сверки объектов БД. |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
|
INSPECTOR |
Инспектор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, просматривать конфигурацию и получать результат сверки объектов БД. |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
GET |
В зависимости от роли пользователь обладает следующими привилегиями в рамках проекта:
Привилегии |
Описание |
APPADMIN |
APPDUTY |
INSPECTOR |
|---|---|---|---|---|
LIST_CONTENTS |
Просмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов, валидация графов. |
Да |
Да |
Да |
LIST_PROCESSES |
Просмотр перечня процессов (запущенных модулей). |
Да |
Да |
Да |
READ_CONFIG |
Получение исходного текста конфигураций и модулей, валидация конфигураций |
Да |
Да |
Да |
READ_CONNECTION |
Просмотр информации о соединениях, валидация соединений. |
Да |
Да |
Да |
MODIFY_CONFIG |
Создание, редактирование, удаление, копирование конфигураций |
Да |
||
MODIFY_MODULE |
Создание, редактирование, удаление модулей, копирование конфигурации модуля и добавление ее в другой граф |
Да |
||
MODIFY_CONNECTION |
Создание, редактирование, удаление, копирование соединений. |
Да |
||
RUN_MODULE |
Запуск и остановка модулей. |
Да |
Да |
|
MODIFY_GRAPH |
Создание, редактирование, удаление, копирование графов |
Да |
||
CONFIRM_OPERATION |
Согласование задач КВР |
Да |
Да |