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:enabledexternalsupported_oidcurl
Запрос (Пример с 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"
}
}