Использование альтернативных стандартов авторизации в системе PolyAnalyst

Альтернативные стандарты авторизации

Альтернативные способы авторизации в системе PolyAnalyst представлены следующими службами и сервисами: Microsoft Azure AD, Facebook и Google.

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

Такой подход позволяет упростить процесс регистрации/авторизации пользователей за счет использования данных третьей стороны.

Обратите внимание на то, что кнопки Facebook и Google, а также облачной платформы Microsoft Azure AD в логин-диалоге в браузере отображаются только после их корректной настройки в Административном клиенте, в отличие от окна входа в нативный аналитический клиент, в котором они присутствуют независимо от настроек. Если пользователи попытаются авторизоваться в PolyAnalyst, используя свои учетные данные внешних сервисов, без предварительной настройки сервера, на экране появится сообщение об ошибке.

Настройка авторизации через Microsoft Azure AD

Для того чтобы настроить сервер PolyAnalyst для использования учетных данных пользователей Microsoft Azure AD для авторизации в системе, следуйте инструкции:

  1. Откройте портал Azure AD.

  2. Нажмите на иконку Microsoft Entra ID, выберите App Registration (Регистрация приложений) и нажмите на иконку в виде знака "плюс", чтобы начать регистрацию нового приложения.

  3. На странице "Authentication" портала Azure AD добавьте Web-платформу с URL-адресом перенаправления https://<server_addr>/polyanalyst/oauth/azure и URL выхода https://<server_addr>/polyanalyst/oauth/azure/logout.

  4. Выберите нужный тип аккаунта.

    Существует два типа аккаунтов:

    • Однотенантные приложения доступны только в клиенте, для которого они были зарегистрированы, который также называется "домашний клиент". Для таких аккаунтов необходимо указать ID арендатора (Tenant ID) из ID каталога конкретной организации; он совпадает с Directory (tenant) ID на странице "Overview".

    • Мультитенантные приложения доступны пользователям как в своих домашних, так и в других клиентах.

  5. На странице "Certificates & secrets" добавьте секретный ключ клиента, запишите и сохраните его в безопасном месте.

  6. Добавьте разрешения делегирования:

    • Microsoft Graph

    • User.Read

    • Group.Read.All

  7. В качестве альтернативы используйте следующие разрешения делегирования:

    • Microsoft Graph

    • User.Read

    • Azure Active Directory Graph

    • Group.Read.All

  8. Без разрешения "Group.Read.All" Azure AD будет возвращать пустые имена групп, а пользователи, которые состоят в нескольких группах, получат сообщение "User with this login already exists". Если нет внешнего адреса сервера с HTTPS сертификатом, то URL выхода работать не должен. Он нужен для следующего: если пользователь выходит из аккаунта Azure, автоматически выполняется выход из системы PolyAnalyst.

  9. После того, как разрешения делегирования добавлены, нажмите на кнопку Grant admin consent, чтобы предоставить согласие администратора на работу приложения и завершить регистрацию.

Далее, откройте Административный клиент, перейдите на вкладку Настройки сервера и откройте раздел Настройка авторизации через Azure AD:

authenticate with azure.rus

Выполните следующие действия:

  1. Отметьте чекбокс Включить авторизацию в PA с помощью аккаунтов Azure Active Directory.

  2. Введите ID приложения (client_id), URL перенаправления и секрет клиента в специальные поля.

  3. Укажите ID каталога организации или оставьте 'common', если ваше приложение зарегистрировано как мультитенантное.

  4. Просмотрите и при необходимости измените другие опции в окне. Например, вы можете добавить особый префикс к именам всех пользователей, осуществляющих вход в PolyAnalyst через сервис Azure AD, чтобы их легче было различать. Вы можете изменить тип лицензии для этих пользователей и количество лицензий на использование разных клиентских приложений. В поле Разрешенные группы укажите через точку с запятой список разрешенных групп Azure AD, например: "Analysts;PolyUsers". Пользователь сможет работать с PolyAnalyst, если он входит хотя бы в одну группу из указанных в данном поле. В поле Фильтр групп вы можете ввести список групп Azure AD через точку с запятой. Если заполнить поле, PolyAnalyst будет игнорировать все Azure AD-группы, которые не входят в данный список.

  5. Обратите внимание на то, что из соображений безопасности опция Cаморегистрирующиеся пользователи автоматически блокируются по умолчанию включена. Вы можете отключить ее, если хотите, чтобы все новые пользователи могли сразу выполнять вход в систему PolyAnalyst, используя учетные данные Microsoft Azure AD. В противном случае при первой попытке входа для таких пользователей на экране будет отображаться сообщение об ошибке "Пользователь заблокирован".

  6. Нажмите Сохранить изменения, чтобы внесенные вами изменения вступили в силу.

