Power Platform 支持使用 Azure 虚拟网络访问虚拟网络内的资源,而不会将其暴露在公共互联网上。
小费
本文提供了一个示例场景和一个通用示例架构,以说明如何使用 Azure 虚拟网络安全 Power Platform 访问 Azure 资源。 可以针对许多不同的场景和行业修改体系结构示例。
体系结构示意图
Workflow
以下步骤描述了示例体系结构图中显示的工作流:
案例管理应用程序:Power Apps 画布或模型驱动应用程序使用 Power Platform 自定义连接器访问 Azure 托管的后端数据库或服务。 在环境级别管理配置,以根据需要连接到特定的 Azure 虚拟网络。 例如,开发环境可能不需要使用虚拟网络,但测试和生产环境需要使用虚拟网络。
搜索请求:应用程序的搜索请求使用 Power Platform 自定义连接器访问 Azure 托管的后端 API。
请求授权:后端 API 由 Microsoft Entra ID 保护,Microsoft Entra ID 用于验证应用程序的用户身份。 连接器使用 OAuth 授权用户访问后端 API。 连接器使用 Power Platform 环境变量从 Azure 密钥保管库获取客户端 ID 和密文。
网络访问:后端 API 托管在 Azure 虚拟网络中,不允许访问公共网络。 虚拟网络为 Power Platform 环境指定了一个子网,允许 API 请求和响应穿越网络,而不使用 Azure 公共网络。
后端 API 搜索:后端 API 接收搜索请求,并在发出请求的用户上下文中执行数据库搜索。
组件
Power Platform 环境:包含 Power Platform 资源。 环境是数据访问和安全的边界。 可将 Power Platform 环境配置为使用 Azure 虚拟网络集成,这样 Power Platform 资源就可以在虚拟网络中与 Azure 资源通信。
Power Apps:实现解决方案的用户体验。 用户使用 Microsoft Entra ID 登录画布或模型驱动应用程序。
Power Platform 自定义连接器:定义 Power Platform 应用程序可从其连接的服务中获取的操作。
Azure 虚拟网络:支持与内部部署和其他 Azure 网络功能的混合连接,在云中提供虚拟网络。 虚拟网络可将子网委托给 Power Platform 资源,从而允许 Power Platform 和 Azure 资源通过专用网络进行交互,而无需通过公共网络发送流量。
Azure 密钥保管库:存储使用 OAuth 连接后端 API 所需的凭证。 与后端 API 类似,Power Platform 资源通过虚拟网络访问 Azure 密钥保管库。
方案详细信息
具有高安全性需求的组织必须确保内部系统与云服务之间的安全通信。 使用可用的安全控制,在 Power Platform 和 Azure 资源之间集成虚拟网络,作为解决方案架构的一部分。
在应用程序组件之间实施网络安全控制通常会带来挑战,尤其是当它们处于不同的技术抽象级别时。 有了 Azure 虚拟网络,您就可以利用 Power Platform 和 Azure 组件构建解决方案,而无需考虑典型多网络解决方案的复杂性。 该示例架构使用虚拟网络子网授权,让 Power Platform 和 Azure 资源在解决方案中协同工作,从而在不牺牲简单性和安全性的情况下利用这两种产品的优势。
注意事项
这些注意事项实现了架构良好的 Power Platform 支柱,这是一组可提高工作负荷质量的指导原则。 在架构良好的 Microsoft Power Platform 中了解详细信息。
可靠性
冗余:Power Platform 基础设施无需客户明确操作即可使用主区域和故障切换区域。 例如,如果您的 Power Platform 环境位于美国西部,则故障切换区域为美国东部。 若要实现最佳复原能力,请在两个配对的 Azure 区域中设置虚拟网络,并在它们之间建立对等互连连接。 此设置允许在发生灾难时对 Azure 资源进行无缝故障转移。 了解更多信息,请参阅业务连续性和灾难恢复和虚拟网络设置和配置的示例方案。
安全组
数据访问控制:解决方案的 API、数据存储和其他 Azure 资源是隔离的,只有在连接到虚拟网络的 Power Platform 环境中运行的应用程序才能访问。
有意分段和边界:Azure 虚拟网络集成可让 Power Platform 和 Azure 资源安全通信,不受其他云网络干扰。 此设置可防止较低级别的环境(如开发环境)意外连接到测试或生产 Azure 资源,从而有助于维护安全的开发生命周期。 在 Power Platform 环境中配置虚拟网络后,就可以控制来自 Power Platform 的出站流量。 了解更多信息,请参阅确保来自 Power Platform 服务的出站连接安全的最佳实践。
加密:从 Power Platform 到虚拟网络中 Azure 服务的数据不会穿越公共互联网。
卓越运营
应用生命周期管理 (ALM):集成在 Power Platform 环境级别进行配置。 相应的 Azure 虚拟网络构成了整个解决方案的完整登陆区域,可以隔离组织 ALM 流程中的开发、测试和生产或特定生命周期阶段。
性能效率
收集性能数据:Azure Monitor 服务会收集和汇总系统每个组件的指标和日志,为您提供可用性、性能和弹性视图。 有关详细信息,请参阅监控 Azure 虚拟网络。
参与者
Microsoft 维护这篇文章。 以下贡献者撰写了本文。
主要作者:
- Rahul Kannathusseril,首席项目经理
- Henry Luo,高级项目经理
后续步骤
按照以下高级步骤生成端到端解决方案:
使用首选技术创建 Azure 托管的 REST API。 使用 Microsoft Entra ID 保护 API。 了解更多信息,请参阅配置 App Service 或 Azure Functions 应用程序以使用 Microsoft Entra 登录。
创建 Power Platform 环境变量,用于保存来自 Azure密钥保管库的客户端 ID 和密文。 了解更多信息,请参阅将环境变量用于 Azure Key Vault 密码。
为您的 API 创建自定义连接器。 入门教程。
将自定义连接器定义为使用 OAuth 2.0 和 Azure Active Directory(Microsoft Entra ID),并打开服务主体支持。
配置客户端 ID 和客户端密码,以使用您在步骤 2 中创建的环境变量中的值。
在 Power Apps 中创建一个画布应用程序,提供搜索界面。