設定 Azure 事件方格主題或網域的 IP 防火牆
根據預設,只要要求具備有效的驗證和權限,便可以從網際網路存取主題和網域。 透過 IP 防火牆,您可以將其進一步限制為僅允許一組 IPv4 位址,或是使用 CIDR (無類別網域間路由) 標記法來設定 IPv4 位址範圍。 來自其他任何 IP 位址的發行者將會遭到拒絕,而且會收到 403 (禁止) 回應。 如需事件方格支援的網路安全性功能有關的詳細資訊,請參閱事件方格的網路安全性。
本文章說明如何設定 Azure 事件方格主題或網域的 IP 防火牆設定。
使用 Azure 入口網站
本節說明如何在建立主題或現有主題時,使用 Azure 入口網站啟用公用或私人存取。 本節所示的步驟適用於主題。 您可以使用類似的步驟來啟用網域的公用或私人存取。
建立主題期間
本節說明如何啟用事件方格主題或網域的公用或私人網路存取。 如需建立新主題的逐步指示,請參閱建立自訂主題。
在 [建立主題] 精靈的 [基本] 頁面上,填入必要欄位之後,選取頁面底部的 [下一步:網路功能]。
如果您想要允許用戶端透過公用 IP 位址連線至主題端點,請保留選取 [公用存取] 選項。
您可以指定 [位址範圍] 欄位的值,限制來自特定 IP 位址對主題的存取。 在無類別網域間路由 (CIDR) 標記法中指定單一 IPv4 位址或 IP 位址範圍。
若要允許透過私人端點存取事件方格主題,請選取 [私人存取] 選項。
請遵循使用 Azure 入口網站新增私人端點一節中的指示來建立私人端點。
對於現有主題
在 Azure 入口網站中,瀏覽至您的事件方格主題或網域,然後切換至 [網路] 索引標籤。
選取 [公用網路] 以允許全部網路,包括網際網路存取資源。
您可以指定 [位址範圍] 欄位的值,限制來自特定 IP 位址對主題的存取。 在無類別網域間路由 (CIDR) 標記法中指定單一 IPv4 位址或 IP 位址範圍。
選取 [僅限私人端點],允許私人端點連線存取此資源。 使用此頁面上的 [私人端點連線] 索引標籤來管理連線。
如需建立私人端點連線的逐步指示,請參閱使用 Azure 入口網站新增私人端點。
在工具列上選取 [儲存]。
使用 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 eastus -PublicNetworkAccess enabled
在建立主題時停用公用網路存取
New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location eastus -PublicNetworkAccess disabled
注意
當主題或網域停用公用網路存取時,不允許透過公用網際網路的流量。 只有私人端點連線才能存取這些資源。
使用公用網路存取和輸入 IP 規則建立主題
下列範例 CLI 命令會建立具有公用網路存取和輸入 IP 規則的事件方格主題。
New-AzEventGridTopic -ResourceGroupName MyResourceGroupName -Name Topic1 -Location eastus -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 @{}
下一步
- 如需關於監視事件傳遞的資訊,請參閱監視 Event Grid 訊息傳遞。
- 如需驗證金鑰的詳細資訊,請參閱 Event Grid 安全性和驗證。
- 若要了解 Event Grid 訂用帳戶的建立,請參閱 Event Grid 訂用帳戶結構描述。
- 若要針對網路連線問題進行疑難排解,請參閱針對網路連線問題進行疑難排解