使用原則來實施標準

已完成

您以更好的方式在資源群組中組織資源,而且已將標籤套用到資源,以將它們用於計費報告與監視解決方案中。 對資源分組和標記已讓現有的資源發生變化,但您要如何確定新的資源遵循相同的規則? 讓我們看看原則如何協助您在 Azure 環境中實施標準。

什麼是 Azure 原則?

Azure 原則是可用來建立、指派和管理原則的服務。 這些原則會套用並強制執行您資源必須遵循的規則。 這些原則可以在建立資源時強制實施這些規則,且您可根據這些規則評估現有資源以掌握其合規性狀況。

原則可以實施許多規則,例如,僅允許建立特定類型的資源,或僅允許特定 Azure 區域中的資源。 您可以在 Azure 環境上實施命名慣例。 您也可強制資源套用特定標籤。 讓我們看看原則如何運作。

建立原則

您想要確定所有資源都具有與其相關聯的部門標籤,如果此標籤不存在,就會封鎖建立。 您必須建立新的原則定義,然後指派範圍;此案例中的範圍是 msftlearn-core-infrastructure-rg 資源群組。 您可以透過 Azure 入口網站、Azure PowerShell 或 Azure CLI 來建立及指派原則。 本練習會引導您在入口網站中建立原則。

建立原則定義

  1. 如果尚未這麼做,請在網頁瀏覽器中巡覽至 Azure 入口網站。 在上方導覽列的搜尋方塊中,搜尋原則,然後選取 [原則] 服務。

  2. 在左側功能表的 [製作] 區段中,選取 [定義] 窗格。

  3. 您應該會看見可使用的內建原則清單。 在此案例中,您將建立自己的自訂原則。 選取上方功能表的 [+ 原則定義]

  4. 此按鈕會顯示 [新增原則定義] 對話方塊。 若要設定 [定義位置],請選取藍色 [啟動範圍選取器]。選取要儲存該原則的訂用帳戶,這應該是與您的資源群組相同的訂用帳戶。 選取 [選取] 按鈕。

  5. 回到 [新增原則定義] 對話方塊,在 [名稱] 欄位中,輸入「強制標記資源」

  6. 針對 [描述],輸入「此原則會強制標記資源」

  7. 針對 [類別],選取 [使用現有的],然後選取 [一般] 類別。

  8. 針對 [原則規則],刪除方塊中的所有文字,然後貼上下列 JSON:

    {
      "mode": "Indexed",
      "policyRule": {
        "if": {
          "field": "[concat('tags[', parameters('tagName'), ']')]",
          "exists": "false"
        },
        "then": {
          "effect": "deny"
        }
      },
      "parameters": {
        "tagName": {
          "type": "String",
          "metadata": {
            "displayName": "Tag Name",
            "description": "Name of the tag, such as 'environment'"
          }
        }
      }
    }
    

    您的原則定義現在應該如下列範例所示。 選取 [儲存] 以儲存原則定義。

    Azure 入口網站的螢幕擷取畫面,其中顯示 [新增原則定義] 對話方塊。

建立原則指派

您已建立原則,但尚未使其實際生效。 若要啟用原則,則必須建立指派。 在此案例中,您會為其指派 msftlearn-core-infrastructure-rg 資源群組的範圍,以將其套用到此資源群組內的所有項目。

  1. 返回 [原則] 窗格,然後在左側的 [製作] 區段中,選取 [指派]

  2. 選取上方的 [指派原則]

  3. 在 [指派原則] 窗格中,將原則指派給資源群組。 針對 [範圍],選取藍色的 [啟動範圍選取器 (...)]。選取您的訂用帳戶及 msftlearn-core-infrastructure-rg 資源群組,然後選取 [選取]

  4. 針對 [原則定義],選取藍色的 [啟動原則定義選擇器 (...)]。在 [類型] 下拉式清單中,選取 [自訂],選取您所建立的 [強制標記資源] 原則,然後選取 [選取] 按鈕。

  5. 選取畫面頂端的 [參數] 索引標籤。

  6. 在 [參數] 窗格上,針對 [標籤名稱] 輸入「部門」

  7. 選取 [檢閱 + 建立],然後選取 [建立] 以建立指派。

測試原則

現在您已將原則指派給資源群組,嘗試建立資源時,只要未使用部門標籤都將失敗。

重要

請注意,原則指派可能需要最多 30 分鐘的時間才會生效。 由於此延遲的關係,在下列步驟中,原則驗證可能會成功,但部署仍將失敗。 如果發生此情況,請稍候片刻並重試部署。

  1. 從 Azure 入口網站功能表或 [首頁] 頁面,選取 [建立資源]。

  2. 搜尋並選取 [儲存體帳戶]。 在結果中,選取 [建立]

  3. 選取您的訂用帳戶,然後選取 msftlearn-core-infrastructure-rg 資源群組。

  4. 針對 [儲存體帳戶名稱],您可以使用任何名稱,但它必須是全域唯一的名稱。

  5. 將其餘選項保留為其預設值,然後選取 [檢閱 + 建立]

    由於資源未套用部門標籤,因此您的資源建立驗證將會失敗。 如果原則未導致驗證失敗,則您可能需要多等待幾分鐘,才能啟用原則。

    Azure 入口網站的螢幕擷取畫面,其中顯示對不含標籤的新儲存體帳戶所做的原則驗證失敗。

    請修正此違規,以便成功部署儲存體帳戶。

  6. 選取 [建立儲存體帳戶] 窗格上方的 [標籤]

  7. 在清單中新增 Department:Finance 標籤。

    Azure 入口網站的螢幕擷取畫面,其中顯示在建立過程中新增的新部門標籤。

  8. 現在,按一下 [檢閱 + 建立]。 驗證現在將會通過,而且如果您選取 [建立],系統將會建立您的儲存體帳戶。

使用原則來實施標準

您已了解如何使用原則來確保資源具有可組織資源的標籤。 原則還有其他使用方式可為我們提供效益。

您可以使用原則來限制可部署資源的 Azure 區域。 對管制嚴格或對資料放置位置有法律或法規限制的組織而言,原則可協助確保不會將資源佈建到違反這些要求的地理區域。

您可以使用原則來限制可部署的虛擬機器大小類型。 您可能希望在生產訂用帳戶中允許大型 VM 大小,但也許您想確保能將開發訂用帳戶的成本降到最低。 透過在開發訂用帳戶中使用原則來拒絕大型的 VM 大小,您便可以確保它們不會被部署到這些環境中。

您也可以使用原則來實施命名慣例。 如果組織已將特定的命名慣例標準化,則使用原則來實施慣例,將有助於我們在為 Azure 資源命名時,維持一致的標準。