設定 Azure 認知服務虛擬網路

Azure 認知服務提供多層式安全性模型。 此模型可讓您將認知服務帳戶固定在特定的網路子集。 設定網路規則時,只有透過一組指定網路要求資料的應用程式才能存取帳戶。 您可以使用要求篩選來限制資源的存取權。 只允許源自所指定 IP 位址、IP 範圍或來自 Azure 虛擬網路中子網路清單的要求。

在網路規則生效時存取認知服務資源的應用程式需要授權。 透過 Azure Active Directory (Azure AD) 認證或使用有效的 API 金鑰來支援授權。

重要

為您的認知服務帳戶開啟防火牆規則時,預設會封鎖資料的傳入要求。 為了允許要求通過,必須符合下列其中一個條件:

  • 要求應該源自 Azure 虛擬網路 (VNet) 內操作的服務,而此虛擬網路是在目標認知服務帳戶允許的子網路清單上。 要求中源自 VNet 的端點必須設定為您認知服務帳戶的自訂子網域
  • 或者,要求應該源自允許的 IP 位址清單。

封鎖的要求包括來自其他 Azure 服務、Azure 入口網站及記錄與計量服務等等的要求。

注意

建議您使用 Azure Az PowerShell 模組以與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。

案例

若要保護您的認知服務帳戶,您應該先設定規則,預設為拒絕存取來自所有網路的流量 (包括網際網路流量)。 然後,您應該設定規則,以授與特定 Vnet 中流量的存取權。 此設定可讓您為應用程式設定安全的網路界限。 您也可以設定規則,授與存取所選取公用網際網路 IP 位址範圍中流量的權限,這會啟用來自特定網際網路或內部部署用戶端的連線。

Azure 認知服務的所有網路通訊協定上都會強制執行網路規則,包括 REST 和 SMB。 若要使用 Azure 測試主控台之類的工具來存取資料,必須設定明確的網路規則。 您可以將網路規則套用至現有的認知服務資源,或在建立新的認知服務資源時套用這些規則。 一旦套用網路規則,就會對所有要求執行。

支援的區域和服務供應項目

提供認知服務的區域支援虛擬網路 (VNet)。 認知服務支援網路規則組態的服務標籤。 以下列出的服務包含在 CognitiveServicesManagement 服務標籤中。

  • Anomaly Detector
  • 電腦視覺
  • 內容仲裁者
  • 自訂視覺
  • 臉部
  • 語言理解 (LUIS)
  • 個人化工具
  • 語音服務
  • 語言服務
  • QnA Maker
  • 翻譯工具文字

注意

如果您使用的是 LUIS 或語音服務,或語言服務,CognitiveServicesManagement 標記只讓您可以使用 SDK 或 REST API 來使用服務。 若要從虛擬網路存取和使用 LUIS 入口網站、Speech Studio 或語言服務,您必須使用下列標記:

  • AzureActiveDirectory
  • AzureFrontDoor.Frontend
  • AzureResourceManager
  • CognitiveServicesManagement

變更預設的網路存取規則

根據預設,認知服務資源會接受來自任何網路上用戶端的連線。 若要限制對所選網路的存取權,您必須先變更預設動作。

警告

變更網路規則會影響應用程式連接到 Azure 認知服務的能力。 將預設的網路規則設定為拒絕以封鎖所有的資料存取,除非也套用了授與存取權的特定網路規則。 請務必先將存取權授與任何使用網路規則的允許網路,再變更預設規則以拒絕存取。 如果您允許列出內部部署網路的 IP 位址,請務必從您的內部部署網路新增所有可能的傳出公用 IP 位址。

管理預設的網路存取規則

您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理認知服務資源的預設網路存取規則。

  1. 移至您想要保護的認知服務資源。

  2. 選取稱為 [虛擬網路] 的 [資源管理] 功能表。

    虛擬網路選項

  3. 若要預設拒絕存取,請選擇允許所選網路存取權。 只有 [選取的網路] 設定,未伴隨設定的 [虛擬網路] 或 [位址範圍] - 所有存取都會遭到有效地拒絕。 當所有存取遭到拒絕時,不允許嘗試取用認知服務資源的要求。 仍然可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來設定認知服務資源。

  4. 若要允許來自所有網路的流量,請選擇允許所有網路存取權。

    虛擬網路拒絕

  5. 選取 [儲存] 來套用您的變更。

授與虛擬網路存取權

您可以將認知服務資源設定為僅允許來自特定子網路的存取。 允許的子網路可能屬於相同訂用帳戶中的 VNet,或位於不同訂用帳戶中的 VNet,包括屬於不同 Azure Active Directory 租用戶的訂用帳戶。

在 VNet 內啟用 Azure 認知服務的服務端點。 服務端點會透過最佳路徑,將來自 VNet 的流量路由至 Azure 認知服務。 子網路和虛擬網路的身分識別也會隨著每個要求傳輸。 管理員接著可以設定認知服務資源的網路規則,允許接收來自 VNet 中特定子網路的要求。 透過這些網路規則授與存取的用戶端,必須仍要繼續符合認知服務資源的授權需求,才能存取資料。

