Подключение к SSO
После установки основных параметров необходимо выставить переменные для подключения к SSO.
AUTH_METHOD— метод авторизации в SSO. Все параметры, связанные сAUTH_METHOD, обязательны. Варианты:azure,adfs,keycloak,openid,ldap,kerberos. Пример:AUTH_METHOD=azureCONNECTOR_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/authorizeAZURE_TOKEN_URL— URL эндпоинта для получения токена. Пример:https://login.microsoftonline.com/HohLpGvI.../oauth2/v2.0/tokenAZURE_API_URL— URL эндпоинта получения информации по API. Пример:https://graph.microsoft.com/v1.0AZURE_CLIENT_ID— идентификатор приложения в Azure. Пример:0FYSAWm1A-1x4k-e14H-0LHe-gf6qwElcYuzAZURE_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. Пример:gramaxKEYCLOAK_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. Пример:gramaxOPEN_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:636LDAP_ADMIN_DN— DN административного пользователя с правами поиска. Пример:gramax@gramax.ruLDAP_ADMIN_PASSWORD— пароль административного пользователя. Пример:secretAdminPassLDAP_USER_SEARCH_BASE— DN базовой точки поиска пользователей. Пример:ou=users,dc=example,dc=comLDAP_USERNAME_ATTRIBUTE— атрибут пользователя для поиска. Пример:samaccountname,cn,mailLDAP_USER_DN— DN конкретного пользователя, если известен напрямую. Пример:OU=Enabled,OU=GRAMAX-USERS,DC=gramax,DC=localLDAP_GROUP_SEARCH_BASE— DN базовой точки поиска групп. Пример:ou=groups,dc=example,dc=comLDAP_GROUP_CLASS— класс объекта групповой записи. Пример:groupOfNamesLDAP_GROUP_MEMBER_ATTRIBUTE— атрибут в записи группы, содержащий членов группы. Пример:memberLDAP_GROUP_MEMBER_USER_ATTRIBUTE— атрибут пользователя, сопоставляемый сLDAP_GROUP_MEMBER_ATTRIBUTE. Пример:dnLDAP_ATTRIBUTES— список атрибутов пользователя через запятую. Если не указано, возвращаются все. Пример:cn,sn,mail
При AUTH_METHOD = kerberos
KERBEROS_REALM— Kerberos realm (домен Active Directory). Должен быть в UPPERCASE. Пример:COMPANY.LOCALKERBEROS_SERVICE_PRINCIPAL— Service Principal Name (SPN). Формат:HTTP/hostname@REALM. Пример:HTTP/gramax.company.local@COMPANY.LOCALKRB5_KTNAME— переменная для Kerberos библиотеки. Формат:FILE:/путь/к/keytab. Пример:FILE:/opt/gramax/config/gramax.keytabKERBEROS_REALMдолжен точно совпадать с доменом Active Directory в UPPERCASEKERBEROS_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:636LDAP_ADMIN_DN— DN пользователя с правами поиска в каталоге. Пример:gramax@gramax.ruLDAP_ADMIN_PASSWORD— пароль пользователя, указанного вLDAP_ADMIN_DN. Пример:secretAdminPassLDAP_USER_SEARCH_BASE— DN базовой точки поиска пользователей. Пример:ou=users,dc=example,dc=comLDAP_GROUP_CLASS— LDAP-класс объектов для поиска групп. Пример:groupLDAP_GROUP_SEARCH_BASE— DN базовой точки поиска групп. Пример:ou=groups,dc=example,dc=comLDAP_SEARCH_GROUP_LIMIT— максимальное количество групп при поиске. Пример:15
При CONNECTOR_TYPE=keycloak
KEYCLOAK_SERVER_URL— URL сервера Keycloak. Пример:https://keycloak.gram.ax/auth/KEYCLOAK_REALM— имя Realm в Keycloak. Пример:gramaxKEYCLOAK_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).