使用適用於 Visual Studio Code 的 Azure 原則延伸模組

適用於 Azure 原則延伸模組 0.1.2 版和更新版本

了解如何使用適用於 Visual Studio Code (VS Code) 的 Azure 原則延伸模組來查閱別名、檢閱資源和原則定義、匯出物件,以及評估原則定義。 首先,我們將說明如何在 Visual Studio Code 中安裝 Azure 原則延伸模組。 接著,我們將逐步解說如何查閱別名。

Visual Studio Code 的 Azure 原則延伸模組可以安裝在 Linux、macOS 和 Windows 上。

必要條件

若要完成此文章中的步驟,將會需要下列項目:

安裝和設定 Azure 原則延伸模組

符合必要條件之後,即可遵循下列步驟來安裝適用於 Visual Studio Code 的 Azure 原則延伸模組

  1. 打開 Visual Studio Code。
  2. 從功能表列中,移至 [檢視] > [延伸模組]
  3. 在搜尋方塊中,輸入 [Azure 原則]
  4. 從搜尋結果中選取 [Azure 原則],然後選取 [安裝]
  5. 視需要選取 [重新載入]

針對國家雲端使用者,請遵循下列步驟,先設定 Azure 環境:

  1. 選取 [檔案] > [喜好設定] > [設定]

  2. 搜尋下列字串:[Azure: 雲端]

  3. 從清單中,選取國家雲端:

    Screenshot of selecting the nation Azure cloud sign in for Visual Studio Code.

使用原則延伸模組

注意

適用於 Visual Studio Code 的 Azure 原則延伸模組中所檢視原則定義的本機變更不會同步至 Azure。

連線到 Azure 帳戶

若要評估資源並查閱別名,您必須連線至 Azure 帳戶。 請遵循下列步驟,以從 Visual Studio Code 連線至 Azure:

  1. 從 Azure 原則延伸模組或命令選擇區登入 Azure。

    • Azure 原則延伸模組

      從 Azure 原則延伸模組中,選取 [登入 Azure]

      Screenshot of Visual Studio Code and the icon for the Azure Policy extension.

    • 命令選擇區

      從功能表列中,移至 [檢視] > [命令選擇區],然後輸入 [Azure:登入]

      Screenshot of the Azure cloud sign in options for Visual Studio Code from the Command Palette.

  2. 遵循登入指示來登入 Azure。 連線之後,您的 Azure 帳戶名稱會顯示在 Visual Studio Code 視窗底部的狀態列中。

選取訂用帳戶

當您第一次登入時,Azure 原則延伸模組只會載入預設訂用帳戶資源和原則定義。 若要新增或移除訂用帳戶,使其不顯示資源和原則定義,請遵循下列步驟:

  1. 從命令選擇區或視窗頁尾啟動訂用帳戶命令。

    • 命令選擇區

      從功能表列中,移至 [檢視] > [命令選擇區],然後輸入 [Azure:選取訂用帳戶]

    • 視窗頁尾

      在畫面底部的視窗頁尾中,選取符合 [Azure:<您的帳戶>] 的區段。

  2. 使用篩選方塊,依名稱快速尋找訂用帳戶。 然後,檢查或移除每個訂用帳戶中的勾號,以設定 Azure 原則延伸模組所顯示的訂用帳戶。 完成新增或移除要顯示的訂用帳戶時,請選取 [確定]

搜尋和檢視資源

Azure 原則延伸模組會在 [資源] 窗格中,依資源提供者和資源群組列出所選取訂用帳戶中的資源。 樹狀檢視包括所選取訂用帳戶內或訂用帳戶層級的下列資源群組:

  • 資源提供者
    • 每個已註冊資源提供者都有具有原則別名的資源和相關子資源
  • 資源群組
    • 屬於資源群組的所有資源

根據預設,延伸模組功能會依現有資源以及具有原則別名的資源來篩選「資源提供者」部分。 在 [設定] > [延伸模組] > [Azure 原則] 中變更此行為,以查看所有資源提供者,而不進行篩選。

單一訂用帳戶中具有數百或數千個資源的客戶,可能會偏好使用可搜尋的方式來尋找其資源。 Azure 原則延伸模組可讓您使用下列步驟來搜尋特定資源:

  1. 從 Azure 原則延伸模組或命令選擇區中,啟動搜尋介面。

    • Azure 原則延伸模組

      從 Azure 原則延伸模組中,將滑鼠游標暫留在 [資源] 面板上方,並選取省略符號,然後選取 [搜尋資源]

    • 命令選擇區

      從功能表列中,移至 [檢視] > [命令選擇區],然後輸入 [Azure 原則:搜尋資源]

  2. 如果選取多個訂用帳戶以供顯示,則請使用篩選來選取要搜尋的訂用帳戶。

  3. 使用篩選來選取要搜尋的資源群組,而此資源群組是先前所選擇訂用帳戶的一部分。

  4. 使用篩選來選取要顯示的資源。 篩選適用於資源名稱和資源類型。

探索資源屬性的別名

選取資源時,無論是透過搜尋介面還是在樹狀檢視中選取資源,Azure 原則延伸模組都會開啟 JavaScript 物件標記法 (JSON) 檔案,而此檔案代表該資源和其所有 Azure Resource Manager 屬性值。