每個認知服務資源最多可支援 100 個虛擬網路規則,它們也可以結合 IP 網路規則

所需的權限

若要將虛擬網路規則套用至認知服務資源,使用者必須對要新增的子網路具有適當權限。 必要的許可權是預設的「參與者」角色或「認知服務參與者」角色。 也可以將必要的權限新增至自訂角色定義。

認知服務資源和虛擬網路授與的存取權可能在不同的訂用帳戶中,包括屬於不同 Azure AD 租用戶的訂用帳戶。

注意

目前只透過 PowerShell、CLI 和 REST API 支援設定規則,以授與權限存取虛擬網路中的子網路,而這些虛擬網路屬於不同的 Azure Active Directory 租用戶。 這類規則無法透過 Azure 入口網站進行設定,但可以在入口網站中看到。

管理虛擬網路規則

您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理認知服務資源的虛擬網路規則。

  1. 移至您想要保護的認知服務資源。

  2. 選取稱為 [虛擬網路] 的 [資源管理] 功能表。

  3. 請確定您已選取允許從所選網路進行存取。

  4. 若要使用現有的網路規則將存取權授與虛擬網路,請在 [虛擬網路] 下選取 [新增現有虛擬網路]。

    新增現有 vNet

  5. 選取 [虛擬網路] 和 [子網路] 選項,然後選取 [啟用]。

    新增現有 vNet 詳細資訊

  6. 若要建立新的虛擬網路並授與存取權,請選取 [新增虛擬網路]。

    新增新的 vNet

  7. 提供建立新虛擬網路所需的資訊,並選取 [建立]。

    建立 vNet

    注意

    如果 Azure 認知服務的服務端點未針對所選虛擬網路和子網路事先設定,可以將其設定為這項作業的一部分。

    目前,只有屬於相同 Azure Active Directory 租用戶的虛擬網路,才會在建立規則時顯示以供選取。 當虛擬網路屬於另一個租用戶時,若要授與權限存取其中的子網路,請使用 PowerShell、CLI 或 REST API。

  8. 若要移除虛擬網路或子網路規則,請選取 […] 開啟虛擬網路或子網路的快顯功能表,然後選取 [移除]。

    移除 vNet

  9. 選取 [儲存] 來套用您的變更。

重要

請務必將預設規則設定為 [拒絕],否則網路規則不會生效。

授與網際網路 IP 範圍存取權

您可以將認知服務設定為允許從特定公用網際網路 IP 位址範圍進行存取。 此設定可將存取權授與特定服務和內部部署網路,這會有效地封鎖一般網際網路流量。

使用 CIDR 標記法16.17.18.0/24 的形式,或 16.17.18.19 一類的個別 IP 位址,提供允許的網際網路位址範圍。

提示

不支援使用 "/31" 或 "/32" 前置詞大小的小型位址範圍。 這些範圍應該使用個別的 IP 位址規則設定。

只有公用網際網路 IP 位址允許使用 IP 網路規則。 IP 規則中不允許保留私人網路的 IP 位址範圍 (如 RFC 1918 中所定義)。 私人網路包括以 10.*172.16.* - 172.31.*192.168.* 開頭的位址。

目前僅支援 IPV4 位址。 每個認知服務資源最多可支援 100 個 IP 網路規則,它們也可以結合虛擬網路規則

設定內部部署網路存取權

若要使用 IP 網路規則,從您的內部部署網路將存取權授與您的認知服務資源,您必須識別網路所使用的網際網路對應 IP 位址。 請連絡網路系統管理員尋求協助。

如果您是使用 ExpressRoute 內部部署,進行公用對等互連或 Microsoft 對等互連,您將必須識別 NAT IP 位址。 若為公用對等互連,每個 ExpressRoute 線路預設為使用兩個 NAT IP 位址。 當流量進入 Microsoft Azure 網路骨幹時,每個都會套用至 Azure 服務流量。 若為 Microsoft 對等互連,所使用的 NAT IP 位址是由客戶提供或由服務提供者提供。 若要允許存取您的服務資源,就必須在資源 IP 防火牆設定中允許這些公用 IP 位址。 若要尋找您的公用對等互連 ExpressRoute 線路 IP 位址,請透過 Azure 入口網站開啟有 ExpressRoute 的支援票證。 深入了解 ExpressRoute 公用與 Microsoft 對等互連的 NAT。

管理 IP 網路規則

您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理認知服務資源的 IP 網路規則。

  1. 移至您想要保護的認知服務資源。

  2. 選取稱為 [虛擬網路] 的 [資源管理] 功能表。

  3. 請確定您已選取允許從所選網路進行存取。

  4. 若要授與網際網路 IP 範圍的存取權,請在 [防火牆][位址範圍]> 之下輸入 IP 位址或位址範圍 (採用 CIDR 格式)。 只接受有效的公用 IP (非保留) 位址。

    新增 IP 範圍

  5. 若要移除 IP 網路規則,請選取位址範圍旁的垃圾桶 圖示。

    刪除 IP 範圍

  6. 選取 [儲存] 來套用您的變更。

