使用 Azure Private Link 將網路安全地連線至 Azure 自動化

Azure 私人端點是一種網路介面,可讓您以私人且安全地方式連線至 Azure Private Link 所支援的服務。 私人端點會使用您 VNet 中的私人 IP 位址,有效地將自動化服務帶入您的 VNet 中。 VNet 上的機器和自動帳戶之間的網路流量會流經 VNet 和 Microsoft 骨幹網路上的私人連結,以排除公開網際網路的風險。

例如,您有已停用輸出網際網路存取的 VNet。 不過,您想要私下存取自動化帳戶,並在混合式 Runbook 背景工作角色上使用 Webhook、狀態設定和 Runbook 作業等自動化功能。 此外,您想要讓使用者只能透過 VNET 存取自動化帳戶。 部署私人端點可達成這些目標。

本文會說明使用時機,以及如何使用自動化帳戶來設定私人端點。

Conceptual overview of Private Link for Azure Automation

注意

只有 Azure Commercial 和 Azure 美國政府雲端才能使用 Azure 自動化的 Private Link 支援。

優點

有了私人連結,您可以:

  • 私下連線到 Azure 自動化,而不需要開啟任何公用網路存取。

  • 私下連線到 Azure 監視器 Log Analytics 工作區,而不需要開啟任何公用網路存取。

    注意

    如果您的自動化帳戶連結至 Log Analytics 工作區以便轉送作業資料,以及當您已啟用更新管理、變更追蹤和清查、狀態設定或停機期間啟動/停止 VM 等功能時,Log Analytics 工作區便需要個別的私人端點。 如需關於 Azure 監視器 Private Link 的詳細資訊,請參閱使用 Azure Private Link 安全地將網路連線至 Azure 監視器

  • 確保您的自動化資料只能透過授權的私人網路存取。

  • 藉由定義透過私人端點連線的 Azure 自動化資源,防止資料從您的私人網路外流。

  • 使用 ExpressRoute 和私人連結,將您的私人內部部署網路安全地連線至 Azure 自動化。

  • 讓所有的流量都在 Microsoft Azure 骨幹網路內。

如需詳細資訊,請參閱私人連結的主要優點

限制

  • 在目前的 Private Link 實作中,自動化帳戶雲端作業無法存取使用私人端點保護的 Azure 資源。 例如,Azure Key Vault、Azure SQL、Azure 儲存體帳戶等。因應措施是改用混合式 Runbook 背景工作角色。 因此,支援內部部署 VM 以針對已啟用 Private Link 的自動化帳戶執行混合式 Runbook 背景工作角色。
  • 您必須使用適用於 Windows 或 Linux 的最新版本 Log Analytics 代理程式
  • Log Analytics 閘道不支援 Private Link。
  • 當自動化帳戶設定中的 [公用存取] 設為 [停用] 時,無法使用 Azure 警示 (警示、記錄和活動記錄) 來觸發自動化 Webhook。

運作方式

Azure 自動化私人連結會將一或多個私人端點 (因此,以及端點所在的虛擬網路) 連線到您的自動化帳戶資源。 這些端點是使用 Webhook 來啟動 Runbook 的機器、裝載混合式 Runbook 背景工作角色的機器,以及 Desired State Configuration (DSC) 節點。

在針對自動化建立私人端點後,每個對外公開的自動化 URL 都會對應至 VNet 中的一個私人端點。 您或機器可以直接連絡自動化 URL。

Webhook 案例

您可以在 Webhook URL 上執行 POST 來啟動 Runbook。 例如,URL 看起來會像這樣︰https://<automationAccountId>.webhooks.<region>.azure-automation.net/webhooks?token=gzGMz4SMpqNo8gidqPxAJ3E%3d

混合式 Runbook 背景工作角色案例

Azure 自動化的使用者混合式 Runbook 背景工作角色功能可讓您直接在 Azure 或非 Azure 機器上執行 Runbook,包括向已啟用 Azure Arc 的伺服器登錄的伺服器。 您可以從裝載角色的機器或伺服器,直接對它執行 Runbook,以及針對環境中的資源執行,以管理這些本機資源。

混合式背景工作角色會使用 JRDS 端點來啟動/停止 Runbook、將 Runbook 下載到背景工作角色,以及將作業記錄串流傳回到自動化服務。 在啟用 JRDS 端點之後,URL 看起來會像這樣:https://<automationaccountID>.jrds.<region>.privatelink.azure-automation.net。 這可確保 Runbook 可在連線至 Azure 虛擬網路的混合式背景工作角色上執行,而不需要開啟對網際網路的輸出連線。