開啟資源之後,將滑鼠游標暫留在 Resource Manager 屬性名稱或值上方時會顯示 Azure 原則別名 (若存在)。 在此範例中,資源是 Microsoft.Compute/virtualMachines 資源類型,而滑鼠游標暫留在 properties.storageProfile.imageReference.offer 屬性上方。 滑鼠游標暫留會顯示相符的別名。

Screenshot of the Azure Policy extension for Visual Studio Code hovering a property to display the alias names.

注意

VS Code 延伸模組僅支援評估 Resource Manager 模式屬性。 如需模式的詳細資訊,請參閱模式定義

搜尋與檢視原則定義和指派

Azure 原則延伸模組會將原則類型和原則指派列為訂用帳戶的樹狀檢視,而此訂用帳戶已選取要顯示在 [原則] 窗格中。 單一訂用帳戶中具有數百或數千個原則定義或指派的客戶,可能會偏好使用可搜尋的方式來找到其原則定義或指派。 Azure 原則延伸模組可讓您使用下列步驟來搜尋特定原則或指派:

  1. 從 Azure 原則延伸模組或命令選擇區中,啟動搜尋介面。

    • Azure 原則延伸模組

      從 Azure 原則延伸模組中,將滑鼠游標暫留在 [原則] 面板上方,並選取省略符號,然後選取 [搜尋原則]

    • 命令選擇區

      從功能表列中,移至 [檢視] > [命令選擇區],然後輸入 [Azure 原則:搜尋原則]

  2. 如果選取多個訂用帳戶以供顯示,則請使用篩選來選取要搜尋的訂用帳戶。

  3. 使用篩選來選取要搜尋的原則類型或指派,而此原則類型或指派是先前所選擇訂用帳戶的一部分。

  4. 使用篩選來選取要顯示的原則。 此篩選適用於原則定義或原則指派的 displayName

選取原則或指派時,無論是透過搜尋介面還是在樹狀檢視中進行選取,Azure 原則延伸模組都會開啟 JSON,而此 JSON 代表原則或指派和其所有 Resource Manager 屬性值。 此延伸模組可以驗證已開啟的 Azure 原則 JSON 結構描述。

匯出物件

訂用帳戶中的物件可以匯出至本機 JSON 檔案。 在 [資源] 或 [原則] 窗格中,將滑鼠游標暫留在可匯出的物件上方,或選取可匯出的物件。 在所反白顯示資料列的結尾,選取儲存圖示,然後選取資料夾以儲存該資源 JSON。

下列物件可以在本機匯出:

  • 資源窗格
    • 資源群組
    • 個別資源 (在資源群組中或資源提供者下)
  • 原則窗格
    • 原則指派
    • 內建原則定義
    • 自訂原則定義
    • 方案

隨選評估掃描

評估掃描可以從適用於 Visual Studio Code 的 Azure 原則延伸模組開始。 若要開始評估,請選取並釘選下列每個物件:資源、原則定義和原則指派。

  1. 若要釘選每個物件,請在 [資源] 窗格或 [原則] 窗格中尋找物件,然後選取釘選以編輯索引標籤圖示。 釘選物件時會將其新增至延伸模組的 [評估] 窗格。
  2. 在 [評估] 窗格中,選取其中一個物件,並使用 [選取進行評估] 圖示將其標示為包含在評估中。
  3. 在 [評估] 窗格頂端,選取 [執行評估] 圖示。 Visual Studio Code 中的新窗格會以 JSON 形式產生的評估詳細資料開啟。

注意

針對 AuditIfNotExistsDeployIfNotExists 原則定義,請使用 [評估] 窗格中的加號圖示或 [命令選擇區] 中的 [Azure 原則:選取資源以進行存在檢查 (僅用於 if-not-exists 原則)],以選取存在檢查的「相關」資源。

評估結果會提供原則定義和原則指派的相關資訊,以及 policyEvaluations.evaluationResult 屬性。 輸出會看似像以下範例:

{
    "policyEvaluations": [
        {
            "policyInfo": {
                ...
            },
            "evaluationResult": "Compliant",
            "effectDetails": {
                "policyEffect": "Audit",
                "existenceScope": "None"
            }
        }
    ]
}

注意

VS Code 延伸模組僅支援評估 Resource Manager 模式屬性。 如需模式的詳細資訊,請參閱模式定義

評估功能不適用於延伸模組的 macOS 和 Linux 安裝。

從條件約束範本或變動範本建立原則定義

VS Code 延伸模組可以從現有開放式原則代理程式 (OPA) GateKeeper v3 條件約束範本或現有的變動範本來建立原則定義。 YAML Ain't Markup Language (YAML) 檔案必須在 VS Code 中開啟,命令選擇區才能成為選項。

  1. 開啟有效的 OPA GateKeeper v3 條件約束範本 YAML 檔案。

  2. 從功能表列中,移至 [檢視] > [命令選擇區],然後輸入 [Kubernetes 的 Azure 原則:從條件約束範本或變動建立原則定義]

  3. 選取適當的 sourceType 值。

  4. 填入原則定義 JSON 的 /* EDIT HERE */ 部分。

雖然延伸模組會產生原則定義的 JSON,但不會在 Azure 中建立定義。 填入適當的 [在這裡編輯] 欄位之後,請使用已完成的原則定義 JSON 和 Azure 入口網站或支援的 SDK,在您的 Azure 環境內建立原則定義。

登出

從功能表列中,瀏覽至 [檢視]> [命令選擇區],然後輸入 [Azure:登出]

下一步