Как настроить nginx так, чтобы получить информацию о пользователе из домена при использовании авторизации через AD или Kerberos?

Как можно обновить конфигурацию сервера nginx, который авторизует пользователей через AD с помощью Kerberos, чтобы помимо учетной записи пользователя также получать информацию о домене, на котором пользователь находится, учитывая, что в AD есть несколько доменов и возможны дублирования учетных записей между доменами? В данный момент в конфигурации nginx используется переменная $remote_user для передачи учетной записи пользователя, но требуется получить дополнительную информацию о домене.
  • 18 марта 2024 г. 8:29
Ответы на вопрос 2
Для получения информации о домене пользователя при использовании авторизации через AD или Kerberos, вам необходимо настроить сервер nginx соответствующим образом.

1. Убедитесь, что ваш сервер nginx поддерживает модуль ngx_http_auth_request. Этот модуль позволяет делать запрос к другому серверу для выполнения авторизации.

2. Создайте скрипт на сервере, который будет получать информацию о пользователе и домене из AD или Kerberos. В этом скрипте вы можете использовать библиотеки для работы с LDAP или Kerberos для получения необходимой информации.

3. Обновите конфигурацию сервера nginx для использования ngx_http_auth_request модуля и определите путь к вашему скрипту для получения информации о пользователе и домене.

Пример конфигурации nginx для использования ngx_http_auth_request модуля:

```
location / {
    auth_request /auth;
    auth_request_set $user $upstream_http_x_user;
    
    # ваша логика обработки информации о пользователе и домене
    # например, вы можете использовать переменные $user и $upstream_http_x_domain
}

location = /auth {
    internal;
    proxy_pass http://localhost/auth_script; # замените на путь к вашему скрипту
    proxy_pass_request_body off;
    proxy_set_header Content-Length "";
    proxy_set_header X-Original-URL $request_uri;
}
```

Помимо этого, в вашем скрипте на сервере вам нужно будет обрабатывать запросы от nginx и возвращать информацию о пользователе и домене. Как именно это будет происходить зависит от используемой технологии для работы с AD или Kerberos.

Обратите внимание, что для работы с Kerberos на сервере, на котором запущен nginx, должен быть настроен и работать Kerberos клиент.
Привет из прошлого, если ты столкнулся с тем же, вот решение: 
auth_gss_format_full on;
Похожие вопросы