Администрирование посредством публичного 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 соответствуют отдельные вкладки.

Прямая связь по привилегиям есть только с одноименными 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
all

GET
all

GET
all

GET
all

GET

GET
all

APPDUTY

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

GET

GET

GET

GET
all

GET

GET
all

INSPECTOR

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

GET

GET

GET

GET

GET

GET

MAINTENANCE_INSPECTOR

Инспектор. Роль, позволяющая согласовывать задачи КВР и отключать КВР во всех проектах.

GET

GET

GET

GET

GET

GET
all

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

Привилегии

Описание

APPADMIN

APPDUTY

INSPECTOR

LIST_CONTENTS

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

LIST_PROCESSES

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

READ_CONFIG

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

READ_CONNECTION

Просмотр информации о соединениях

MODIFY_CONFIG

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

MODIFY_MODULE

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

MODIFY_CONNECTION

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

RUN_MODULE

Запуск и остановка модулей

MODIFY_GRAPH

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

CONFIRM_OPERATION

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