为 Power Platform 设置虚拟网络支持

借助对 Power Platform 的 Azure 虚拟网络支持,可以将 Power Platform 和 Dataverse 组件与托管在专用企业网络内的云服务或服务集成,而无需将其公开给公共 Internet。 本文介绍如何在 Power Platform 环境中设置虚拟网络支持。

先决条件

备注

若要为 Power Platform 启用虚拟网络支持,环境必须是 托管环境

下图显示了 Power Platform 环境中虚拟网络支持的设置过程中角色的功能。

Power Platform 环境中的虚拟网络支持配置的屏幕截图。

设置虚拟网络支持

  1. 设置虚拟网络和子网
  2. 创建企业策略
  3. 配置您的 Power Platform 环境

设置虚拟网络和子网

备注

美国中部区域不支持 Power Platform。 查看支持的区域列表

  1. 在与您的 Power Platform 环境关联的 Azure 区域中创建虚拟网络。 例如,如果 Power Platform 环境区域为美国,则应在 eastuswestus Azure 区域创建虚拟网络。 有关环境区域与 Azure 区域的映射,请查看支持的区域列表

    重要提示

    • 如果地理区域有两个或更多个受支持的地区(例如美国具有 eastuswestus),则需要在不同的区域中建立虚拟网络,以便制定企业策略,实现业务连续性和灾难恢复或故障转移方案。
    • 确保您创建的子网已根据为 Power Platform 环境估算子网大小

    如果需要,可以 重复使用现有的虚拟网络。 无法在 多个企业策略中重复使用子网。

  2. 在每个虚拟网络中创建一个子网。 审查分配给每个子网的 IP 地址数量,并考虑环境负载。 两个子网必须具有相同数量的可用 IP 地址。

    重要提示

  3. 通过运行SetupSubscriptionForPowerPlatform.ps1 脚本,确保已为 Microsoft.PowerPlatform 资源提供程序注册 Azure 订阅。

  4. 确保您的子网没有连接到任何资源。 通过运行 SetupVnetForSubnetDelegation.ps1 脚本,为每个子网将子网委托给 Microsoft.PowerPlatform/enterprisePolicies。 如果不想使用 PowerShell,可以在 Azure 门户中创建虚拟网络时将子网委托给服务 Microsoft.PowerPlatform/enterprisePolicies

    如需更多信息,请参阅添加或移除子网委托

  5. 创建配对虚拟网络后,可以在 Azure 资源组中查看它们,如下图所示。

    Azure 资源组中的虚拟网络的屏幕截图。

创建企业策略

选项 1:使用 Azure ARM 模板

  1. 确保已从创建的虚拟网络捕获必要的详细信息,例如以下信息。

    • VnetOne子网名称
    • VnetOneResourceId
    • VnetTwoSubnetName
    • VnetTwoResourceId
  2. 在 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')))]"
                    }
                }
            }
        ]
    }
    
  3. 保存模板并填写详细信息以创建企业策略,其中包括以下信息:

    • 策略名称:Power Platform 管理中心中显示的企业策略的名称。
    • 位置:选择企业策略的位置,对应于 Dataverse 环境的区域:
      • 美国
      • southafrica
      • 英国
      • 日本
      • 印度
      • 法国
      • 欧洲
      • 德国
      • 瑞士
      • 加拿大
      • 巴西
      • 澳大利亚
      • 亚洲
      • 阿联酋
      • 韩国
      • 挪威
      • 新加坡
      • 瑞典
    • VnetOneSubnetName:输入第一个虚拟网络中的子网的名称。
    • VnetOneResourceId:输入第一个虚拟网络中的资源 ID。
    • VnetTwoSubnetName:输入第二个虚拟网络中子网的名称。
    • VnetTwoResourceId:输入第二个虚拟网络中的资源 ID。 它应匹配 Json 脚本中的字符串,例如:vNetOneResourceId、vNetOneSubnetName
  4. 选择 “查看 + 创建 ”以完成企业策略。

    选择“查看并创建”以完成企业策略的屏幕截图。

选项 2:使用 PowerShell

  1. 运行 CreateSubnetInjectionEnterprisePolicy.ps1 脚本,使用您已委托的虚拟网络和子网。 请记住,支持两个或更多区域的地理位置需要不同区域中的两个虚拟网络。

    重要提示

    如果您希望删除虚拟网络或子网,或遇到类似 InUseSubnetCannotBeDeletedSubnetMissingRequiredDelegation 的错误,您必须删除企业策略(如果存在)。 您可以使用以下命令删除企业策略。

    Remove-AzResource -ResourceId $policyArmId -Force
    

    有多个 PowerShell 脚本可用于获取 ARM 资源 ID 的企业策略

  2. 向具有 Power Platform 管理员角色的用户授予企业策略的读取访问权限

配置您的 Power Platform 环境

先决条件

在以下操作过程中,您将您的环境分配给企业策略。 你的环境必须是 托管环境 才能向其分配企业策略。

选项 1:使用 Power Platform 管理中心

  1. 登录 Power Platform 管理中心
  2. 在导航窗格中,选择安全性
  3. “安全 ”窗格中,选择 “数据和隐私”。
  4. “数据保护和隐私 ”页中,选择 “Azure 虚拟网络策略”。 将显示 “虚拟网络策略 ”窗格。
  5. 选择要分配给企业策略的环境,选择策略,然后选择“ 保存”。 现在,企业策略已链接到环境。

选项 2:使用 PowerShell

  1. 运行 NewSubnetInjection.ps1 脚本,将企业策略应用于环境。
  2. 如果要从环境中删除企业策略,可以运行 RevertSubnetInjection.ps1 脚本。

验证连接

  1. 登录 Power Platform 管理中心
  2. 在导航窗格中,选择管理
  3. 管理窗格中,选择环境
  4. 环境页面上,选择一个环境。
  5. 在命令栏中,选择历史记录
  6. 验证 状态 是否显示 “成功”。

最佳做法

确保根据要求选择子网大小。 将子网委托给 Power Platform 后,如果需要更改子网范围,则需要Microsoft支持来反映更新的子网更改。