Multi SSO + directory user sync

Добавили возможность использовать в компании сразу несколько способов SSO аутентификации, а также синхронизацию пользователей и групп с директориями.

Раньше в Kaiten вы могли использовать только один способ SSO аутентификации, но в случае нескольких доменов, данный функционал был ограниченным. Теперь вы можете настроить любое количество способов аутентификации для аккаунта.

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

Если пользователь решит авторизоваться с помощью email, но домен данного имейла присутствует в доменах одного из ваших способов аутентификации, то Kaiten подскажет, какой именно кнопкой входа воспользоваться

Использование SSO-аутентификаций доступно в аккаунтах с подключенным модулем «Группы пользователей», а также на тарифе Enterprise.

Как добавить новый способ аутентификации

  • Зайдите в настройки компании и нажмите «Добавить новый способ аутентификации»

  • Выберите нужный тип аутентификации

  • Заполните все обязательные поля — подробные инструкции далее.

Настройка Google Workspace

Читайте здесь: Вход в Kaiten с помощью Google SSO (G Suite)

Open ID connect with secret

Читайте здесь: Настройка SSO «OpenID Connect» (на примере Keycloak)

LDAP

  1. В поле domains введите домены пользователей, для которых будет использован данный метод аутентификации (пример: yourcompany.ru)

  2. В поле url введите адрес для соединения с сервером по LDAP (пример: ldap://0.0.0.0:389)

  3. В поле bindDN введите имя (Distinguished Name с правами на поиск пользователей) с помощью которого будет проходить аутентификация (пример: cn=admin,dc=ramhlocal,dc=com)

  4. В поле bindCredentials введите пароль, который будет использоваться для bindDN

  5. В поле searchBase введите данные для сужения поиска (например: ou=users,dc=ramhlocal,dc=com)

  6. В поле searchFilter введите фильтр, который позволит из списка пользователей выбрать нужного, имя пользователя/email будет доступно в плейсхолдере {{username}} (Пример: (|(mail={{username}})(sAMAccountName={{username}})))

Остальные поля являются опциональными.

Поле SearchAttributes используется чтобы сузить поля, которые отдает сервер. В случае если вы будете указывать поля - минимальный набор полей - cn, mail (cn - Common Name, используется для имени пользователя, mail (Email)).

Поля для настройки по группам (groupSearchBase, groupSearchFilter, groupSearchAttributes, groupDnProperty, groupSearchScope) используются в случае если вы ходите чтобы пользователи только из определенных групп имели доступ к Кайтен.

Пример фильтра по группам:

groupSearchBase — ou=groups,dc=ramhlocal,dc=com

groupSearchFilter — (&(memberUid={{username}})(|(cn=developer)(cn=designer)))

groupDnProperty — memberUid (аттрибут группы, указывающий на участников группы)

(В данном примере смогут авторизоваться только те пользователи, которые состоят в группах developer или designer)

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

Синхронизация пользователей с директорией

Синхронизация позволяет поддерживать состояние пользователей и групп в Kaiten в синхронном состоянии с вашей директорией:

  • В случае добавления нового пользователя в директорию — пользователь добавляется в Kaiten.

  • При деактивации пользователя в директории — пользователь деактивируется в Kaiten.

  • Также можно синхронизировать и группы. При добавлении пользователя в группу в директории — он также будет добавлен в группу в Kaiten, в случае удаления пользователя из группы в директории — он будет удален из группы в Kaiten.

Синхронизация будет запускаться раз в выбранный вами промежуток времени.

Возможность включить синхронизацию пользователей и групп с директорией доступна для каждого типа аутентификации (за исключением Google workspaces). Из коннекторов на данный момент доступен только LDAP.

На данный момент синхронизация работает в режиме BETA.

Настройка синхронизации пользователей и групп

  • для настройки синхронизации кликните на иконку синхронизации

  • Выберите желаемый интервал для синхронизации в минутах. Синхронизация будет проходить каждые n минут, но не чаще чем раз в 60 минут.

  • Настройка полей для соединения. В случае если тип аутентификации LDAP, то данные поля настраивать не нужно.

    • url — введите адрес для соединения с сервером по LDAP (пример: ldap://0.0.0.0:389).

    • bindDN — введите имя (Distinguished Name с правами на поиск пользователей) с помощью которого будет проходить аутентификация (пример: cn=admin,dc=ramhlocal,dc=com).

    • bindCredentials — введите пароль, который будет использоваться для bindDN.

    • searchBase — введите точку входа для сужения поиска (например: ou=users,dc=ramhlocal,dc=com).

  • Далее выберите нужные настройки синхронизации пользователей.

    При выборе настройки Деактивировать пользователей если они деактивированы в директории доступен выбор типа вашего LDAP, если это Windows ActiveDirectory или Open LDAP. При указание конкретного типа LDAP деактивация пользователей в Кайтен будет происходить по заранее установленным атрибутам:

    • для Windows ActiveDirectory - это атрибут userAccountControl в Директории, который используется для управления и описания различных характеристик учетных записей пользователей. Пользователь считается деактивированным, если значение данного атрибута включает в себя значение флага ACCOUNTDISABLE = 2;

    • для Open LDAP - это атрибут shadowExpire в Директории, который используется для обозначения даты, когда пароль пользователя истекает. Эта дата обычно выражается в количестве дней с начала "эпохи UNIX", то есть с 1 января 1970 года. Пользователь считается деактивированным, если этот атрибут заполнен и его значение меньше значения, соответствующего текущей дате.

    Если тип LDAP не указан, то деактивация пользователей будет происходить путем сравнения наличия пользователей в логах предыдущей синхронизации.

  • Настройка схемы пользователей

    • objectClass — тип записи «пользователь» в директории (пример: person или inetOrgPerson в open ldap, person или user в microsoft AD)

    • objectFilter — фильтр по пользователям. С помощью фильтра вы можете сузить поиск и добавить синхронизацию только для пользователей по выбранным критериям (в случае если фильтр вам не нужен выберите всех пользователей (objectclass=person)).

      Если тип LDAP не указан, то фильтр не должен возвращать деактивированных пользователей. Пример для microsoft AD: (&(objectClass=users)(!(userAccountControl:1.2.840.113556.1.4.803:=2))).

      Если же выбран конкретный тип LDAP (Windows ActiveDirectory или Open LDAP), фильтр должен возвращать всех пользователей, включая деактивированных.

    • Поле «Common Name» — введите название поля, которое используется для хранения имени объекта в директории (пример: cn)

    • Поле «Email» — введите название поля, которое используется для хранения email объекта в директории (пример: mail)

    • Поле «First Name» — введите название поля, которое используется для хранения имени пользователя в директории (пример: givenName)

    • Поле «Last Name» — введите название поля, которое используется для хранения фамилии пользователя в директории (пример: sn)

      Все поля настройки схемы пользователей являются обязательными для заполнения.

  • Настройка синхронизации групп. Выберите нужный вам вариант синхронизации групп.

    • В случае выбора «Синхронизировать все группы» будут обработаны все группы, которые вернутся после поиска по директории.
      Группы будут обработаны по названию. Если группа с выбранным названием не найдена в Kaiten, то она будет создана с минимальным набором прав (с тем же набором прав что и при создании из интерфейса в Kaiten).
      Синхронизированные пользователи будут добавлены в группы. В случае если пользователь раньше состоял в группе, но при новой синхронизации данный пользователь в группе не найден, то он будет удален из такой группы.

    • В случае выбора «Синхронизировать только выбранные группы» вы вводите название группы в директории и название группы в Kaiten.
      Будут синхронизированы только введенные вами группы.
      Если группа с введенным именем в Kaiten не найдена, то она будет создана.

  • Настройка схемы групп

    • searchBase — введите точку входа для сужения поиска по группам (например ou=groups,dc=ramhlocal,dc=com)

    • objectClass — тип записи «группа» в директории (например groupOfUniqueNames в open ldap или group в microsoft AD)

    • objectFilter — фильтр по группам. С помощью фильтра вы можете сузить поиск и добавить синхронизацию только для групп по выбранным критериям (данное поле отсутствует в случае если выбрана синхронизация только выбранных групп. Пример - (objectclass=group))

    • Поле «Common name» — введите название поля, которое используется для хранения имени объекта в директории (пример: cn)

    • Поле содержащее идентификаторы пользователей — введите название поля, в котором содержится информация о пользователях группы (список с уникальными идентификаторами пользователей. Пример: memberUid в open ldap, member в microsoft AD)

    • Поле пользователей, на которое ссылаются группы — введите название поля пользователей, на которое ссылаются группы.

    • Поле содержащее идентификаторы пользователей содержит идентификаторы пользователей. В случае open ldap в этом списке — uid пользователей, в случае Microsoft AD — dn пользователей.

  • Сохраните введенные настройки синхронизации. Для активации синхронизации переведите переключатель «Синхронизация включена» в активное состояние (при переключении будет произведено тестовое соединение с вашей директорией).

  • После включения, вы сможете протестировать синхронизацию запустив ее вручную

  • Для проверки последних синхронизаций вы можете посмотреть логи. Для этого в списке способов аутентификации кликните на иконку логов.

  • Вы сможете увидеть дату, статус, а также краткую информацию по конкретной синхронизации

  • для просмотра более подробной информации о конкретной синхронизации кликните на интересующую вас синхронизацию. В открывшемся окне вы сможете увидеть более подробную информацию о конкретной синхронизации.

Обратите внимание, синхронизации работает в режиме BETA. Пожалуйста, сообщайте о ваших пожеланиях в работе синхронизации, а также о возможных ошибках.