在 Copilot Studio 中配置用户身份验证

身份验证允许用户登录,从而为您的代理提供对受限资源或信息的访问权限。 用户可以使用Microsoft Entra ID 或任何 OAuth2 身份提供程序登录,如 Google 或 Facebook。

备注

在 Microsoft Teams其中,您可以配置 a Copilot Studio 代理以提供身份验证功能,以便用户可以使用 Microsoft Entra ID 或任何 OAuth2 身份提供者(如 Microsoft 或 Facebook 帐户)登录。

编辑主题时,您可以向主题添加最终用户身份验证

重要提示

对身份验证配置的更改仅在您发布代理后才会生效。 在对代理进行身份验证更改之前,请务必提前计划。

选择身份验证选项

Copilot Studio 支持多个身份验证选项。 请选择满足您需求的那一个。

  1. 前往 代理的个人设置 和选择 安全.

  2. 选择身份验证

    提供以下身份验证选项:

  3. 选择保存

不进行身份验证

不进行身份验证意味着您的代理允许用户在未登录的情况下与代理交互。 未经身份验证的配置意味着您的代理只能访问公共信息和资源。 默认情况下,经典聊天机器人配置为需要身份验证。

注意

选择 No authentication(无身份验证 选项允许任何有链接的人与您的机器人或代理聊天和互动。

我们建议您应用身份验证,尤其是在组织内部或为特定用户 使用机器人或代理以及其他安全和监管控制时。

向 Microsoft 进行身份验证

重要提示

选择向 Microsoft 进行身份验证选项后,除 Teams 渠道外的所有渠道都将被禁用。

此外, Authenticate with Microsoft (使用 # 进行身份验证)选项不适用于与 Dynamics 365 客户服务 集成的代理。

此配置自动为 Teams 设置 Microsoft Entra ID 身份验证,无需任何手动配置。 由于 Teams 身份验证本身会识别用户,因此当用户位于 Teams 中时,系统不会提示用户登录,除非您的代理需要扩展范围。

如果您选择本选项,则仅 Teams 渠道可用。 如果您需要将代理发布到其他渠道,但仍希望对代理进行身份验证,请选择手动进行身份验证

如果您选择向 Microsoft 进行身份验证,创作画布中将提供以下变量:

  • User.ID
  • User.DisplayName

有关这些变量以及如何使用它们的详细信息,请参阅将最终用户身份验证添加到主题

User.AccessTokenUser.IsLoggedIn 变量对于此选项不可用。 如果您需要身份验证令牌,请使用手动身份验证选项。

如果您从手动身份验证更改为向 Microsoft 进行身份验证,并且您的主题包含变量 User.AccessTokenUser.IsLoggedIn,则在更改后它们会显示为未知变量。 请务必在发布代理之前更正任何有错误的主题。

手动进行身份验证

Copilot Studio 在手动身份验证选项下支持以下身份验证提供程序:

  • Azure Active Directory
  • Azure Active Directory v2
  • 带证书的 Azure Active Directory v2
  • 通用 OAuth 2 - 任何符合 OAuth2 标准的标识提供者

配置手动身份验证后,创作画布中将提供以下变量:

  • User.Id
  • User.DisplayName
  • User.AccessToken
  • User.IsLoggedIn

有关这些变量以及如何使用它们的详细信息,请参阅将最终用户身份验证添加到主题

保存配置后,请确保发布代理以便更改生效。

备注

  • 身份验证更改仅在代理发布后生效。
  • 此设置可由 Power Platform 中相应的管理控件控制。 启用该控件后,它会阻止在 Copilot Studio 内启用或禁用手动身份验证选项。 该控件始终处于启用状态,并且不能在 Copilot Studio 中修改手动身份验证选项。

需要用户登录和代理共享

Require users to log in (要求用户登录)确定用户是否需要在与代理交谈之前登录。 我们强烈建议您为需要访问敏感或受限信息的代理启用此设置。

此选项不适用于无身份验证向 Microsoft 进行身份验证选项。

备注

当 Power Platform 管理中心中的 DLP 策略配置为要求身份验证时,此选项也不可配置。 有关更多信息,请参阅 数据丢失防护示例 - 要求在代理中进行最终用户身份验证。

如果关闭此选项,则代理不会要求用户登录,直到遇到需要用户登录的主题。

当您打开此选项时,它会创建一个名为需要用户登录的系统主题。 本主题仅与手动验证设置相关。 用户始终在 Teams 上进行身份验证。

Require users to log in 主题对于未经身份验证而与代理交谈的任何用户,都会自动触发。 如果用户登录失败,主题将重定向到升级系统主题。

此主题是只读的,无法自定义。 要查看,选择转到创作画布

控制哪些人可以与组织中的代理聊天

您的代理的身份验证和 需要用户登录 设置相结合,决定了您是否可以 共享代理 来控制组织中的哪些人可以与它聊天。 身份验证设置不会影响共享代理以进行协作。

  • 无身份验证:任何对代理有链接(或可以找到它,例如,在您的网站上)的用户都可以与该 #. 您无法控制组织中的哪些用户可以与代理聊天。

  • 使用 Microsoft 进行身份验证:代理仅适用于 Teams 通道。 由于用户始终保持登录状态,因此需要用户登录设置已打开且无法关闭。 您可以使用代理共享来控制组织中的哪些人可以与代理聊天。

  • 手动身份验证

    • 如果服务提供商是 ID 或 Azure Active Directory ID Microsoft Entra ,您可以开启需要用户登录(Require users to login )以控制组织中的哪些人可以使用代理共享与 代理聊天。

    • 如果服务提供程序是通用 OAuth2,您可以打开或关闭需要用户登录。 启用后,登录后,用户可以与代理聊天。 您无法控制组织中的哪些特定用户可以使用代理共享与代理聊天。

当代理的身份验证设置无法控制谁可以与其聊天时,如果您在代理的概述页面上选择共享 一条消息,通知您任何人都可以与您的代理聊天。

手动身份验证字段

以下是您在配置手动身份验证时可能会看到的所有字段。 您将看到哪些字段取决于您对服务提供程序的选择。

字段名称 说明
授权 URL 模板 用于授权的 URL 模板,由标识提供者定义。 例如,https://login.microsoftonline.com/common/oauth2/v2.0/authorize
授权 URL 查询字符串模板 用于授权的查询模板,由您的标识提供者提供。 查询字符串模板中的密钥取决于标识提供者 (?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State})。
Client ID 从标识提供者获取的客户端 ID。
Client secret 您的客户端密码,在您创建标识提供者应用注册时获取。
刷新正文模板 刷新正文 (refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret}) 的模板。
刷新 URL 查询字符串模板 令牌 URL 的刷新 URL 查询字符串分隔符,通常是问号 (?)。
刷新 URL 模板 刷新的 URL 模板;例如,https://login.microsoftonline.com/common/oauth2/v2.0/token
范围列表分隔符 范围列表的分隔字符。 此字段不支持空格。1
范围 您希望用户在登录后获取的范围列表。 使用范围列表分隔符分隔多个范围。1只设置必要的范围,遵照最小特权访问控制原则
服务提供商 您要用于身份验证的服务提供程序。 有关更多信息,请参见 OAuth 通用提供程序
Tenant ID 您的 Microsoft Entra ID 租户 ID。 请参考使用现有的 Microsoft Entra ID 租户,了解如何找到您的租户 ID。
令牌正文模板 令牌正文的模板。 (code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret})
令牌交换 URL (SSO 必需) 此可选字段在您配置单点登录时使用。
令牌 URL 模板 令牌的 URL 模板,由您的标识提供者提供;例如,https://login.microsoftonline.com/common/oauth2/v2.0/token
令牌 URL 查询字符串模板 令牌 URL 的查询字符串分隔符,通常是问号 (?)。

1如果标识提供者需要,您可以在范围字段中使用空格。 在这种情况下,在范围列表分隔符中输入逗号 (,),在范围字段中输入空格。

关闭身份验证

  1. 打开代理后,选择 设置 在顶部菜单栏上。

  2. 选择安全,然后选择身份验证

  3. 选择无身份验证

    如果在主题中使用身份验证变量,它们将成为未知变量。 转到主题页面,查看哪些主题有错误,并在发布前修复这些错误。

  4. 发布代理。

重要提示

如果您的代理操作 配置为 使用最终用户凭据,请不要在代理级别关闭身份验证,因为这会阻止这些操作正常工作。