Администрирование посредством публичного 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 соответствуют отдельные вкладки.
Прямая связь по привилегиям есть только с одноименными API.
Привилегии |
Описание |
Config |
Graph |
Connection |
Module |
Process |
Task_Control |
Требует подтверждение |
|---|---|---|---|---|---|---|---|---|
LIST_CONTENTS |
Просмотр перечня конфигураций, модулей, соединений, графов, просмотр схемы графов |
GET |
GET |
GET |
GET |
|||
LIST_PROCESSES |
Просмотр перечня процессов (запущенных модулей) |
GET |
||||||
READ_CONFIG |
Получение исходного текста конфигураций и модулей |
GET |
GET |
|||||
READ_CONNECTION |
Просмотр информации о соединениях |
GET |
||||||
MODIFY_CONFIG |
Создание, редактирование, удаление конфигураций |
all |
||||||
MODIFY_MODULE |
Создание, редактирование, удаление модулей, перемещение модулей между графами |
all |
||||||
MODIFY_CONNECTION |
Создание, редактирование, удаление соединений |
all |
||||||
RUN_MODULE |
Запуск и остановка модулей |
all |
✓ |
|||||
MODIFY_GRAPH |
Создание и удаление графов |
all |
||||||
CONFIRM_OPERATION |
Согласование задач Контроля второй рукой (КВР) |
all |
Привилегии не имеют иерархии. Так, например, наличие привилегии MODIFY_CONFIG не подразумевает наличие LIST_CONTENTS или READ_CONFIG.
Возможность тестировать не привилегия и доступна всем, у кого есть привилегии, как минимум, просматривать информацию о процессах, соединениях, конфигурациях.
Роли#
Роли пользователя позволяют выполнять действия в рамках созданного проекта. Роли пользователя создаются автоматически со статусом ACTIVE при создании проекта и назначаются пользователям через СУДИР.
Роль |
Описание |
Config |
Graph |
Connection |
Module |
Process |
Task_Control |
|---|---|---|---|---|---|---|---|
APPADMIN |
Администратор приложения. Роль, наделенная полным набором привилегий для просмотра и редактирования объектов проекта без права передачи этих привилегий другим ролям. |
GET |
GET |
GET |
GET |
GET |
GET |
APPDUTY |
Дежурный администратор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях, запускать и останавливать процессы, а также подтверждать выполнение задач КВР. |
GET |
GET |
GET |
GET |
GET |
GET |
INSPECTOR |
Инспектор. Роль, позволяющая просматривать список объектов и процессов, информацию о конфигурациях и соединениях. |
GET |
GET |
GET |
GET |
GET |
GET |
MAINTENANCE_INSPECTOR |
Инспектор. Роль, позволяющая согласовывать задачи КВР и отключать КВР во всех проектах. |
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 |
Согласование задач КВР |
✓ |
✓ |