Управление интеграцией с Active Directory

Длина комментариев (comment) при API-запросах ограничена 255 символами.

Получение статуса работы службы ad_backend
GET /ad_backend/status

Ответ на успешный запрос:

{
    "msg": ["string"] // (список ошибок)
}

Возможные ошибки:

  • no_license - Лицензия отсутствует | License is not available

Ввод NGFW в домен
POST /ad_backend/domains

Json-тело запроса:

{
    "name": "string", 
    "computer_name": "string",
    "dns_ips": ["string"],
    "user": "string",
    "password": "string",
    "ldap_paths": ["string"]
}
  • name - имя домена;

  • computer_name - имя компьютера (NGFW) в домене;

  • dns_ips - список IP-адресов контроллеров домена;

  • user - имя пользователя, имеющего права на ввод компьютера в домен;

  • password - пароль пользователя user;

  • ldap_paths - список LDAP-путей, по которым будет происходит поиск групп безопасности. Максимум 10 путей, максимальная длина строки - 1024 символа. Если при интеграции передать пустой список, то поиск групп безопасности будет производиться по всему лесу доменов. Если указаны конкретные LDAP-пути, импорт прочих пользователей и групп безопасности будет невозможен.

Ответ на успешный запрос: 200 OK

Получение списка присоединенных контроллеров домена
GET /ad_backend/domains

Ответ на успешный запрос:

[
    {
        "name": "string",  
        "computer_name": "string",
        "dns_ips": ["string"], 
        "ldap_paths": ["string"],
    },
    ...
]
Выполнение "переинтеграции" с AD
PUT /ad_backend/domains/<id домена>

Json-тело запроса:

{
    "computer_name": "string",
    "user": "string",
    "password": "string",
    "ldap_paths": ["string"]
}

Ответ на успешный запрос: 200 OK

Удаление интеграции с доменом
DELETE /ad_backend/domains/<id домена>

Ответ на успешный запрос: 200 OK

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

В AD созданный для NGFW компьютер не удаляется.

Управление настройками службы

Получение настроек авторизации
GET /ad_backend/settings

Ответ на успешный запрос:

{
    "authorization_by_logs": "boolean"
}
Изменение настроек авторизации
PUT /ad_backend/settings

Json-тело запроса:

{
    "authorization_by_logs": "boolean"
}

Ответ на успешный запрос: 200 OK

Получение информации об объектах контроллера домена

Получение списка групп безопасности в заданном домене
GET /ad_backend/domains/<имя домена>/security_groups

Ответ на успешный запрос:

[
    {
        "name": "string",
        "guid": "string"
    },
    ...
]
  • name - отображаемое имя группы безопасности;

  • guid - objectGUID группы безопасности.

Получение дерева OU в заданном домене
GET /ad_backend/domains/<имя домена>/tree

Ответ на успешный запрос:

[
    {
        "name": "string",
        "guid": "string",
        "parent_guid": "string" | "null"
    }
    ...
]
  • name - отображаемое имя группы;

  • guid - objectGUID группы;

  • parent_guid - objectGUID родительской группы.

Дерево представлено в виде линейного списка со всеми узлами. У каждого узла есть его guid и parent_guid.

Получение списка forward-зон контроллера домена
GET /ad_backend/forward_zones

Ответ на успешный запрос:

[
    {
        "id":  "string",
        "name": "string",
        "servers": ["string"],
        "enabled": "boolean",
        "comment": "string"
    },
    ...
]
  • id - идентификатор зоны;

  • name - название зоны;

  • servers - список IP-адресов DNS-серверов;

  • enabled - включена/выключена зона;

  • comment - комментарий, может быть пустым.

Управление настройками синхронизации групп

Получение настройки синхронизации групп
GET /ad_backend/group_settings

Ответ на успешный запрос:

[
  {
    "id": "integer",
    "group_id": "integer",
    "search_filter": "string",
    "object_guid": "string",
    "domain_name": "string",
    "sync_type": "ldap" | "security"
  },
  ...
]
  • id - идентификатор записи синхронизации;

  • group_id - идентификатор группы NGFW;

  • search_filter - фильтр поиска в домене;

  • object_guid - objectGUID группы из AD, с которой выполняется синхронизация;

  • domain_name - имя домена, с которым выполняется синхронизация;

  • sync_type - security, если группа синхронизируется с группой безопасности, ldap - если группа синхронизируется с OU.

Добавление настроек синхронизации группы с контроллером домена

Группа безопасности импортируется как плоский список пользователей без сохранения древовидной структуры AD. Синхронизация с OU сохраняет древовидную структуру пользователей.

Если группа была локальной, а после этого запроса - синхронизируемой, то все ее текущие потомки считаются импортированными из AD. Если в домене таких пользователей нет, то они при первой же синхронизации будут перемещены в корзину.

POST /ad_backend/group_settings

Json-тело запроса:

{
    "search_filter": "string",
    "object_guid": "string",
    "group_id": "integer",
    "domain_name": "string",
    "sync_type": "ldap" | "security"
  }

Ответ на успешный запрос:

{
    "id": "sync_record_id"
}
Изменение настроек синхронизации группы с контроллером домена

Группа безопасности импортируется как плоский список пользователей без сохранения древовидной структуры AD. Синхронизация с OU сохраняет древовидную структуру пользователей.

PUT /ad_backend/group_settings/<id записи синхронизации>

Json-тело запроса:

{
    "search_filter": "string",
    "object_guid": "string",
    "domain_name": "string",
    "group_id": "integer",
    "sync_type": "ldap" | "security"
  }

Ответ на успешный запрос: 200 OK

Отмена синхронизации группы с контроллером домена

После отмены синхронизации группы с доменом все ее потомки считаются локальными. Для авторизации таких пользователей нужно либо ставить тип авторизации "по IP", либо менять всем пароли.

DELETE /ad_backend/group_settings/<id группы>

Ответ на успешный запрос: 200 OK

Last updated