注意

透過目前針對 Azure 自動化實作的 Private Link,其僅支援在連線到 Azure 虛擬網路的混合式 Runbook 背景工作角色上執行作業,而不支援雲端作業。

適用於更新管理的混合式背景工作角色案例

系統的混合式 Runbook 背景工作角色支援更新管理功能所使用的一組隱藏 Runbook,其設計旨在安裝 Windows 和 Linux 機器上使用者指定的更新。 當 Azure 自動化更新管理啟用時,任何連線到您 Log Analytics 工作區的機器都會自動設定為系統混合式 Runbook 背景工作角色。

若要了解如何設定更新管理,請檢閱關於更新管理。 更新管理功能相依於 Log Analytics 工作區,因此需要將工作區與自動化帳戶進行連結。 Log Analytics 工作區會儲存解決方案所收集的資料,並裝載其記錄搜尋和檢視。

如果您想要讓設定用於更新管理的機器,透過 Private Link 通道安全地連線到自動化和 Log Analytics 工作區,就必須為連結至 Private Link 所設定自動化帳戶的 Log Analytics 工作區啟用 Private Link。

您可以遵循設定 Log Analytics 中所述的步驟,控制可從 Private Link 範圍外連線到 Log Analytics 工作區的方法。 如果您將 [允許擷取的公用網路存取] 設為 [否],則連線範圍以外的電腦就無法將資料上傳到此工作區。 如果您將 [允許查詢的公用網路存取] 設為 [否],則範圍以外的電腦就無法存取此工作區中的資料。

使用 DSCAndHybridWorker 目標子資源,為使用者和系統混合式背景工作角色啟用 Private Link。

注意

裝載於 Azure 外部且由更新管理所管理,並使用私人端點透過 ExpressRoute 私人對等互連、VPN 通道和對等互連虛擬網路連線到 Azure VNet 的機器,會支援 Private Link。

狀態設定 (agentsvc) 案例

狀態設定可為您提供 Azure 設定管理服務,以讓您針對任何雲端或內部部署資料中心內的節點撰寫、管理和編譯 PowerShell Desired State Configuration (DSC) 設定。

機器上的代理程式會向 DSC 服務註冊,然後使用服務端點提取 DSC 設定。 代理程式服務端點看起來會像這樣:https://<automationAccountId>.agentsvc.<region>.azure-automation.net

公用和私人端點的 URL 會相同,不過,當私人連結啟用時,其會對應至私人 IP 位址。

根據您的網路進行規劃

在設定您的自動化帳戶資源之前,請考慮您的網路隔離需求。 評估虛擬網路對公用網際網路的存取權,以及自動化帳戶的存取限制 (包括如果已與自動化帳戶整合,則將 Private Link 群組範圍設定為 Azure 監視器記錄)。 此外,也請在您的方案中包含自動化服務 DNS 記錄的檢閱,以確保支援的功能可正常運作,沒有任何問題。

連線到私人端點

請遵循下列步驟來為您的自動化帳戶建立私人端點。

  1. 移至 Azure 入口網站中的 Private Link 中心,建立用來與我們的網路連線的私人端點。

  2. Private Link 中心上,選取 [建立私人端點]

    Screenshot of how to create a private endpoint.

  3. 在 [基本] 上,輸入下列詳細資料:

    • 訂用帳戶
    • 資源群組
    • 名稱
    • 網路介面名稱
    • [區域],然後選取 [下一步:資源]

    Screenshot of how to create a private endpoint in Basics tab.

  4. 在 [資源] 上,輸入下列詳細資料:

    • [連線方法],選取預設選項 - [連線至我目錄中的 Azure 資源]
    • 訂用帳戶
    • 資源類型
    • 資源
    • 根據您的案例,[目標子資源] 可以是 [Webhook] 或 [DSCAndHybridWorker],然後選取 [下一步:虛擬網路]

    Screenshot of how to create a private endpoint in Resource tab.

  5. 在 [虛擬網路] 上,輸入下列詳細資料:

    • 虛擬網路
    • 子網路
    • 啟用 [啟用此子網路中所有私人端點的網路原則] 的核取方塊。
    • 選取 [動態配置 IP 位址],然後選取 [下一步:DNS]

    Screenshot of how to create a private endpoint in Virtual network tab.

  6. 在 [DNS] 上,系統會根據您在 [基本資料]、[資源]、[虛擬網路] 索引標籤中輸入的資訊來填入資料,並建立私人 DNS 區域。 輸入下列詳細資料:

    • [與私人 DNS 區域整合]
    • 訂用帳戶
    • [資源群組],然後選取 [下一步:標籤]

    Screenshot of how to create a private endpoint in DNS tab.

  7. 在 [標籤] 上,您可以將資源分類。 選取 [名稱] 和 [值],然後選取 [檢閱 + 建立]

