你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 防火墙显式代理

Azure 防火墙默认以透明代理模式运行。 在此模式下,用户自定义路由(UDR)将流量路由到防火墙。 防火墙会拦截内联流量并将其转发到目的地。

当你为出站流量启用显式代理时,可以配置发送应用(如网页浏览器)使用Azure 防火墙作为代理。 该配置将流量从应用引导到防火墙的私有IP地址,因此流量直接从防火墙出口,无需依赖UDR系统。

显式代理模式支持 HTTP 和 HTTPS 流量。 你在浏览器或应用程序中定义代理设置,指向防火墙的私有IP地址。 你可以手动配置此设置,也可以使用代理自动配置(PAC)文件。 防火墙可以托管PAC文件,在你上传到防火墙后处理代理请求。

先决条件

  • 一个带有关联防火墙策略的 Azure 防火墙。 你是在防火墙策略中配置显式代理,而不是在防火墙资源中配置。 有关详细信息,请参阅 Azure 防火墙策略规则集

  • 要托管PAC文件,还需要:

    • 一个带 blob 容器的 Azure 存储 账户来存储 PAC 文件。
    • 一个用户指定的托管身份,在该存储账户上拥有 存储块数据贡献者存储块数据读取 器角色。

配置

  • 在 Azure 防火墙 策略中启用 explicit proxy。

    显示“启用显式代理”设置的屏幕截图。

    注意

    你可以用单一端口的 HTTP 端口 来处理 HTTP 和 HTTPS 流量。

  • 在防火墙策略中创建一个 应用 规则,允许流量通过防火墙。

  • 选择 启用代理自动配置 以使用代理自动配置(PAC)文件。

  • 通过以下步骤生成PAC文件URL:

    注意

    使用你拥有添加角色权限的订阅。

    • 将PAC文件上传到存储容器。 显示PAC文件上传的截图。
    • 选择上传的文件并复制文件URL。 示例URL: https://eproxypstestresources.blob.core.windows.net/explicitproxycontainer/proxy.pac显示复制PAC文件URL的截图。
  • 创建一个托管身份并分配所需角色。

    • 进入托管身份资源创建托管身份。 有关详细信息,请参阅管理用户分配的托管标识
    • 进入你创建的存储账户资源,进入访问控制(IAM)。 选择 添加 以添加角色分配。
    • “添加角色分配”,搜索 “存储块数据贡献者 ”和 “存储块块数据阅读器”,然后选择它们。 展示如何添加角色分配的截图。
    • 进入 “成员” ,选择托管身份。 查看更改后,在“审核+分配”中选择“分配”。 截图显示审核和分配角色。
    • 通过搜索管理身份确认你的更改是否反映在 角色分配 中。 显示已验证角色分配的截图。

    注意

    确保你创建的托管身份(Managed Identity)带有“PacFileMSI-”前缀。

  • 在获得PAC文件URL和管理身份后,你可以在显式代理配置中启用PAC文件,方法是提供PAC文件URL,并选择你创建的托管身份。

    演示如何更新托管身份的截图。

管理和符合性

若要确保跨 Azure 防火墙部署的显式代理设置配置一致,请使用 Azure Policy 定义。 以下策略可用于管理显式代理配置:

  • 强制实施防火墙策略的显式代理配置:确保所有 Azure 防火墙策略都启用了显式代理配置。
  • 使用显式代理时启用 PAC 文件配置:审核启用显式代理时,也会正确配置 PAC(代理自动配置)文件。

有关这些策略以及如何实现这些策略的详细信息,请参阅 使用 Azure Policy 来帮助保护 Azure 防火墙部署

后续步骤