Перейти к основному содержимому

13.5.2 Провайдеры аутентификации

Методы

auth-providers

Частично публичный метод получения списка провайдеров. При вызове метода без токена или без привилегии будет представлена минимальная информации по текущим провайдерам в VDI.

Запрос:

{
"jsonrpc": "2.0",
"method": "auth-providers",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Успешный ответ (без токена или привилегии):

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"data": [
{
"enabled": true,
"external": false,
"id": 1,
"method": "local-auth",
"name": "local",
"supported_oidc": false
},
{
"enabled": true,
"external": true,
"id": 2,
"method": "ad-auth",
"name": "ad",
"supported_oidc": false
}
]
}
}

Успешный ответ (с привилегией):

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"data": [
{
"client_id": null,
"enabled": true,
"external": false,
"id": 1,
"issuer_url": null,
"method": "local-auth",
"name": "local",
"supported_oidc": false,
"token_url": null,
"url": null,
"user_info_url": null
},
{
"client_id": null,
"enabled": true,
"external": true,
"id": 2,
"issuer_url": null,
"method": "ad-auth",
"name": "ad",
"supported_oidc": false,
"token_url": null,
"url": "ldap://ext.itglobal.com/",
"user_info_url": null
}
]
}
}

auth-set-provider

Метод инициализации или обновления записи о провайдере аутентификации. При первом запуске VDI доступен только local.

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

Набор требуемых параметров для поддерживаемых провайдеров (провайдер local не доступен для редактирования конфигурации), не поддерживается редактирование параметров по отдельности:

  • ad:
    • enabled
    • external
    • supported_oidc
    • url

Запрос (Пример с config):

{
"jsonrpc": "2.0",
"method": "auth-set-provider",
"params": {
"provider": "ad",
"config": {
"enabled": true,
"external": true,
"supported_oidc": false,
"url": "ldap://ext.itglobal.com/"
}
},
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Запрос (Пример с enabled):

{
"jsonrpc": "2.0",
"method": "auth-set-provider",
"params": {
"provider": "ad",
"enabled": true
},
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Успешный ответ:

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"message": "Created/Updated"
}
}

ad-get-config

Метод получения конфигурации поиска в Active Directory.

Запрос:

{
"jsonrpc": "2.0",
"method": "ad-get-config",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Успешный ответ:

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"data": {
"extra_group_filter": null,
"extra_user_filter": null,
"fqdn": "DC=ext,DC=itglobal,DC=com",
"service_account_upn": "developer.test@itglobal.com"
}
}
}

ad-set-config

Метод инициализации или редактирования конфигурации поиска в Active Directory.

Поля extra_user_filter и extra_group_filter должны иметь синтаксис: "(condition1=value1)(condition2=value2)", после внесения такого фильтра он будет применён к базовому фильтру в VDI, например: "&((condition1=value1)(condition2=value2)(ObjectGUID={}))"

Запрос:

{
"jsonrpc": "2.0",
"method": "ad-set-config",
"params": {
"extra_group_filter": "...", // Опционально (default NULL)
"extra_user_filter": "...", // Опционально (default NULL)
"fqdn": "DC=ext,DC=itglobal,DC=com",
"service_account_upn": "developer.test@itglobal.com",
"service_account_password": "qwerty" // Будет сохранен в зашифрованном виде
},
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585"
}

Успешный ответ:

{
"jsonrpc": "2.0",
"id": "cbf4478c-84b5-45ac-97cd-0390d7190585",
"result": {
"code": 1,
"message": "Created/Updated"
}
}