Подключение к SSO

После установки основных параметров необходимо выставить переменные для подключения к SSO.

  • AUTH_METHOD — метод авторизации в SSO. Все параметры, связанные с AUTH_METHOD, обязательны. Варианты: azure, adfs, keycloak, openid, ldap, kerberos. Пример: AUTH_METHOD=azure

  • CONNECTOR_TYPE — метод получения списка пользователей. Все параметры, связанные с CONNECTOR_TYPE, обязательны. Варианты: ldap, keycloak, scim. Пример: CONNECTOR_TYPE=ldap

Авторизация

Callback URL

При настройке Callback URL в вашем SSO-провайдере укажите адрес Enterprise-сервиса с маршрутом /sso/cb.

Пример: https://ges-gram.ax/sso/cb

При AUTH_METHOD = azure

  • AZURE_AUTHORIZATION_URL — URL эндпоинта авторизации. Пример: https://login.microsoftonline.com/HohLpGvI.../oauth2/v2.0/authorize

  • AZURE_TOKEN_URL — URL эндпоинта для получения токена. Пример: https://login.microsoftonline.com/HohLpGvI.../oauth2/v2.0/token

  • AZURE_API_URL — URL эндпоинта получения информации по API. Пример: https://graph.microsoft.com/v1.0

  • AZURE_CLIENT_ID — идентификатор приложения в Azure. Пример: 0FYSAWm1A-1x4k-e14H-0LHe-gf6qwElcYuz

  • AZURE_CLIENT_SECRET — секрет приложения в Azure. Пример: rY3yh*suIebMk^k0KGoi3azsIBP&FY@odQsgFVdc

При AUTH_METHOD = adfs

  • ADFS_CERT — сертификат для аутентификации в ADFS.

  • ADFS_ENTRYPOINT — точка входа для аутентификации. Пример: https://adfs.gram.ax/adfs/ls/

  • ADFS_ISSUER — идентификатор ADFS. Пример: https://adfs.gram.ax/

  • ADFS_CALLBACK_URL — URL для обратного вызова после успешной аутентификации. Пример: https://app.gram.ax/auth/cb

При AUTH_METHOD = keycloak

  • KEYCLOAK_SERVER_URL — URL сервера Keycloak. Пример: https://keycloak.gram.ax/auth/

  • KEYCLOAK_REALM — имя Realm в Keycloak. Пример: gramax

  • KEYCLOAK_CLIENT_ID — идентификатор клиента Keycloak.

  • KEYCLOAK_USE_ACCESS_TOKEN_INFO — брать ли информацию о пользователе из access_token. Пример: KEYCLOAK_USE_ACCESS_TOKEN_INFO=true

При AUTH_METHOD = openid

  • OPEN_ID_SERVER_URL — URL сервера OpenID. Пример: https://keycloak.gram.ax/auth/

  • OPEN_ID_REALM — имя Realm в OpenID. Пример: gramax

  • OPEN_ID_CLIENT_ID — идентификатор клиента OpenID.

  • OPEN_ID_CLIENT_SECRET — секрет клиента OpenID.

При AUTH_METHOD = ldap

  • LDAP_URL — URL LDAP-сервера. Пример: ldap://ldap.example.com:389 или ldaps://ldap.example.com:636

  • LDAP_ADMIN_DN — DN административного пользователя с правами поиска. Пример: gramax@gramax.ru

  • LDAP_ADMIN_PASSWORD — пароль административного пользователя. Пример: secretAdminPass

  • LDAP_USER_SEARCH_BASE — DN базовой точки поиска пользователей. Пример: ou=users,dc=example,dc=com

  • LDAP_USERNAME_ATTRIBUTE — атрибут пользователя для поиска. Пример: samaccountname, cn, mail

  • LDAP_USER_DN — DN конкретного пользователя, если известен напрямую. Пример: OU=Enabled,OU=GRAMAX-USERS,DC=gramax,DC=local

  • LDAP_GROUP_SEARCH_BASE — DN базовой точки поиска групп. Пример: ou=groups,dc=example,dc=com

  • LDAP_GROUP_CLASS — класс объекта групповой записи. Пример: groupOfNames

  • LDAP_GROUP_MEMBER_ATTRIBUTE — атрибут в записи группы, содержащий членов группы. Пример: member

  • LDAP_GROUP_MEMBER_USER_ATTRIBUTE — атрибут пользователя, сопоставляемый с LDAP_GROUP_MEMBER_ATTRIBUTE. Пример: dn

  • LDAP_ATTRIBUTES — список атрибутов пользователя через запятую. Если не указано, возвращаются все. Пример: cn,sn,mail

При AUTH_METHOD = kerberos

  • KERBEROS_REALM — Kerberos realm (домен Active Directory). Должен быть в UPPERCASE. Пример: COMPANY.LOCAL

  • KERBEROS_SERVICE_PRINCIPAL — Service Principal Name (SPN). Формат: HTTP/hostname@REALM. Пример: HTTP/gramax.company.local@COMPANY.LOCAL

  • KRB5_KTNAME — переменная для Kerberos библиотеки. Формат: FILE:/путь/к/keytab. Пример: FILE:/opt/gramax/config/gramax.keytab

  • KERBEROS_REALM должен точно совпадать с доменом Active Directory в UPPERCASE

  • KERBEROS_SERVICE_PRINCIPAL должен совпадать с SPN, зарегистрированным в Active Directory

  • Путь в KRB5_KTNAME должен начинаться с префикса FILE:

  • Keytab файл должен иметь права доступа 600

Список пользователей

При CONNECTOR_TYPE=ldap

  • LDAP_URL — URL LDAP-сервера. Пример: ldap://ldap.example.com:389 или ldaps://ldap.example.com:636

  • LDAP_ADMIN_DN — DN пользователя с правами поиска в каталоге. Пример: gramax@gramax.ru

  • LDAP_ADMIN_PASSWORD — пароль пользователя, указанного в LDAP_ADMIN_DN. Пример: secretAdminPass

  • LDAP_USER_SEARCH_BASE — DN базовой точки поиска пользователей. Пример: ou=users,dc=example,dc=com

  • LDAP_GROUP_CLASS — LDAP-класс объектов для поиска групп. Пример: group

  • LDAP_GROUP_SEARCH_BASE — DN базовой точки поиска групп. Пример: ou=groups,dc=example,dc=com

  • LDAP_SEARCH_GROUP_LIMIT — максимальное количество групп при поиске. Пример: 15

При CONNECTOR_TYPE=keycloak

  • KEYCLOAK_SERVER_URL — URL сервера Keycloak. Пример: https://keycloak.gram.ax/auth/

  • KEYCLOAK_REALM — имя Realm в Keycloak. Пример: gramax

  • KEYCLOAK_API_TOKEN — токен доступа.

При CONNECTOR_TYPE=scim

  • SCIM_SERVER_URL — URL сервера SCIM. Пример: https://scim.gram.ax/auth/

  • SCIM_TOKEN — токен доступа (используется вместо SCIM_ADMIN_LOGIN + SCIM_ADMIN_PASSWORD).

  • SCIM_GET_USERS_FILTER — фильтр для поиска пользователей. По умолчанию: userName co "${searchSubstring}"

  • SCIM_ADMIN_LOGIN — username при Basic-авторизации (вместо SCIM_TOKEN).

  • SCIM_ADMIN_PASSWORD — password при Basic-авторизации (вместо SCIM_TOKEN).