Метод работы с настройками LDAP

Для работы с настройками LDAP выполните запросы с помощью API-метода 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
}

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
}

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"
}

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"
}

curl -v '<IP-адрес или DNS-имя сервера>/api/v2/ldap/schedule/' --header 'Content-Type: application/json' -H 'Authorization: Bearer <токен администратора>'

Пример ответа:

{
    "crontab": "0 12 * * *"
}

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

См. также:

API сервера