Настройка единого входа с помощью Microsoft Entra ID

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

Например, агент размещается в корпоративной интрасети или в приложении, в которое пользователь уже вошел.

Существует пять основных шагов для настройки единого входа для Copilot Studio:

  1. Включение ручной аутентификацию для агента с помощью Microsoft Entra ID

  2. Создайте регистрацию приложения в Microsoft Entra ID для пользовательского холста.

  3. Определите настраиваемую область для агента в Microsoft Entra ID.

  4. Добавьте пользовательскую область в конфигурацию агента.

  5. Настройте код на стороне клиента пользовательского холста, чтобы включить единый вход

Предварительные требования

Заметка

Чтобы настроить единый вход с использованием других поставщиков протокола OAuth 2.0, см. раздел Настройка единого входа с помощью поставщиков универсального протокола OAuth.

Поддерживаемые каналы

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

Канал Поддерживается
Каналы службы Azure Bot Неподдерживаемые
Пользовательский веб-сайт Поддерживается
Демонстрационный веб-сайт Неподдерживаемые
Facebook Неподдерживаемые
Microsoft Teams1 Поддерживается
Мобильное приложение Неподдерживаемые
Многоканальное взаимодействие для Customer Service2 Поддерживается
SharePoint1 Поддерживается

1 Если вы публикуете в канале Teams, необходимо следовать инструкциям по конфигурации Configure single sign-on с Microsoft Entra ID for agents в документации Microsoft Teams. Если вы не настроите параметры единого входа Teams в соответствии с инструкциями на упомянутой странице, проверка подлинности ваших пользователей всегда будет неуспешной при использовании канала Teams.

2 Поддерживается только канал чата в реальном времени. Дополнительная информация: Настройте передачи в Dynamics 365 Customer Service.

Внимание!

SSO в настоящее время не поддерживается, когда агент публикуется на портале Power Apps.

Создание регистраций приложений для пользовательского веб-сайта

Чтобы включить SSO, создайте две отдельные регистрации приложений:

  • Регистрация приложения для проверки подлинности, которая включает идентификацию пользователя по Microsoft Entra ID для агента
  • Регистрация приложения на основе холста, которая включает единый вход для вашей пользовательской веб-страницы

Из соображений безопасности не используйте одну и ту же регистрацию приложения как для вашего агента, так и для вашего собственного сайта.

  1. Чтобы создать регистрацию приложения аутентификации, следуйте инструкциям в Настройте аутентификацию пользователя с помощью Microsoft Entra ID.

  2. Создайте вторую регистрацию в приложении, которая будет служить регистрацией на Canvas.

Добавление URL-адреса обмена токенами

Чтобы обновить настройки аутентификации Microsoft Entra ID в Copilot Studio, добавьте URL обмена токенами, чтобы ваше приложение и Copilot Studio могли обмениваться информацией.

  1. В Azure портале на странице регистрации вашего приложения для аутентификации перейдите в Expose an API.

  2. В разделе Области выберите значок Копировать в буфер обмена.

  3. В меню навигации Copilot Studio в разделе Параметры выберите Безопасность, а затем выберите плитку Аутентификация.

  4. Для URL-адреса обмена токенами (требуется для SSO) вставьте область, которую вы скопировали ранее.

  5. Выберите Сохранить.

Настройте идентификатор клиента вашего приложения Canvas для открытия меню API

  1. В Azure портале, на странице регистрации приложения для аутентификации, перейдите по Обзор.

  2. Скопируйте значение ID приложения (клиента ) в разделе Essentials.

  3. На панели навигации выберите Manage>Expose an API.

  4. В разделе «Авторизованные клиентские приложения» выберите « Добавить клиентское приложение», затем вставьте скопированный идентификатор клиента.

  5. Выберите Сохранить.

Настройка регистрации приложения на основе холста

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

  2. В Конфигурации платформы выберите Добавить платформу, затем выберите SPA.

  3. В разделе Redirect URI введите URL вашей веб-страницы. Например: http://contoso.com/index.html.

    Снимок экрана: страница «Настройка Интернета».

  4. В разделе Потоки неявного предоставления и гибридные потоки включите оба маркера Маркеры доступа (используются для неявных потоков) и Маркеры идентификаторов (используемые для неявных и гибридных потоков).

  5. Выберите Настроить.

Поиск URL-адреса конечной точки токена вашего агента

  1. Откройте ваш агент в Copilot Studio и выберите Каналы.

  2. Выберите Мобильное приложение.

  3. В разделе Конечная точка токена выберите Копировать.

    Снимок экрана: копирование URL-адреса конечной точки токена в Copilot Studio.

Настройка единого входа на веб-странице

Внимание!

Гостевые пользователи не могут получить доступ к ответам, сгенерированным ИИ, из источников данных SharePoint и Graph Connector в приложениях с поддержкой SSO.

Используйте код, предоставленный в Copilot Studio Samples GitHub repo чтобы создать веб-страницу для URL перенаправления. Скопируйте код из репозитория GitHub и измените его, используя следующие инструкции.

  1. Перейдите на страницу Обзор на портале Azure и скопируйте Идентификатор приложения (клиента) и Идентификатор каталога (клиента) из регистрации приложения на основе холста.

    Снимок экрана: страница «Обзор регистрации приложения» на портале Azure; выделены: «Обзор», «Идентификатор приложения» и «Идентификатор каталога».

  2. Чтобы настроить Библиотеку проверки подлинности Майкрософт (MSAL):

    • Назначьте clientId своему ИД приложения (клиента).
    • Назначьте authority адресу https://login.microsoftonline.com/ и добавьте в конце ИД каталога (арендатора).

    Например:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '00001111-aaaa-2222-bbbb-3333cccc4444',
                authority: 'https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'     
            },
    
  3. Задайте для переменной theURL URL-адрес конечной точки токена, который вы скопировали ранее. Например:

    (async function main() {
    
        var theURL = "https://<token endpoint URL>"
    
  4. Измените значение userId так, чтобы оно включало в себя пользовательский префикс. Например:

    var userId = clientApplication.account?.accountIdentifier != null ? 
            ("My-custom-prefix" + clientApplication.account.accountIdentifier).substr(0, 64) 
            : (Math.random().toString() + Date.now().toString()).substr(0,64);
    
  5. Сохранение изменений.

  6. Убедитесь, что успешно настроили SSO.

    При тестировании вашего агента, если SSO не настроен успешно, вам предлагают войти. Процесс входа даёт код валидации, который нужно скопировать в окно чата.

    Если вы видите запрос на вход, убедитесь, что вы правильно выполнили шаги с 1 по 5 этой процедуры. Если SSO успешно настроен, вам не предлагают войти.

    Заметка

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