Для работы с настройками LDAP выполните запросы с помощью API-метода ldap (перед выполнением запроса определите токен администратора):
получение настроек подключения LDAP:
curl -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/settings/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>'
Пример ответа:
{
"is_enabled": true,
"host": "127.0.0.1",
"port": 389,
"is_ssl": false,
"is_global_catalog": true,
"base_dn": "dc=local",
"tech_user_login": "login",
"kerberos_enabled": false,
"kerberos_host": null,
"kerberos_port": 88
}
изменение настроек подключения LDAP:
curl -X PUT -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/settings/'
--header 'Content-Type: application/json' -H 'Authorization: Bearer <токен
администратора>' -d '{
"is_enabled": <признак
подключения к каталогу LDAP (true/false)>,
"delete_users_and_groups": <признак удаления пользователей и групп
при отключении LDAP (true/false)>,
"host": "<хост>",
"port": <порт>,
"is_ssl": <признак
подключения LDAP SSL (true/false)>,
"is_global_catalog": <признак
подключения к глобальному каталогу (true/false)>,
"base_dn": "<ветка
каталога LDAP>",
"tech_user_login": "<логин
технического пользователя>",
"tech_user_password": "<пароль технического пользователя>",
"kerberos_enabled": <признак
подключения к Kerberos (true/false)>,
"kerberos_host": "<хост
Kerberos>",
"kerberos_port": <порт
Kerberos>
}’
Пример ответа:
{
"is_enabled": true,
"host": "127.0.0.1",
"port": 389,
"is_ssl": false,
"is_global_catalog": true,
"base_dn": "dc=new_local,dc=local",
"tech_user_login": "new_login",
"kerberos_enabled": false,
"kerberos_host": null,
"kerberos_port": 88
}
получение атрибутов LDAP:
curl -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/settings/attrs/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>'
Пример ответа:
{
"ldap_attribute_login": "sAMAccountName",
"ldap_attribute_full_name": "CN",
"ldap_attribute_email": "mail",
"ldap_attribute_is_active": "userAccountControl",
"ldap_attribute_sid": "objectSID",
"ldap_attribute_group_name": "CN",
"ldap_attribute_member": "memberOf",
"ldap_attribute_upn": "userPrincipalName"
}
изменение атрибутов LDAP:
curl -X PUT -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/settings/attrs/'
--header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>' -d '{
"ldap_attribute_login": "<атрибут поиска имени пользователя>",
"ldap_attribute_full_name": "<атрибут поиска ФИО>",
"ldap_attribute_email": "<атрибут e-mail>",
"ldap_attribute_is_active": "<атрибут активности учетной записи>",
"ldap_attribute_sid": "<атрибут SID>",
"ldap_attribute_group_name": "<атрибут поиска имени группы>",
"ldap_attribute_member": "<атрибут списка пользователей в группе>",
"ldap_attribute_upn": "<атрибут поиска адреса пользователя с доменом>"
}'
Пример ответа:
{
"ldap_attribute_login": "AccountName",
"ldap_attribute_full_name": "CN",
"ldap_attribute_email": "yandex",
"ldap_attribute_is_active": "userAccountControl",
"ldap_attribute_sid": "SID",
"ldap_attribute_group_name": "CN",
"ldap_attribute_member": "memberOf",
"ldap_attribute_upn": "userPrincipalName"
}
получение расписания синхронизации LDAP:
curl -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/schedule/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>'
Пример ответа:
{
"crontab": "0 12 * * *"
}
изменение расписания синхронизации LDAP:
curl -X POST -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/schedule/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>' -d '{"crontab": "<расписание синхронизации в формате cron>"}'
Пример ответа:
{
"crontab": "0 */4 * * *"
}
отключение синхронизации по расписанию:
curl -X DELETE -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/schedule/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>'
Пример ответа:
204
См. также: