Share via


教學課程:雲端環境中禁止使用的資源類型

雲端治理的其中一個熱門目標是限制環境中允許的資源類型。 企業在資源類型限制背後有許多動機。 例如,資源類型可能成本高昂,或可能違反商務標準和策略。 Azure 原則提供了兩個內建原則來達成此目標,而不是針對個別資源類型使用許多原則:

名稱
(Azure 入口網站)
描述 影響 版本
(GitHub)
允許的資源類型 此原則可讓您指定組織所能部署的資源類型。 只有支援「標籤」和「位置」的資源類型受此原則影響。 若要限制所有資源,請複製此原則,並將 [模式] 變更為 [全部]。 拒絕 1.0.0
不允許的資源類型 限制可以在環境中部署哪些資源類型。 限制資源類型可減少環境的複雜度和受攻擊面,同時也有助於管理成本。 只有不符合規範的資源會顯示合規性結果。 Audit, Deny, Disabled 2.0.0

在本教學課程中,您會套用 [不允許的資源類型] 原則,並透過 Microsoft Azure 入口網站大規模管理資源類型。

必要條件

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

指派原則定義

停用資源類型的第一個步驟,是指派 [不允許的資源類型] 原則定義。

  1. 移至 Azure 入口網站中不允許的資源類型

    Screenshot of definition details screen for 'Not allowed resource types' policy.

  2. 選取頁面頂端的 [指派] 按鈕。

  3. 在 [基本] 索引標籤上,選取省略號並選擇管理群組、訂用帳戶或資源群組,以設定 [範圍]。 確定選取的範圍至少有一個子範圍。 然後,按一下 [範圍] 頁面底部的 [選取]

    本範例會使用 Contoso 訂用帳戶。

    注意

    如果您將此原則定義指派給根管理群組範圍,入口網站可以偵測不允許的資源類型,並在 [所有服務] 檢視中停用這些類型,讓入口網站使用者在嘗試部署不允許的資源之前先知道限制。

  4. 您可以根據範圍來排除資源。 排除項目從比範圍層級低一層開始。 排除項目是選用的,因此請暫時將其留空。

  5. [指派名稱] 會自動填入所選的原則定義名稱,但您可加以變更。 您也可以新增選擇性的 [描述],以提供有關此原則指派的詳細資訊。

  6. 將 [原則強制執行] 保留為 [啟用]。 當 [停用] 時,此設定會允許測試原則的結果,而不會觸發效果。 如需詳細資訊,請參閱強制模式

  7. [指派者] 會根據登入的人自動填寫。 此欄位是選用的,因此可以輸入自訂值。

  8. 選取精靈頂端的 [參數] 索引標籤。 本教學課程會略過 [進階] 索引標籤。

  9. 針對 [不允許的資源類型] 參數,使用下拉式清單來搜尋並選取雲端環境中不應允許的資源類型。

  10. 此原則定義沒有 modifydeployIfNotExists 效果,因此不支援補救工作。 在本教學課程中,略過 [補救] 索引標籤。

  11. 選取精靈頂端的 [不符合規範的訊息] 索引標籤。

  12. 將 [不符合規範的訊息] 設定為 [不允許此資源類型]。 當資源遭拒絕或在一般評估期間資源不符合規範時,就會顯示此自訂訊息。

  13. 選取精靈頂端的 [檢閱 + 建立] 索引標籤。

  14. 檢閱您的選取項目,然後選取頁面底部的 [建立]

在 Azure 入口網站中檢視已停用的資源類型

只有在根管理群組範圍內指派原則時,才適用此步驟。

現在您已指派內建原則定義,請移至所有服務。 Azure 入口網站知道此原則指派中不允許的資源類型,並在 [所有服務] 頁面中加以停用。 停用的資源類型無法使用 [建立] 選項。

注意

如果將此原則定義指派給根管理群組,則當使用者第一次登入或原則在登入之後變更時,會看到下列通知:

系統管理員已變更原則 您的系統管理員已變更帳戶的原則。 建議重新整理入口網站以使用更新的原則。

Screenshot of disallowed resources in All Services blade.

建立豁免

現在假設應允許一個子範圍,讓此原則停用資源類型。 讓我們在此範圍上建立一個豁免,可以在其中部署受限制的資源。

警告

如果將此原則定義指派給根管理群組範圍,Azure 入口網站無法偵測較低層級範圍的豁免。 原則指派不允許的資源會在 [所有服務] 清單中顯示已停用,並且 [建立] 選項無法使用。 但是,您可以使用 Azure CLI、Azure PowerShell 或 Azure Resource Manager 範本等用戶端,在豁免範圍中建立資源。

  1. 選取 Azure 原則分頁左側 [製作] 下的 [指派]

  2. 搜尋您所建立的原則指派。

  3. 選取頁面頂端的 [建立豁免] 按鈕。

  4. 在 [基本] 索引標籤中,選取 [豁免範圍],這是允許使用此原則指派限制資源的子範圍。

  5. 使用所需的文字填入 [豁免名稱],並將 [豁免類別] 保留為預設的 [拋棄]。 請勿切換 [豁免到期設定] 的開關,因為此豁免不會設為到期。 選擇性地新增 [豁免描述],然後選取 [檢閱 + 建立]

  6. 本教學課程會略過 [進階] 索引標籤。在 [檢閱 + 建立] 索引標籤中,選取 [建立]

  7. 若要檢視豁免,請選取 Azure 原則頁面左側 [製作] 下的 [豁免]

現在,子範圍可以具有原則不允許的資源類型。

清除資源

如果您已處理完成本教學課程中的資源,請使用下列步驟來刪除本教學課程中建立的任何原則指派或定義:

  1. 選取 Azure 原則頁面左側 [製作] 下的 [定義] (如果您嘗試刪除指派,則選取 [指派])。

  2. 搜尋您要移除的新計畫或原則定義 (或指派)。

  3. 以滑鼠右鍵按一下資料列,或選取定義 (或指派) 結尾的省略符號,然後選取 [刪除定義] (或 [刪除指派])。

檢閱

在本教學課程中,您已成功完成下列工作:

  • 指派 [不允許的資源類型] 內建原則,以拒絕建立不允許的資源類型
  • 在子範圍為此原則指派建立豁免

使用此內建原則,可以指定不允許的資源類型。 另一種更嚴格的方法是使用 [允許的資源類型] 內建原則指定允許的資源類型。

注意

如果 mode 設定為 All,且原則是在根管理群組中指派的,則 Azure 入口網站的 [所有服務] 只會停用允許的資源類型原則中未指定的資源。 這是因為它檢查所有資源類型,而不考慮 tagslocations。 如果希望入口網站有此行為,請複製允許的資源類型內建原則,並將其 modeIndexed 變更為 All,然後將其指派給根管理群組範圍。

下一步

若要深入了解原則定義、指派和豁免的結構,請參閱下列文章:

若要查看內建原則範例的完整清單,請檢視以下文章: