Настройки способов аутентификации#

Возможны следующие варианты настройки способов аутентификации в EDMN:

  1. С помощью Platform V IAM SE.

  2. С помощью LDAP.

  3. С помощью файла.

Настройка аутентификации через IAMProxy#

  1. После регистрации приложения в СУДИР NGAM и установки и настройки IAM Proxy пользователь входит в браузере на адрес IAM Proxy, настроенного на работу с EDMN. IAM Proxy предоставляет форму для авторизации, где происходит авторизация по логину и паролю.

  2. IAM Proxy пытается авторизовать пользователя в СУДИР NGAM и, в случае успеха, получает данные (access token, refresh token …) и в формате JWT отдает в EDMN в HTTP-заголовке Authorization, где из JWT можно извлечь информацию о пользователе и идентифицировать его.

  3. Происходит авторизация пользователя согласно ролевой модели.

Настройки задаются в конфигурационном файле vars.yml в блоке oauth:

oauth:
  type: iamproxy # Включенные сервисы аутентификации (названия соответствуют полям в "authentication.oauth.clients")
    requireTokenOnEveryRequest: false  # Для успешной аутентификации необходимо передавать токен на каждый запрос (по умолчанию отключено)
    disableEndpoints: true  # Отключить конечные точки аутентификации для работы с Proxy IAM
    clients:
      iamproxy:
        autoUpdateUserProfile: true # пользователь будет создаваться на основе ID Token
        claims: # Поле в котором хранится логин пользователя (по умолчанию preferred_username)
          username: "sub" # Поле в котором хранится список назначенных пользователю ролей
        security:
          skipAllValidators: false # Отключение проверки токена
        endpoints:
          jwks:
              url: http://hostname/openid-connect/certs # Конечная точка открытых ключей

Аутентификационные данные пользователей хранятся в AD.

Настройка аутентификации через LDAP#

Аутентификация пользователей через LDAPS осуществляется по логину и паролю с применением политик AD компании.

Настройки LDAPS задаются в файле vars.yml в блоке authentication.:

authentication:
  type: ldap
  userList:
    - login: # testuser
      # - login: username
      # password: *
  groupsList:
    - # Путь к группе пользователей в LDAP
  ssl:
    protocol: TLSv1.3
    keystore: vault:ldap.jks # путь к сертификату
    truststore: vault:ldap.jks # путь к хранилищу сертификатов
  ldap:
    url: # адрес LDAP сервера
    port: 389                           # 389 - порт LDAP (без SSL)

Аутентификационные данные пользователей хранятся в AD.

Настройки аутентификации через файл#

Настройки аутентификации через файл задаются в конфигурационном файле vars.yml в блоке authentification.type:

authentication: # Блок аутентификации
    type: basic # Поддерживаемые типы: ldap, basic
    userList: # Список пользователей
      - login: user
        password: __PLACEHOLDER__ # Обязательное поле при аутентификации типа basic. При его отсутствии сгенерируется пустой пароль

, где:

  • в параметре type необходимо указать значение basic;

  • в параметре userList указать список пользователей для аутентификации.

Пароли указываются в vault.yaml в зашифрованном виде и передаются в виде переменной.

В дальнейшем данные для аутентификации хранятся на файловой системе в зашифрованном файле (логины и пароли).