您會移至 [檢閱 + 建立] 頁面,其中 Azure 會驗證您的設定。 系統套用您對公用網路存取和 Private Link 所進行的變更後,最多可能需要 35 分鐘的時間,變更才會生效。

在 [Private Link 中心] 上,選取 [私人端點] 以檢視您的私人連結資源。

Screenshot Automation resource private link.

選取資源以查看所有詳細資料。 這會為您的自動化帳戶建立新的私人端點,並向其指派您虛擬網路中的私人 IP。 [連線狀態] 顯示為 [已核准]

同樣地,系統會為狀態設定 (agentsvc) 以及為混合式 Runbook 背景工作角色作業執行階段 (jrds) 建立唯一的完整網域名稱 (FQDN)。 其各自都會獲派您 VNet 中的不同 IP,而且 [連線狀態] 會顯示為 [已核准]

如果服務取用者具有自動化資源的 Azure RBAC 權限,便可以選擇自動核准方法。 在此情況下,當要求送達自動化提供者資源時,服務提供者不需要採取任何動作,而且會自動核准連線。

設定公用網路存取旗標

您可以設定自動化帳戶來拒絕所有公用設定,並只允許透過私人端點進行連線,以進一步增強網路安全性。 如果您想要限制只能從 VNet 內存取自動化帳戶,且不允許從公用網際網路存取,則可以將 publicNetworkAccess 屬性設定為 $false

當 [公用網路存取] 設定設為 $false 時,將只允許透過私人端點的連線,且會拒絕透過公用端點的所有連線,並顯示未經授權錯誤訊息,HTTP 狀態為 401。

下列 PowerShell 指令碼說明如何在自動化帳戶層級上 GetSet [公用網路存取] 屬性:

$account = Get-AzResource -ResourceType Microsoft.Automation/automationAccounts -ResourceGroupName "<resourceGroupName>" -Name "<automationAccountName>" -ApiVersion "2020-01-13-preview"
$account.Properties | Add-Member -Name 'publicNetworkAccess' -Type NoteProperty -Value $false -Force
$account | Set-AzResource -Force -ApiVersion "2020-01-13-preview"

您也可以從 Azure 入口網站控制公用網路存取屬性。 從自動化帳戶中,選取左側窗格中 [帳戶設定] 區段底下的 [網路隔離]。 當 [公用網路存取] 設定設定為 [否] 時,將只允許透過私人端點的連線,所有透過公用端點的連線都會遭到拒絕。

Public Network Access setting

DNS 組態

使用完整網域名稱 (FQDN) 作為連接字串的一部分來連線到私人連結資源時,請務必正確地設定您的 DNS 設定,以解析為配置的私人 IP 位址。 現有的 Azure 服務在透過公用端點連線時,可能已經有 DNS 設定可供使用。 您應該檢閱並更新 DNS 設定,才能使用私人端點進行連線。

與私人端點相關聯的網路介面包含設定 DNS 時所需的一組完整資訊,包括為指定的私人連結資源配置的 FQDN 與私人 IP 位址。

您可以使用下列選項來設定私人端點的 DNS 設定:

  • 使用主機檔案 (僅建議用於測試)。 您可以使用虛擬機器上的主機檔案,先使用 DNS 解析名稱以進行覆寫。 您的 DNS 項目看起來應該會像下列範例:privatelinkFQDN.jrds.sea.azure-automation.net

  • 使用私人 DNS 區域。 您可以使用私人 DNS 區域來覆寫特定私人端點的 DNS 解析。 私人 DNS 區域可以連結至您的虛擬網路,以解析特定網域。 若要讓虛擬機器上的代理程式能夠透過私人端點進行通訊,請將私人 DNS 記錄建立為 privatelink.azure-automation.net。 新增對應至私人端點 IP 的 DNS A 記錄。

  • 使用您的 DNS 轉寄站 (選用)。 您可以使用 DNS 轉寄站來覆寫特定私人連結資源的 DNS 解析。 如果您的 DNS 伺服器裝載在虛擬網路上,可以建立 DNS 轉送規則來使用私人 DNS 區域,以簡化所有私人連結資源的設定。

如需詳細資訊,請參閱 Azure 私人端點 DNS 設定

下一步

若要深入了解私人端點,請參閱什麼是 Azure 私人端點?