С этого момента все новые пользователи смогут, указав свои учетные данные Microsoft Azure AD в окне входа в PolyAnalyst, подавать заявку на создание пользовательского профиля.

Обратите внимание на то, что по умолчанию профили новых пользователей PolyAnalyst, использующих свои учетные данные Microsoft Azure AD, при первом входе в систему по умолчанию будут деактивированы. Администратору необходимо явно предоставить им разрешения на выполнение различных действий в PolyAnalyst в разделе настроек Пользователи и группы в Административном клиенте.

Для настройки имперсонации при входе в систему, а также для входа в систему при использовании веб-приложений PolyAnalyst необходимо внести дополнительные настройки в приложение на Портале Azure AD:

  1. Выберите приложение.

  2. На странице Authentication нажмите кнопку Add platform.

  3. Откроется страница Configure platforms. Выберите Single-page application.

  4. В поле Redirect URIs добавьте https://localhost:5043/polyanalyst/oauth/azureweb. Нажмите Configure для сохранения настроек.

После этого откройте Административный клиент, перейдите на вкладку Настройки сервера и откройте раздел Настройки OAuth Azure AD. Добавьте этот же URI в поле Redirect URI Web.

Чтобы установить авторизацию с помощью Azure AD в качестве опции входа в систему PolyAnalyst:

  1. Отметьте опцию Установить в качестве предпочтительного варианта входа для входа с помощью учетной записи Azure AD;

  2. Отметьте опцию Использовать предпочтительный вариант входа в систему в настройках Веб-отчеты в Настройках сервера для включения опции входа в диалоговом окне входа в систему PolyAnalyst.

Настройка авторизации через Facebook

