Compartilhar via

为Azure 事件网格主题或域配置 IP 防火墙

默认情况下,只要请求附带有效的身份验证和授权,主题和域即可从 Internet 访问。 使用 IP 防火墙,您可以将其进一步限制为仅限于采用 CIDR(无类域间路由)表示法的一组 IPv4 地址或 IPv4 地址范围。 来自任何其他 IP 地址的发布者将被拒绝,并且将收到 403 (禁止)响应。 有关事件网格支持的网络安全功能的详细信息,请参阅 事件网格的网络安全性

本文介绍如何为Azure 事件网格主题或域配置 IP 防火墙设置。

使用 Azure 门户

本部分介绍如何在创建主题或现有主题时使用 Azure 门户启用公共或专用访问。 本节介绍的步骤适用于专题。 可以使用类似的步骤为 启用公共或专用访问。

创建主题时

本部分介绍如何为事件网格主题或域启用公共或专用网络访问。 有关创建新主题的分步说明,请参阅 “创建自定义主题”。

  1. “创建主题”向导的“基本信息”页上,填写必填字段后,在页面底部选择“下一步:网络”

    显示页面底部选择“网络”链接的屏幕截图。

  2. 如果希望允许客户端通过公共 IP 地址连接到主题终结点,请保持“ 公共访问 ”选项处于选中状态。

    可以通过指定 地址范围 字段的值来限制从特定 IP 地址访问主题。 在无类域间路由(CIDR)表示法中指定单个 IPv4 地址或一系列 IP 地址。

    “创建主题”向导的“网络”页中显示选择“公共访问”选项的屏幕截图。

  3. 若要允许通过专用终结点访问事件网格主题,请选择 “专用访问 ”选项。

    显示“创建主题”向导的“网络”页上选择“专用访问”选项的屏幕截图。

  4. 请按照 在 Azure 门户中添加专用终结点部分中的说明来创建专用终结点。

对于现有主题

  1. Azure 门户中,导航到事件网格主题或域,并切换到 Networking 选项卡。

  2. 选择 公共网络 以允许所有网络(包括 Internet)访问资源。

    可以通过指定 地址范围 字段的值来限制从特定 IP 地址访问主题。 在无类域间路由(CIDR)表示法中指定单个 IPv4 地址或一系列 IP 地址。

    显示“公用网络访问”页的屏幕截图,其中选择了“公用网络”。

  3. 仅选择 专用终结点 以仅允许专用终结点连接访问此资源。 使用此页上的 “专用终结点连接 ”选项卡管理连接。

    有关创建专用终结点连接的分步说明,请参阅使用 Azure 门户添加专用终结点

    显示“公用网络访问”页的屏幕截图,其中仅选择了“专用终结点”选项。

  4. 选择工具栏上的 “保存 ”。

使用Azure CLI

本部分介绍如何使用Azure CLI命令创建具有入站 IP 规则的主题。 本节介绍的步骤适用于专题。 可以使用类似的步骤为 创建入站 IP 规则。

启用或禁用公用网络访问

默认情况下,主题和域启用了公共网络访问。 还可以显式启用或禁用它。 可以通过配置入站 IP 防火墙规则来限制流量。

创建主题时启用公用网络访问

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled

创建主题时禁用公用网络访问

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access disabled

注释

当对主题或领域禁用公用网络访问时,不允许通过公共互联网进行网络流量。 仅允许专用终结点连接访问这些资源。

为现有的主题启用公共网络访问

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled 

禁用现有主题的公共网络访问权限

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access disabled

使用单个入站 IP 规则创建主题

以下示例 CLI 命令使用入站 IP 规则创建事件网格主题。

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR or CIDR MASK> allow 

创建具有多个入站 IP 规则的主题

以下示例 CLI 命令在一个步骤中创建事件网格主题两个入站 IP 规则:

az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow \
    --inbound-ip-rules <IP ADDR 2 or CIDR MASK 2> allow

更新现有主题以添加入站 IP 规则

本示例先创建事件网格主题,然后在单独的命令中添加主题的入站 IP 规则。 它还会更新第二个命令中设置的入站 IP 规则。


# create the event grid topic first
az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location

# add inbound IP rules to an existing topic
az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR or CIDR MASK> allow

# later, update topic with additional ip rules
az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow \
    --inbound-ip-rules <IP ADDR 2 or CIDR MASK 2> allow

删除入站 IP 规则

以下命令通过仅在更新设置时指定第一个规则来删除在上一步中创建的第二个规则。

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access enabled \
    --inbound-ip-rules <IP ADDR 1 or CIDR MASK 1> allow

使用 PowerShell

本部分介绍如何使用Azure PowerShell命令创建具有入站 IP 防火墙规则的Azure 事件网格主题。 本节介绍的步骤适用于专题。 可以使用类似的步骤为 创建入站 IP 规则。

默认情况下,主题和域启用了公共网络访问。 还可以显式启用或禁用它。 可以通过配置入站 IP 防火墙规则来限制流量。

创建主题时启用公用网络访问

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location chinanorth -PublicNetworkAccess enabled

创建主题时禁用公用网络访问

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location chinanorth -PublicNetworkAccess disabled

注释

当对主题或领域禁用公用网络访问时,不允许通过公共互联网进行网络流量。 仅允许专用终结点连接访问这些资源。

使用公用网络访问和入站 IP 规则创建主题

以下示例 CLI 命令创建包含公共网络访问和入站 IP 规则的事件网格主题。

New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location chinanorth -PublicNetworkAccess enabled -InboundIpRule @{ "10.0.0.0/8" = "Allow"; "10.2.0.0/8" = "Allow" }

使用公用网络访问和入站 IP 规则更新现有主题

以下示例 CLI 命令使用入站 IP 规则更新现有事件网格主题。

Set-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -PublicNetworkAccess enabled -InboundIpRule @{ "10.0.0.0/8" = "Allow"; "10.2.0.0/8" = "Allow" } -Tag @{}

禁用现有主题的公共网络访问权限

Set-AzEventGridTopic -ResourceGroup MyResourceGroupName -Name Topic1 -PublicNetworkAccess disabled -Tag @{} -InboundIpRule @{}

后续步骤