---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/ideco-client-api/ideco-client-api
---

# Ideco Client

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action   
          width: 'auto'
        - text: Высокопроизводительный VCE
          theme: outlined
          url: https://docs.ideco.ru/api/vpp-v22/ru/ngfw/users/ideco-client/
          width: 'auto'      
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/users/ideco-client/
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

## Настройка авторизации через Ideco Client

{% cut "Получение состояния авторизации" %}

```
GET /agent_backend/agent-server/state
```

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

```json5
{
    "enabled": true | false
}
```

* `enabled` - авторизация через Ideco Client:
  * `true` - включена;
  * `false` - выключена.

{% endcut %}

{% cut "Изменение состояния авторизации" %}

```
PATCH /agent_backend/agent-server/state
```

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

```json5
{
    "enabled": true | false
}
```

* `enabled` - авторизация через Ideco Client:
  * `true` - включена;
  * `false` - выключена.

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

{% endcut %}

## Настройки авторизации Ideco Client

{% cut "Получение настроек авторизации Ideco Client" %}

```
GET /agent_backend/agent-server/settings
```

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

```json5
{
    "auth_domain": "string" | null,
    "local_tunnel": "string",
    "device_auth": {
        "allowed_objects": ["string"],
        "allowed_ca_certs": ["string"]
    },
    "user_auth": {
        "allowed_objects": ["string"],
        "allowed_ca_certs": ["string"],
        "binding": true | false
    }
}
```

* `auth_domain` - домен или IP-адрес Ideco NGFW Novum, в котором будет происходить аутентификация;
* `local_tunnel` - построение туннеля при подключении из локальных сетей:
  * `with_tunnel` - включено;
  * `without_tunnel` - выключено.
* `device_auth` - настройки для подключения в режиме **Device VPN**:
  * `allowed_objects` - список идентификаторов учетных записей Device VPN или групп Ideco Device VPN, которым разрешена авторизация;
  * `allowed_ca_certs` - список идентификаторов CA-сертификатов, предварительно загруженных в раздел **Сервисы → Сертификаты → Ideco Client**.
* `user_auth` - настройки для подключения пользователя с привязкой к устройству с помощью сертификата:
  * `allowed_objects` - список объектов, которым разрешена авторизация. Допустимые значения:
    * `any` - любой объект (если указан `any`, то других объектов в списке не должно быть);
    * `user.id` - идентификатор пользователя;
    * `group.id` - идентификатор группы пользователей;
    * `ad_user.guid` - идентификатор пользователя AD;
    * `security_group.guid` - идентификатор группы безопасности AD;
    * `ldap_filter.id` - идентификатор LDAP-фильтра;
    * `all_ad_users` - все пользователи AD;
    * `ald_users_group.guid` - идентификатор группы пользователей ALD.
  * `allowed_ca_certs` - список идентификаторов CA-сертификатов, предварительно загруженных в раздел **Сервисы → Сертификаты → Ideco Client**;
  * `binding` - опция **Привязать устройство к пользователю**. Применяется только при непустом `allowed_ca_certs`:
    * `true` - включена;
    * `false` - выключена.


{% endcut %}

{% cut "Изменение настроек авторизации Ideco Client" %}

```
PATCH /agent_backend/agent-server/settings
```

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

```json5
{
    "auth_domain": "string" | null,
    "local_tunnel": "string",
    "device_auth": {
        "allowed_objects": ["string"],
        "allowed_ca_certs": ["string"]
    },
    "user_auth": {
        "allowed_objects": ["string"],
        "allowed_ca_certs": ["string"],
        "binding": true | false
    }
}
```

* `auth_domain` - домен или IP-адрес Ideco NGFW Novum, в котором будет происходить аутентификация;
* `local_tunnel` - построение туннеля при подключении из локальных сетей:
  * `with_tunnel` - включено;
  * `without_tunnel` - выключено.
* `device_auth` - настройки для подключения в режиме **Device VPN**:
  * `allowed_objects` - список идентификаторов учетных записей Device VPN или групп Ideco Device VPN, которым разрешена авторизация;
  * `allowed_ca_certs` - список идентификаторов CA-сертификатов, предварительно загруженных в раздел **Сервисы → Сертификаты → Ideco Client**.
* `user_auth` - настройки для подключения пользователя с привязкой к устройству с помощью сертификата:
  * `allowed_objects` - список объектов, которым разрешена авторизация. Допустимые значения:
    * `any` - любой объект (если указан `any`, то других объектов в списке не должно быть);
    * `user.id` - идентификатор пользователя;
    * `group.id` - идентификатор группы пользователей;
    * `ad_user.guid` - идентификатор пользователя AD;
    * `security_group.guid` - идентификатор группы безопасности AD;
    * `ldap_filter.id` - идентификатор LDAP-фильтра;
    * `all_ad_users` - все пользователи AD;
    * `ald_users_group.guid` - идентификатор группы пользователей ALD.
  * `allowed_ca_certs` - список идентификаторов CA-сертификатов, предварительно загруженных в раздел **Сервисы → Сертификаты → Ideco Client**;
  * `binding` - опция **Привязать устройство к пользователю**. Применяется только при непустом `allowed_ca_certs`:
    * `true` - включена;
    * `false` - выключена.


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

{% endcut %}

