借助对 Power Platform 的 Azure 虚拟网络支持,可以将 Power Platform 和 Dataverse 组件与托管在专用企业网络内的云服务或服务集成,而无需将其公开给公共 Internet。 本文介绍如何在 Power Platform 环境中设置虚拟网络支持。
先决条件
备注
若要为 Power Platform 启用虚拟网络支持,环境必须是 托管环境。
查看 Power Platform 资源:检查应用、流和插件代码,确保它们通过虚拟网络进行连接。 它们不应通过公共 Internet 调用终结点。 如果组件需要连接到公共终结点,请确保防火墙或网络配置允许此类调用。 在“注意事项”中详细了解如何为 Power Platform 环境和常见问题解答启用虚拟网络支持。
配置您的租户并设置权限:
- 确保您拥有一个创建虚拟网络、子网和企业策略资源的 Azure 订阅。
-
分配角色:确保具有创建资源和企业策略所需的角色。
- 在 Azure 门户中,分配 Azure 网络管理员角色,例如 网络参与者角色 或等效的自定义角色。
- 在 Microsoft Entra 管理中心中,分配 Power Platform 管理员角色。
准备使用 PowerShell:
- 使用 Windows PowerShell 或 安装 PowerShell Core。
- 克隆 GitHub 存储库以获取 适用于企业策略的 PowerShell 脚本。
- 运行 “安装模块和安装订阅”脚本。
下图显示了 Power Platform 环境中虚拟网络支持的设置过程中角色的功能。
设置虚拟网络支持
设置虚拟网络和子网
备注
美国中部区域不支持 Power Platform。 查看支持的区域列表。
在与您的 Power Platform 环境关联的 Azure 区域中创建虚拟网络。 例如,如果 Power Platform 环境区域为美国,则应在 eastus 和 westus Azure 区域创建虚拟网络。 有关环境区域与 Azure 区域的映射,请查看支持的区域列表。
重要提示
- 如果地理区域有两个或更多个受支持的地区(例如美国具有 eastus 和 westus),则需要在不同的区域中建立虚拟网络,以便制定企业策略,实现业务连续性和灾难恢复或故障转移方案。
- 确保您创建的子网已根据为 Power Platform 环境估算子网大小。
如果需要,可以 重复使用现有的虚拟网络。 无法在 多个企业策略中重复使用子网。
在每个虚拟网络中创建一个子网。 审查分配给每个子网的 IP 地址数量,并考虑环境负载。 两个子网必须具有相同数量的可用 IP 地址。
重要提示
- 如果计划对多个 Power Platform 环境使用相同的委托子网,则可能需要比 /24 更大的 IP 地址块。 在 关于估算 Power Platform 环境的子网大小查看子网大小指导。
- 要允许 Power Platform 组件访问公共互联网,请为子网创建 Azure NAT 网关。
通过运行SetupSubscriptionForPowerPlatform.ps1 脚本,确保已为 Microsoft.PowerPlatform 资源提供程序注册 Azure 订阅。
确保您的子网没有连接到任何资源。 通过运行 SetupVnetForSubnetDelegation.ps1 脚本,为每个子网将子网委托给 Microsoft.PowerPlatform/enterprisePolicies。 如果不想使用 PowerShell,可以在 Azure 门户中创建虚拟网络时将子网委托给服务 Microsoft.PowerPlatform/enterprisePolicies。
如需更多信息,请参阅添加或移除子网委托。
创建配对虚拟网络后,可以在 Azure 资源组中查看它们,如下图所示。
创建企业策略
选项 1:使用 Azure ARM 模板
确保已从创建的虚拟网络捕获必要的详细信息,例如以下信息。
- VnetOne子网名称
- VnetOneResourceId
- VnetTwoSubnetName
- VnetTwoResourceId
在 Azure 门户中部署自定义模板。 在 编辑器链接中选择“生成自己的模板 ”,然后复制并粘贴以下 JSON 脚本。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "policyName": { "type": "string", "metadata": { "description": "The name of the Enterprise Policy." } }, "powerplatformEnvironmentRegion": { "type": "string", "metadata": { "description": "Geo of the PowerPlatform environment." } }, "vNetOneSubnetName": { "type": "string" }, "vNetOneResourceId": { "type": "string", "metadata": { "description": "Fully qualified name, such as /subscription/{subscriptionid}/..." } }, "vNetTwoSubnetName": { "defaultValue": "", "type": "string" }, "vNetTwoResourceId": { "defaultValue": "", "type": "string", "metadata": { "description": "Fully qualified name, such as /subscription/{subscriptionid}/..." } } }, "variables": { "vNetOne": { "id": "[parameters('vNetOneResourceId')]", "subnet": { "name": "[parameters('vNetOneSubnetName')]" } }, "vNetTwo": { "id": "[parameters('vNetTwoResourceId')]", "subnet": { "name": "[parameters('vNetTwoSubnetName')]" } }, "vNetTwoSupplied": "[and(not(empty(parameters('vNetTwoSubnetName'))), not(empty(parameters('vNetTwoResourceId'))))]" }, "resources": [ { "type": "Microsoft.PowerPlatform/enterprisePolicies", "apiVersion": "2020-10-30-preview", "name": "[parameters('policyName')]", "location": "[parameters('powerplatformEnvironmentRegion')]", "kind": "NetworkInjection", "properties": { "networkInjection": { "virtualNetworks": "[if(variables('vNetTwoSupplied'), concat(array(variables('vNetOne')), array(variables('vNetTwo'))), array(variables('vNetOne')))]" } } } ] }保存模板并填写详细信息以创建企业策略,其中包括以下信息:
- 策略名称:Power Platform 管理中心中显示的企业策略的名称。
-
位置:选择企业策略的位置,对应于 Dataverse 环境的区域:
- 美国
- southafrica
- 英国
- 日本
- 印度
- 法国
- 欧洲
- 德国
- 瑞士
- 加拿大
- 巴西
- 澳大利亚
- 亚洲
- 阿联酋
- 韩国
- 挪威
- 新加坡
- 瑞典
- VnetOneSubnetName:输入第一个虚拟网络中的子网的名称。
- VnetOneResourceId:输入第一个虚拟网络中的资源 ID。
- VnetTwoSubnetName:输入第二个虚拟网络中子网的名称。
- VnetTwoResourceId:输入第二个虚拟网络中的资源 ID。 它应匹配 Json 脚本中的字符串,例如:vNetOneResourceId、vNetOneSubnetName
选择 “查看 + 创建 ”以完成企业策略。
选项 2:使用 PowerShell
运行 CreateSubnetInjectionEnterprisePolicy.ps1 脚本,使用您已委托的虚拟网络和子网。 请记住,支持两个或更多区域的地理位置需要不同区域中的两个虚拟网络。
重要提示
如果您希望删除虚拟网络或子网,或遇到类似
InUseSubnetCannotBeDeleted和SubnetMissingRequiredDelegation的错误,您必须删除企业策略(如果存在)。 您可以使用以下命令删除企业策略。Remove-AzResource -ResourceId $policyArmId -Force有多个 PowerShell 脚本可用于获取 ARM 资源 ID 的企业策略。
向具有 Power Platform 管理员角色的用户授予企业策略的读取访问权限。
配置您的 Power Platform 环境
先决条件
在以下操作过程中,您将您的环境分配给企业策略。 你的环境必须是 托管环境 才能向其分配企业策略。
选项 1:使用 Power Platform 管理中心
- 登录 Power Platform 管理中心。
- 在导航窗格中,选择安全性。
- 在 “安全 ”窗格中,选择 “数据和隐私”。
- 在 “数据保护和隐私 ”页中,选择 “Azure 虚拟网络策略”。 将显示 “虚拟网络策略 ”窗格。
- 选择要分配给企业策略的环境,选择策略,然后选择“ 保存”。 现在,企业策略已链接到环境。
选项 2:使用 PowerShell
- 运行 NewSubnetInjection.ps1 脚本,将企业策略应用于环境。
- 如果要从环境中删除企业策略,可以运行 RevertSubnetInjection.ps1 脚本。
验证连接
- 登录 Power Platform 管理中心。
- 在导航窗格中,选择管理。
- 在管理窗格中,选择环境。
- 在环境页面上,选择一个环境。
- 在命令栏中,选择历史记录。
- 验证 状态 是否显示 “成功”。
最佳做法
确保根据要求选择子网大小。 将子网委托给 Power Platform 后,如果需要更改子网范围,则需要Microsoft支持来反映更新的子网更改。