使用 Microsoft Entra ID 配置用户身份验证

为您的助手添加身份验证允许用户登录,让您的助手能够访问受限资源或信息。

本文介绍如何将 Microsoft Entra ID 配置为您的服务提供程序。 要一般了解其他服务提供程序和用户身份验证,请参阅在 Copilot Studio 中配置用户身份验证

如果您具有租户管理权限,可以 配置 API 权限。 否则,您需要请租户管理员为您完成这项工作。

先决条件

了解如何将最终用户身份验证添加到主题中

您在 Azure 门户中完成了前几个步骤,并在 Copilot Studio 中完成了最后两个步骤。

创建应用注册

  1. 使用与您的助手在同一租户中的管理员帐户登录 Azure 门户网站

  2. 转到应用注册

  3. 选择新建注册,然后输入注册的名称。 不要更改现有的应用程序注册。

    稍后使用您助手的名称可能会有所帮助。 例如,如果您的助手名为“Contoso 销售帮助”,您可以将应用程序注册命名为“ContosoSalesReg”

  4. 支持的帐户类型下,选择任何组织租户中的帐户(任何 Microsoft Entra ID 目录 - 多租户)和个人 Microsoft 帐户(例如 Skype、Xbox)

  5. 目前将重定向 URI 部分留空。 在接下来的步骤中输入该信息。

  6. 选择注册

  7. 注册完成后,转到概览

  8. 复制应用程序(客户端)ID,将其粘贴到一个临时文件中。 您在后面的步骤中需要它。

添加重定向 URL

  1. 管理下,选择身份验证

  2. 平台配置下,选择添加平台,然后选择 Web

  3. 重定向 URI下,输入 https://token.botframework.com/.auth/web/redirect,然后选择配置

    此操作会将您带回平台配置页面。

  4. Web 平台的重定向 URI下,选择添加 URI

  5. 输入 https://europe.token.botframework.com/.auth/web/redirect,然后选择保存

    备注

    Copilot Studio 中的身份验证配置窗格可能会显示以下重定向 URL:https://unitedstates.token.botframework.com/.auth/web/redirect。 使用该 URL 会导致身份验证失败;请改用 URI。

  6. 隐式授权和混合流部分中,选择访问令牌(用于隐式流)ID 令牌(用于隐式和混合流)

  7. 选择保存

生成客户端密码

  1. 管理下,选择证书和密码

  2. 客户端密码部分中,选择新建客户端密码

  3. (可选)输入说明。 如果留空,则提供一个。

  4. 选择到期时间。 选择与您的助手的生命周期相关的最短时间段。

  5. 选择添加创建机密。

  6. 将机密的存储在一个安全的临时文件中。 当您稍后配置助手的身份验证时,您将需要此值。

小费

在复制客户端密码的值之前,请勿离开页面。 如果您离开页面,该值将被混淆,您将需要生成一个新的客户端密码。

配置手动身份验证

  1. 在 Copilot Studio 中,转到您的助手的设置,然后选择安全

  2. 选择身份验证

  3. 选择手动进行身份验证

  4. 打开需要用户登录

  5. 为属性输入以下值:

    • 服务提供商:选择 Azure Active Directory v2

    • 客户端 ID:输入您先前从 Azure 门户复制的应用程序(客户端)ID。

    • 客户端密码:输入您先前从 Azure 门户生成的客户端密码。

    • 范围:输入 profile openid

  6. 选择保存完成配置。

配置 API 权限

  1. 转到 API 权限

  2. 选择为 <您的租户名称> 授予管理员同意,然后选择。 如果该按钮不可用,您可能需要让租户管理员为您输入。

    突出显示租户权限的 API 权限窗口的屏幕截图。

    备注

    为避免用户必须同意每个应用程序,全局管理员、应用程序管理员或云应用程序管理员可以授予租户范围内的应用注册同意。

  3. 选择添加权限,然后选择 Microsoft Graph

    突出显示 Microsoft Graph 的“请求 API 权限”窗口的屏幕截图。

  4. 选择委托的权限

    突出显示委托的权限的屏幕截图。

  5. 展开 OpenId 权限,打开 openidprofile

    突出显示 OpenId 权限、OpenId 和配置文件的屏幕截图。

  6. 选择添加权限

为您的助手定义自定义范围

范围用于确定用户和管理员的角色和访问权限。 您将为要在后面的步骤中创建的画布应用注册创建自定义范围。

  1. 转到公开 API,然后选择添加范围

    突出显示“公开 API”和“添加范围”按钮的屏幕截图。

  2. 设置以下属性。 您可以将其他属性留空。

    属性 价值
    范围名称 输入在环境中有意义的名称,如 Test.Read
    谁可以同意? 选择管理员和用户
    管理员同意显示名称 输入在环境中有意义的名称,如 Test.Read
    管理员同意说明 输入 Allows the app to sign the user in.
    选择已启用
  3. 选择添加范围

在 Microsoft Copilot Studio 中配置身份验证

  1. 在 Copilot Studio 中的设置下,选择安全性>身份验证

  2. 选择手动进行身份验证

  3. 打开需要用户登录

  4. 选择服务提供商并提供 所需值。 请参阅在 Copilot Studio 中配置手动身份验证

  5. 选择保存

小费

令牌交换 URL 用于为请求的访问令牌交换代表 (OBO) 令牌。 有关详细信息,请参阅使用 Microsoft Entra ID 配置单一登录

备注

根据您的使用情况,范围应该包括 profile openid 和以下内容:

  • Sites.Read.All Files.Read.All for SharePoint
  • 图表连接的 ExternalItem.Read.All
  • 提示节点的 https://[OrgURL]/user_impersonation 和 Dataverse 结构化数据
  • 例如,Dataverse 结构数据或提示节点应具有以下范围:profile openid Sites.Read.All Files.Read.All https://myorg123.com/user_impersonation

测试您的助手

  1. 发布您的助手。

  2. 测试助手窗格中,向您的助手发送一条消息。

  3. 当助手响应时,选择登录

    此时将打开一个新的浏览器标签页,要求您登录。

  4. 登录,然后复制显示的验证码。

  5. 将代码粘贴到助手中以完成登录过程。

    助手对话中成功的用户身份验证的屏幕截图,突出显示验证代码。