连接到数据源并向其进行身份验证

连接到数据源并对其进行身份验证将与对 Power Platform 服务进行身份验证分开进行。

我们首先来看一下 Power Platform 服务如何与数据源连接。 Power Platform 服务以各种方式连接到外部数据源,但一般模式是相同的。 然后,我们来看看如何对连接进行身份验证。 身份验证凭据可能相同也可能不同,具体取决于应用及其使用的数据源。

连接到 Microsoft Dataverse

Power Apps 画布和模型驱动应用直接连接到 Dataverse,无需单独的连接器。 (画布应用在 Power Apps 资源提供程序 (RP) 中存储适用于其他环境的同意。) Power Automate 使用 API 中心进行身份验证,但之后的所有数据交互都提交至 Dataverse。 Power Apps 和 Power Automate 都支持使用连接器访问 Dataverse 的旧版连接器(例如,Dynamics 365(已弃用)Microsoft Dataverse(旧版)) 。

备注

使用从数据开始创建画布应用这一操作将使用占位符连接器图标连接到 Dataverse。 但是,不涉及实际的连接器。 有关详细信息,请参阅将画布应用连接到 Microsoft Dataverse

下图说明画布应用如何使用 Dataverse。

显示 Power Apps 后端群集和 Dataverse 之间的直接连接的图示。

  1. Power Apps 后端服务直接从 Dataverse 请求数据。
  2. Dataverse 将查询结果返回到 Power Apps 后端服务。

连接到其他数据源

通常,Power Platform 服务使用连接器来处理不是 Dataverse 的外部数据源。 下图说明了使用 Azure API 管理 (APIM) 连接器的典型路径。

显示 Power Platform 后端服务与 API 中心/API 管理连接器一起使用以访问外部数据连接器的图示。

  1. Power Platform 服务向 Power Apps 资源提供程序 (RP) 发送连接请求。

  2. Power Apps RP 要求 API 中心创建连接并推进身份验证令牌交换。

  3. Power Platform 服务向 API 管理连接器发送数据查询请求。

  4. API 管理连接器向同意服务发送请求以获取访问数据源的权限。

  5. 同意服务将凭据返回到 API 管理连接器。

  6. API 管理连接器将同意凭据发送到 Power Apps RP。 凭据存储在 RP 中,因此下次请求数据时 Power Apps 不会再次提示授予同意。

    备注

    对一个应用程序连接的同意不会向所有应用程序授予同意。 每个用户的每个应用程序连接同意书都是单独的。 例如,当您提供用于 Power Automate 流的连接时,您同意该流继续使用该连接。 您无需再次同意即可在该流中重用该连接。 对于流作者提供的连接,此双项同意是(连接和流)。 对于由调用流(例如,从画布应用)的用户提供的连接,三项同意是(连接、流和用户)。

  7. API 管理连接器将数据查询传递给外部连接器。

  8. 连接器将查询发送到数据源。

  9. 数据源将请求的数据返回到连接器。

  10. 连接器将数据传回 Power Platform 后端群集。

对数据源进行身份验证

用户首先对 Power Platform 服务进行身份验证。 然后,用户使用连接器所需的凭据单独地对数据源进行身份验证。 API 中心凭据服务始终存储和管理凭据。

某些连接器支持多种身份验证方法。 对数据源的身份验证特定于该数据源实例。 它基于制作者在创建连接时选择的身份验证方法。

Power Apps 中有两种类型的数据源身份验证方法:显式隐式

  • 显式身份验证意味着应用用户的凭据用于访问数据源。
  • 隐式身份验证意味着使用应用制作者在创建连接时提供的凭据。

我们建议您尽可能使用显式身份验证。 这样会更安全。

即使在显式身份验证的情况下,切记用户对数据源的权限决定了用户可以查看和编辑的内容。

例如,假设您有一个 SharePoint 列表,其中包括姓名薪金列。 然后构建一个只显示姓名列的应用。 这意味着用户只能访问您应用中的姓名列。

但是,假设您的用户拥有 SharePoint 列表权限,允许他们查看和编辑姓名薪金列。 现在假设一个特定用户对该 SharePoint 列表拥有 Power Apps Maker 权限。 在这种情况下,用户可以创建一个新的应用来访问薪金列。 您通过应用的用户界面授予的权限不会拒绝用户拥有的数据源权限。

详细了解显式和隐式连接的区别。 虽然本文提到了 SQL Server,但它适用于所有关系数据库。

Microsoft Power Platform 中的安全性
向 Power Platform 服务进行身份验证
Power Platform 中的数据存储
Power Platform 安全性常见问题解答

另请参见