## Терминальный доступ

{% cut "Получение списка терминальных серверов" %}

```
GET /agent_backend/agent-server/terminal-servers
```

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

```json5
[
  {
    "id": "string",
    "title": "string",
    "device": "string",
    "network": "string",
    "comment": "string",
    "enabled": true | false,
    "allowed_objects": ["string"]
  },
  ...
]
```

* `id` -  идентификатор сервера;
* `title` - название сервера, максимальная длина - 42 символа;
* `device` - идентификатор пользователя с типом `device` (подключенного по Device VPN), например, `user.id.33`;
* `network` - подсеть терминального сервера, минимум - `/30`. Значение должно быть уникальным для сервера;
* `comment` - комментарий, максимальная длина 256 символов;
* `enabled` - состояние сервера:
  * `true` - включен;
  * `false` - выключен.
* `allowed_objects` - список объектов, которым разрешена авторизация как терминального пользователя AD. Допустимые значения:
  * `any` - любой объект (если указан `any`, то других объектов в списке не должно быть);
  * `ad_user.guid` - идентификатор пользователя AD;
  * `security_group.guid` - идентификатор группы безопасности AD;
  * `ldap_filter.id` - идентификатор LDAP-фильтра.

{% endcut %}

{% cut "Добавление терминального сервера" %}

```
POST /agent_backend/agent-server/terminal-servers
```

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

```json5
{
  "title": "string",
  "device": "string",
  "network": "string",
  "comment": "string",
  "enabled": true | false,
  "allowed_objects": ["string"]
}
```

* `title` - название сервера, максимальная длина - 42 символа;
* `device` - идентификатор пользователя с типом `device` (подключенного по Device VPN), например, `user.id.33`;
* `network` - подсеть терминального сервера, минимум - `/30`. Значение должно быть уникальным для сервера;
* `comment` - комментарий, максимальная длина 256 символов;
* `enabled` - состояние сервера:
  * `true` - включен;
  * `false` - выключен.
* `allowed_objects` - список объектов, которым разрешена авторизация как терминального пользователя AD. Допустимые значения:
  * `any` - любой объект (если указан `any`, то других объектов в списке не должно быть);
  * `ad_user.guid` - идентификатор пользователя AD;
  * `security_group.guid` - идентификатор группы безопасности AD;
  * `ldap_filter.id` - идентификатор LDAP-фильтра.

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

```json5
{
    "id" : "string"
}
```

* `id` - идентификатор созданного сервера.

{% endcut %}

{% cut "Обновление терминального сервера" %}

```
PATCH /agent_backend/agent-server/terminal-servers/<id терминального сервера>
```

**Тело запроса (все или некоторые поля):**

```json5
[
  {
    "title": "string",
    "device": "string",
    "network": "string",
    "comment": "string",
    "enabled": true | false,
    "allowed_objects": ["string"]
  },
  ...
]
```

* `title` - название сервера, максимальная длина - 42 символа;
* `device` - идентификатор пользователя с типом `device` (подключенного по Device VPN), например, `user.id.33`;
* `network` - подсеть терминального сервера, минимум - `/30`. Значение должно быть уникальным для сервера;
* `comment` - комментарий, максимальная длина 256 символов;
* `enabled` - состояние сервера:
  * `true` - включен;
  * `false` - выключен.
* `allowed_objects` - список объектов, которым разрешена авторизация как терминального пользователя AD. Допустимые значения:
  * `any` - любой объект (если указан `any`, то других объектов в списке не должно быть);
  * `ad_user.guid` - идентификатор пользователя AD;
  * `security_group.guid` - идентификатор группы безопасности AD;
  * `ldap_filter.id` - идентификатор LDAP-фильтра.

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

{% endcut %}

{% cut "Удаление терминального сервера" %}

```
DELETE /agent_backend/agent-server/terminal-servers/<id терминального сервера>
```

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

{% endcut %}

## Привязанные устройства

{% cut "Получение списка привязок" %}{#list-binding}

#|
|| GET | `/agent_backend/agent/certs/binding` ||
|#

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

```json5
[
    {
        "id": "string",
        "user_object_id": "string",
        "catalog": "string",
        "binding": ["string"]
    },
    ...
]
```

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `id` | string | Идентификатор сертификата ||
|| `user_object_id` | string | Идентификатор пользователя с префиксом, к которому применено правило. Префиксы: `user.id.`, `ad_user.guid.`. Разрешены только пользователи AD, ALD и локальные. Для пользователей RADIUS и DEVICE авторизация через IP/MAC не работает ||
|| `catalog` | string | Каталог пользователя. Возможные значения:
- `catalog.id.local` - локальные пользователи
- `catalog.id.ad.<domain_id>` - пользователи AD (`domain_id` - идентификатор домена из настроек интеграции)
- `catalog.id.ald.<domain_id>` - пользователи ALD (`domain_id` - идентификатор домена из настроек интеграции)
||
|| `binding` | array | Список Subject DN привязанных сертификатов устройств. Может быть пустым ||
|#


{% endcut %}

{% cut "Удаление привязки" %}{#delete-binding}

#|
|| DELETE | `/agent_backend/agent/certs/binding/<id привязки>` ||
|#

* `id` - идентификатор привязки.

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

Код ответа: **200 OK**


{% endcut %}