Для того чтобы настроить сервер PolyAnalyst для использования учетных данных пользователей Facebook для авторизации в системе, следуйте инструкции:

  1. Если у вас еще нет аккаунта в сети Facebook, перейдите на страницу facebook.com и зарегистрируйтесь.

  2. Перейдите на страницу для разработчиков и создайте новое приложение.

  3. Прежде всего в разделе Настройки выберите подраздел Основное. На вкладке Основные настройки введите один или несколько URL-адресов сайтов (например, https://localhost:5043/ http://localhost:5080/) и доменов приложений (например, localhost) в соответствующих полях и сохраните изменения. Данный шаг необходим, если вы хотите настроить авторизацию через социальные сети в браузере. Если вы намерены настроить OAuth-авторизацию только для нативного клиента под Windows, вы можете пропустить данный шаг и перейти к Шагу 4 (ниже).

  4. В выпадающем меню Настройки выберите опуию Дополнительно. На вкладке Дополнительные настройки, используя переключатель, выберите "Да" в разделе "Нативное приложение или приложение для ПК?". Сохраните изменения.

  5. На вкладке Проверка приложения в разделе "Сделать приложение доступным для всех?" выберите "Да".

  6. На вкладке Продукты выберите Добавить продукт, затем выберите Вход через Facebook в качестве типа продукта.

  7. Введите клиентские настройки OAuth для нового продукта на вкладке Настройки:

    1. В разделе "Клиентская авторизация OAuth" выберите "Да";

    2. В разделе "Авторизация OAuth, встроенная в браузер" выберите "Да". Сохраните изменения.

      Приложение готово к использованию.

  8. Скопируйте ID приложения.

  9. В Административном клиенте PolyAnalyst откройте раздел Настройка авторизации через Facebook в Настройках сервера.

    authenticate with facebook.rus
  10. Отметьте чекбокс Разрешить авторизацию в PA через Facebook-аккаунты.

  11. Вставьте ID приложения Facebook, которое вы создали, в поле ID приложения Facebook.

  12. Просмотрите и при необходимости измените другие опции в окне. Например, вы можете добавить особый префикс к именам всех пользователей, осуществляющих вход в PolyAnalyst через Facebook, чтобы их легче было различать. Вы можете изменить тип лицензии для этих пользователей и количество лицензий на использование разных клиентских приложений.

  13. Обратите внимание на то, что из соображений безопасности опция Cаморегистрирующиеся пользователи автоматически блокируются по умолчанию включена. Вы можете отключить ее, если хотите, чтобы все новые пользователи могли сразу выполнять вход в систему PolyAnalyst, используя учетные данные Facebook. В противном случае при первой попытке входа для таких пользователей на экране будет отображаться сообщение об ошибке "Пользователь заблокирован".

  14. Нажмите Сохранить изменения, чтобы внесенные вами изменения вступили в силу.

С этого момента все новые пользователи смогут, указав свои учетные данные Facebook в окне входа в PolyAnalyst, "подавать заявку" на создание пользовательского профиля.

Каталог Дополнительные поля в разделе Настройки авторизации через Facebook содержит опции для настройки данных, которые будут запрошены у пользователя при авторизации. См. Список доступных полей с информацией об аккаунте. При настройке авторизации через Facebook данные настройки носят вспомогательный характер.

Если опция Cаморегистрирующиеся пользователи автоматически блокируются включена, администратору необходимо явно предоставить доступ в PolyAnalyst новым пользователям после их первой попытки входа в систему в разделе настроек Пользователи и группы в Административном клиенте. После того, как это будет сделано, данный пользователь сможет выполнить вход в систему PolyAnalyst, указав свои учетные данные Facebook в окне входа в PolyAnalyst, и продолжить работу.

Если отключить опцию Cаморегистрирующиеся пользователи автоматически блокируются, то при попытке входа любого нового пользователя в систему с указанием учетных данных Facebook, данная попытка будет успешной. По умолчанию такие пользователи не имеют прав на выполнение каких-либо действий в PolyAnalyst. Администратору необходимо явно предоставить им разрешения на выполнение различных действий в PolyAnalyst (просмотр проектов, создание проектов и отчетов, выполнение узлов и др.) в разделе настроек Пользователи и группы в Административном клиенте.

Администраторы и владельцы проекта могут ограничить доступ таких пользователей к проектам и папкам, используя окно Управление проектами в Аналитическом клиенте. В Административном клиенте аналогичной возможностью можно воспользоваться в разделе Проекты и отчеты в Настройках сервера.

Настройка авторизации через Google

Для того чтобы настроить сервер PolyAnalyst для использования учетных данных пользователей Google для авторизации в системе, следуйте инструкции:

  1. Зарегистрируйте аккаунт в Google и войдите в систему.

  2. Откройте консоль для разработчиков.

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

  4. Скопируйте ID клиента и Секрет клиента и вставьте их в соответствующие поля в разделе Настройка авторизации через Google в Настройках сервера:

    oath google.rus

    Если вы используете веб-приложение, скопируйте ID клиента и Секрет клиента (для работы в браузере) в соответствующие поля.

  5. Отметьте чекбокс Включить авторизацию в PA с помощью Google-аккаунтов.

    Другие поля в этом каталоге аналогичны полям при настройке авторизации через Facebook.

  6. Нажмите Сохранить изменения.

Вы можете настроить параметры политики новых пользователей в соответствующем поле, а именно:

  1. Добавить пользователей и заблокировать – все пользователи при входе добавляются в систему и остаются отключенными (их учетные записи нужно будет активировать вручную);

  2. Добавить пользователей и активировать их, если выполнены все условия – пользователь будет добавлен и активирован автоматически, если будут выполнены условия входа;

  3. Не добавлять, если не выполнены все условия, в противном случае добавить и заблокировать – пользователи, данные которых не соответствуют условиям, не добавляются; пользователи, данные которых соответствуют условиям, добавляются и остаются отключенными (их учетные записи нужно будет активировать вручную);

  4. Не добавлять, если не выполнены все условия, в противном случае добавить и активировать – пользователи, данные которых не соответствуют условиям, не добавляются; пользователи, данные которых соответствуют условиям, добавляются и активируются автоматически;

Описанные поля показаны на скриншоте ниже:

oath users policy.rus

Каталог Дополнительные поля в разделе Настройка авторизации через Google содержит опции для настройки данных, которые будут запрошены у пользователя при авторизации.

oath 2.rus

Может понадобиться несколько минут, прежде чем авторизация с помощью учетных данных Google будет активирована.

Параметры политики, описанные выше, настраиваются через дополнительное поле "Группы безопасности".

oath 2 new items.rus

Здесь вы можете добавить новый элемент и задать регулярное выражение вместе с указанием файла, где будет содержаться список разрешенных значений, например, для того, чтобы добавлять в систему всех пользователей с электронной почтой Google. Также можно добавить список новых пользователей вручную. Для этого заполните поле Список допустимых значений или прикрепите файл со списком пользователей, добавив файл в поле Добавить значения из локального файла. Если вы используете поле Заменить список локальным файлом, то все введенные значения будут заменены на значения из списка.

oath 3 new items.rus

Как и в случае авторизации через Facebook, профили новых пользователей PolyAnalyst, использующих свои учетные данные Google, при первом входе в систему по умолчанию будут деактивированы. Администратору необходимо явно предоставить им разрешения на выполнение различных действий в PolyAnalyst в разделе настроек Пользователи и группы в Административном клиенте.

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

При последующем вводе пользовательских учетных данных Google в логин-диалоге авторизация будет выполнена и пользователи смогут продолжить работу в PolyAnalyst.

Чтобы установить авторизацию с помощью Google в качестве опции входа в систему PolyAnalyst:

  1. Отметьте опцию Установить в качестве предпочтительного варианта входа для входа с помощью учетной записи Google;

  2. Отметьте опцию Использовать предпочтительный вариант входа в систему в настройках Веб-отчеты в Настройках сервера для включения опции входа в диалоговом окне входа в систему PolyAnalyst.