重要

請務必將預設規則設定為 [拒絕],否則網路規則不會生效。

使用私人端點

您可以將私人端點用於認知服務資源,以允許虛擬網路 (VNet) 上的用戶端可安全地透過 Private Link 存取資料。 私人端點會將來自 VNet 位址空間的 IP 位址用於您的認知服務資源。 VNet 上的用戶端與資源之間的網路流量會周遊 VNet 和 Microsoft 骨幹網路上的私人連結,以排除網際網路中的暴露。

認知服務資源的私人端點可讓您:

  • 設定防火牆為認知服務封鎖公用端點上的所有連線,以保護您的認知服務資源。
  • 提高 VNet 的安全性,方法是讓您可以封鎖 VNet 中的資料外流。
  • 搭配使用 VPNExpressRoutes 與私人對等互連,安全地從連線至 VNet 的內部部署網路連線到 Web 應用程式。

概念概觀

私人端點是您 VNet 中 Azure 資源的特殊網路介面。 為您的認知服務資源建立私人端點,可在 VNet 中的用戶端與您的資源之間提供安全的連線能力。 私人端點獲指派的 IP 位址來自您 VNet 的 IP 位址範圍。 私人端點與認知服務之間的連線會使用安全的私人連結。

VNet 中的應用程式可以順暢地透過私人端點連線到服務,方法為使用相同的連接字串,以及它們將另外使用的授權機制。 例外狀況是語音服務,其需要個別的端點。 請參閱具有語音服務的私人端點一節。 私人端點可與認知服務資源所支援的所有通訊協定搭配使用,包括 REST。

私人端點可以在使用服務端點的子網路中建立。 子網路中的用戶端可以使用私人端點連線至認知服務資源,同時使用服務端點存取其他服務。

當您為 VNet 中的認知服務資源建立私人端點時,系統會傳送同意要求,以取得認知服務資源擁有者的核准。 如果要求建立私人端點的使用者也是儲存體帳戶的擁有者,則系統會自動核准此同意要求。

認知服務資源擁有者可以透過 Azure 入口網站中認知服務資源的 [私人端點] 索引標籤,來管理同意要求和私人端點。

私人端點

建立私人端點時,您必須指定其連線至的認知服務資源。 如需有關建立私人端點的詳細資訊,請參閱:

連線至私人端點

VNet 上使用私人端點的用戶端,應在用戶端連線至公用端點時,將相同的連接字串用於認知服務資源。 例外狀況是語音服務,其需要個別的端點。 請參閱具有語音服務的私人端點一節。 我們依賴 DNS 解析,以透過私人連結,自動將來自 VNet 的連線路由傳送至認知服務資源。

根據預設,我們會建立一個附加至 VNet 的私人 DNS 區域,並對私人端點進行必要的更新。 不過,如果您使用的是自己的 DNS 伺服器,則可能需要對 DNS 組態進行額外的變更。 下列 DNS 變更一節描述私人端點所需的更新。

具有語音服務的私人端點

請參閱使用語音服務搭配 Azure Private Link 提供的私人端點

私人端點的 DNS 變更

當您建立私人端點時,認知服務資源的 DNS CNAME 資源記錄會更新為子網域中首碼為 'privatelink' 的別名。 根據預設,我們也會建立對應至 'privatelink' 子網域的私人 DNS 區域,並提供私人端點的資源記錄。

當您從具有私人端點的 VNet 外部解析端點 URL 時,其會解析為認知服務資源的公用端點。 從裝載私人端點的 VNet 解析時,端點 URL 會解析為私人端點的 IP 位址。

這種方法可讓您將相同的連接字串用於 VNet (裝載私人端點) 中的用戶端和 VNet 外的用戶端,來存取認知服務資源。

如果您是在網路上使用自訂 DNS 伺服器,用戶端必須能夠將認知服務資源端點的完整網域名稱 (FQDN) 解析為私人端點 IP 位址。 設定您的 DNS 伺服器,以將私人連結子網域委派給 VNet 的私人 DNS 區域。

提示

使用自訂或內部部署 DNS 伺服器時,您應該設定 DNS 伺服器,將 'privatelink' 子網域中的認知服務資源名稱解析為私人端點 IP 位址。 若要這麼做,您可以將 'privatelink' 子網域委派給 VNet 的私人 DNS 區域,或在 DNS 伺服器上設定 DNS 區域,然後新增 DNS A 記錄。

如需有關設定您自己的 DNS 伺服器以支援私人端點的詳細資訊,請參閱下列文章:

定價

如需定價詳細資料,請參閱 Azure Private Link 定價

下一步