4.6. Аутентификация через SAML

Технология SAML SSO позволяет пользователям получать доступ к нескольким приложениям, используя один набор учетных данных. Для этого поставщик SAML-идентификации проверяет подлинность пользователей и передает учетные данные для авторизации в Boro-приложение. Чтобы подключить вход через SAML, необходимо произвести обмен метаданных между поставщиком и Boro-приложением. Обмен метаданными необходим, чтобы поставщик мог однозначно идентифицировать приложение и безопасно передавать данные для авторизации пользователей. В нашей инструкции для примера в качестве поставщика рассматривается Amazon Web Services (AWS).

Получение метаданных из AWS

  1. Перейдите на сайт AWS и нажмите кнопку Вход в Консоль в правом верхнем углу.

  2. Войдите в аккаунт AWS.

  3. Откройте IAM Identity Center и активируйте его в вашем AWS-аккаунте.

    ../_images/IAM_Identity_Center.png
  4. На панели слева нажмите на вкладку Applications.

  5. Нажмите кнопку Add application в правом верхнем углу, чтобы добавить приложение, для которого нужно настроить SAML-аутентификацию.

  6. Далее в разделе Setup preference выберите опцию I have an application I want to set up.

    ../_images/setup_preference.png
  7. Ниже появится раздел Application type. Выберите в нем SAML 2.0 и нажмите Next в самом низу. Откроется страница Configure application.

    ../_images/application_type.png
  8. На странице Configure application задайте имя приложения в поле Display name.

    ../_images/setting_name.png
  9. Ниже скачайте файл IAM Identity Center SAML metadata file, нажав на ссылку с надписью Download. Файл содержит метаданные поставщика идентификации. Содержимое файла необходимо скопировать и добавить в Boro-приложение.

    ../_images/AWS_metadata.png

    Примечание

    В поле Session duration оставьте значение по умолчанию. Данная настройка относится к порталу AWS. Чтобы задать продолжительность сессии в системе Boro, воспользуйтесь настройкой Сессия истекает.

Далее необходимо настроить SAML в Boro, прежде чем выполнять оставшиеся шаги на стороне AWS.

Настройка SAML-аутентификации в Boro

  1. Войдите в аккаунт Boro, используя логин и пароль администратора или владельца выбранного проекта. Аутентификация настраивается для каждого проекта индивидуально.

  2. Перейдите в Настройки проектаОбщие настройки. Пролистайте страницу до раздела SAML и отметьте чекбокс Использовать SAML SSO.

    ../_images/SAML_checkbox_ru.png
  3. Выберите метод входа:

    • Индивидуальный аккаунт — пользователи входят на сервер через собственные аккаунты. Если пользователь с таким адресом электронной почты отсутствует в базе, он будет автоматически зарегистрирован. Регистрация требует подтверждения через ссылку в письме.

    • Прокси-аккаунт — пользователи входят через аккаунт единственного пользователя, который был зарегистрирован на сервере обычным способом (без SAML SSO). Аккаунт должен быть заранее добавлен с выбранной ролью в проект. Владельцу такого аккаунта необходимо одобрить использование аккаунта в качестве единой точки входа.

Ниже описана настройка индивидуального аккаунта и прокси-аккаунта.

Индивидуальный аккаунт

  1. Укажите роль пользователя, которая будет присваиваться ему в проекте при регистрации через SAML SSO. Доступны следующие роли: Администратор, Инженер, Оператор, Наблюдатель. Подробнее о ролях можно прочитать в разделе Совместный доступ к проекту. Если пользователь с таким адресом электронной почты уже добавлен в проект, его роль сохраняется.

  2. При необходимости задайте время продолжительности сессии в поле Сессия истекает. Чтобы предоставить доступ только аккаунтам с определенными доменными именами верхнего уровня, перечислите эти имена через запятую в поле Доверенные домены.

  3. В поле Метаданные поставщика идентификации скопируйте данные из файла, скачанного с сайта AWS. Нажмите кнопку Применить.

Прокси-аккаунт

  1. Выберите адрес электронной почты прокси-аккаунта из выпадающего списка. В списке присутствуют адреса пользователей, которым ранее был предоставлен Совместный доступ к проекту.

  2. Скопируйте данные из файла, скачанного с сайта AWS, и вставьте их в поле Метаданные поставщика идентификации. Нажмите кнопку Применить.

  3. Пользователь с выбранным адресом получит письмо с запросом стать прокси-пользователем в проекте. Он должен открыть письмо и перейти по ссылке в свой профиль.

  4. На странице профиля пользователь должен принять предложение стать прокси-пользователем. Впоследствии решение можно отозвать. Когда пользователь примет предложение, рядом с его адресом электронной почты в разделе SAML появится статус Принят.

Далее пролистайте страницу вниз и скачайте файл метаданных Boro-приложения, нажав Скачать. Загрузите файл в AWS, как описано ниже, чтобы завершить настройку аутентификации через SAML.

Загрузка метаданных Boro-приложения в AWS

  1. Чтобы загрузить метаданные Boro-приложения, вернитесь на страницу Configure application, где вы скачивали метаданные поставщика идентификации AWS. Перейдите в раздел Application metadata в конце страницы и выберите опцию Upload application SAML metadata file. Нажмите кнопку Choose file и выберите файл с метаданными Boro-приложения. Нажмите кнопку Submit.

    ../_images/Boro_metadata_file.png
  2. На странице вашего приложения нажмите кнопку Actions и выберите пункт Edit attribute mappings в выпадающем списке, чтобы задать атрибуты для авторизации.

    ../_images/edit_mappings.png
  3. Задайте значения атрибутов. Впишите ${user:subject} в поле рядом с атрибутом Subject и в выпадающем списке справа от поля выберите свойство transient.

  4. Добавьте новый атрибут, нажав кнопку Add new attribute mapping. Дайте атрибуту название e-mail, рядом впишите значение ${user:email} и выберите свойство basic. Нажмите кнопку Save changes.

  5. Назначьте Boro-приложению пользователей и(или) группы, нажав кнопку Assign users and groups. Отметьте чекбокс напротив имен пользователей, которых хотите добавить. Или перейдите на вкладку Groups над списком пользователей и отметьте соответствующие группы. Нажмите кнопку Assign users. Если пользователи или группы еще не созданы, создайте их во вкладках Users и Groups на панели слева.

  6. Откройте страницу AWS access portal, которая содержит все приложения с SAML-аутентификацией. Для этого кликните по вкладке Dashboard на панели слева, a затем по ссылке AWS access portal URL в разделе Settings summary справа.

    ../_images/access_portal_url.png

    Примечание

    При первом входе в AWS access portal необходимо подключить двухфакторную аутентификацию.

  7. Перейдите в приложение Boro.

  8. Если выбран метод входа Прокси-аккаунт, авторизация пользователя в проекте Boro происходит под именем прокси-пользователя.

  9. Если выбран метод Индивидуальный аккаунт, при первой попытке аутентификации Boro отправит письмо с подтверждением регистрации на адрес электронной почты, указанный для пользователя в AWS. Откройте письмо, перейдите по ссылке из письма для подтверждения регистрации в системе Boro, затем вновь перейдите в Boro-приложение из AWS access portal.