Аутентификация
Для доступа к API elles-dns-api необходимо в заголовке HTTP-запроса Authorization предоставить действующий билет Kerberos, полученный через протокол SPNEGO:
Authorization: Negotiate <base64-encoded-token>
Например, чтобы выполнить запрос с помощью curl:
-
Убедитесь, что на клиентской машине установлен и настроен Kerberos-клиент.
-
Получите билет TGT (Ticket Granting Ticket) с помощью команды
kinit:kinit <user_name>@<REALM>
Пример:
kinit vivanov@example.com
-
Для аутентификации в API используйте
curlс флагами--negotiateи--user ::curl -k --negotiate -u : \ "https://<dns_api_host_server>:<port>/<api_endpoint>"Пример:
curl -k --negotiate -u : \ "https://api-host.example.com:9443/health"Описание параметров:
-
--negotiate— включает SPNEGO/Kerberos аутентификацию; -
-u :— указываетcurlиспользовать текущий Kerberos-билет без явного указания имени пользователя; -
-k— отключает проверку TLS-сертификата (только для тестирования).
-
Если в конфигурации сервера задан параметр rbac.group_roles, доступ разрешен только пользователям, чьи собственные SID (или SID групп, членами которых они являются) соответствуют ролям, определенным в Casbin-политиках.
|
Обновлено: