为 Power Platform 设置虚拟网络支持

注释

Microsoft Viva Engage上的 Power Platform Virtual Network 社区可用。 发布有关此功能的任何问题或反馈。 请通过以下表格提交请求以加入: 请求访问财务和运营的 Viva Engage 社区

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

Prerequisites

注释

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

  • 查看 Power Platform 资源:检查应用、流和插件代码,确保它们通过虚拟网络进行连接。 不应通过公共 Internet 调用终结点。 如果组件需要连接到公共终结点,请确保防火墙或网络配置允许此类调用。 在“注意事项”中详细了解如何为 Power Platform 环境和常见问题解答启用虚拟网络支持

  • 配置您的租户并设置权限:

    • Azure 订阅:请确保有一个 Azure 订阅,可在其中创建虚拟网络、子网和企业策略资源。
    • 分配角色:确保具有创建资源和企业策略所需的角色。
      • 在 Azure 门户中,分配 Azure 网络管理员角色,例如 网络参与者角色 或等效的自定义角色。
      • 在 Microsoft Entra 管理中心中,分配 Power Platform 管理员角色。
  • 准备使用 PowerShell

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

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

澄清

  • 必须在与 Power Platform 环境关联的 Azure 区域中创建 虚拟网络 。 例如,如果 Power Platform 环境区域为美国,请在 eastuswestus Azure 区域中创建虚拟网络。 若要将环境区域映射到Azure区域,查看支持的区域列表

  • 如果地理区域存在两个或多个受支持的区域,例如具有 eastuswestus 的美国,则需要 不同 区域中的两个虚拟网络来创建企业策略。 此要求适用于生产环境和非生产环境。

  • 请确保根据 Power Platform 环境的估计子网大小适当调整创建的子网大小。 如果需要多个子网,这两个子网必须具有相同数量的可用 IP 地址。 将子网委托给 Power Platform 后,需要联系 Microsoft Support 以更改子网范围。

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

设置虚拟网络支持

可以使用 PowerShell 脚本或通过手动步骤配置和启用虚拟网络支持。 在这两种方法中,要遵循的步骤都属于以下类别:

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

使用 PowerShell 进行设置

  1. 安装和加载 Microsoft.PowerPlatform.EnterprisePolicies 模块。

    Install-Module Microsoft.PowerPlatform.EnterprisePolicies
    Import-Module Microsoft.PowerPlatform.EnterprisePolicies
    
  2. 配置虚拟网络和子网以委派给 Power Platform。 针对具有委派子网的每个虚拟网络运行此命令。 查看分配给每个子网的 IP 地址数,并考虑环境的负载。

    New-VnetForSubnetDelegation -SubscriptionId "00000000-0000-0000-0000-000000000000" -VirtualNetworkName "myVnet" -SubnetName "mySubnet"
    

    Important

  3. 使用委派的虚拟网络和子网创建企业策略。 请记住,支持两个或更多区域的地理位置需要两个不同区域的虚拟网络。

    New-SubnetInjectionEnterprisePolicy -SubscriptionId "00000000-0000-0000-0000-000000000000" -ResourceGroupName "myResourceGroup" -PolicyName "myPolicy" -PolicyLocation "unitedstates" -VirtualNetworkId "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet" -SubnetName "default"
    
  4. 向具有 Power Platform 管理员角色的用户授予企业策略的读取访问权限。 当将企业策略关联到 Power Platform 环境的人员与在 Azure 中创建企业策略的人员不同时,此步骤是相关的。

  5. 若要链接新创建的策略,请运行以下命令。

    Enable-SubnetInjection -EnvironmentId "00000000-0000-0000-0000-000000000000" -PolicyArmId "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.PowerPlatform/enterprisePolicies/myPolicy"
    

    Tip

    如果需要其他帐户来链接策略,请使用 -ForceAuth 开关来确保系统提示你登录到新帐户。

手动设置

  1. 在订阅中注册以下资源提供程序。 有关如何注册资源提供程序的信息,请参阅 “注册资源提供程序”。

    • Microsoft.Network
    • Microsoft.PowerPlatform
  2. 在订阅中注册以下功能。 有关如何注册功能的信息,请参阅 “注册预览”功能

    • 企业政策预览
  3. 按照“ 创建虚拟网络”中的指南创建虚拟网络和子网。

    注释

    可以跳过创建堡垒主机。 不需要 Power Platform 虚拟网络功能。

  4. 使用现有子网或创建新子网并将其委托给 Microsoft.PowerPlatform/enterprisePolicies。 有关详细信息,请参阅 添加或删除子网委派

  5. 若要验证子网是否已成功委托,请转到子网并检查 “委派到 ”列,如下图所示。

    Azure 门户中委派子网的屏幕截图。

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

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

  7. 请确保从创建的虚拟网络中捕获必要的详细信息,例如以下信息:

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

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

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

  11. 向具有 Power Platform 管理员角色的用户授予企业策略的读取访问权限。 当将企业策略关联到 Power Platform 环境的人员与在 Azure 中创建企业策略的人员不同时,此步骤是相关的。

  12. 若要将策略分配给环境,请登录到 Power Platform 管理中心

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

    Important

    只能通过 PowerShell 使用 Disable-SubnetInjection 从环境中删除企业策略。

    Disable-SubnetInjection -EnvironmentId "00000000-0000-0000-0000-000000000000"
    
  13. 通过登录到 Power Platform 管理中心来验证策略关联。

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