Microsoft AZ-104: Azure 訂用帳戶、治理與成本管理 — 學習指南
屬於 Microsoft Azure Administrator Associate AZ-104 — 學習指南. 使用經過驗證的解答練習: Microsoft 考試中心, 或參加限時模擬考試: ExamRoll.io.
總覽
Azure 訂用帳戶、治理與成本管理定義了您如何大規模地建構、保護、標準化雲端資源並為其付費。一個健全的設計始於組織階層 (管理群組與訂用帳戶),套用最低權限存取 (RBAC),強制執行標準與合規性 (Policy、Blueprints、鎖定與標籤),並持續最佳化支出 (Cost Management 與 Advisor)。Azure Resource Manager (ARM) 支撐著部署、分組與生命週期操作,讓標準與控制措施能從根管理群組一致地套用到個別資源。
組織結構與存取控制
管理群組 (Management Groups) 是在單一根管理群組下組織一或多個訂用帳戶的頂層結構。您可以將管理群組巢狀化至多六層深 (不含根層級),以對應組織或環境的邊界 (例如:公司 > 生產/非生產 > 業務單位)。在管理群組層級套用的 RBAC 角色指派與 Azure Policy 指派,都會繼承至所有子管理群組、訂用帳戶、資源群組與資源,除非在較低的範圍中明確覆寫。這種繼承機制對於一致地強制執行標準至關重要;例如,在「生產」管理群組設定的「拒絕公用儲存體」原則,會套用到每一個生產環境的訂用帳戶,無需逐一設定。
訂用帳戶 (Subscriptions) 是計費與部署的隔離邊界。常見的類型包括 Pay-As-You-Go (隨用隨付)、Enterprise Agreement (EA)、Microsoft Customer Agreement (MCA)、CSP,以及像 Visual Studio 訂用帳戶這類基於點數的方案。訂用帳戶區分了支出、配額與 RBAC 範圍,並且是收費與預算的原子單位。在生命週期轉換期間 (例如,從開發移至生產租用戶、組織重組),經常需要跨訂用帳戶移動資源。資源移動的支援度依提供者與資源而異;基於 ARM 的資源,如 VM、受控磁碟、儲存體帳戶、虛擬網路,甚至 Recovery Services 保存庫,通常可以在有條件限制的情況下移動。先決條件包括來源與目標必須在同一個 Azure Active Directory 租用戶中 (跨租用戶的移動受到限制)、兩個訂用帳戶中都已註冊資源提供者、相容的區域/SKU,以及沒有任何封鎖性的鎖定/原則。在移動過程中,預期某些資源會短暫無法使用;請為具狀態的服務規劃維護時段。傳統 (ASM) 資源無法移動。請務必透過入口網站中的「移動」操作或查閱資源提供者的文件來確認支援性。
Azure RBAC 透過在特定範圍內進行角色指派,提供細微的最低權限存取。範圍可以是管理群組、訂用帳戶、資源群組或個別資源;指派會向下繼承。核心的內建角色有:
- 擁有者 (Owner):對所有資源擁有完整存取權,包含角色指派。
- 參與者 (Contributor):對資源擁有完整的建立/更新/刪除權限,但無權指派角色。
- 讀者 (Reader):唯讀存取權。 自訂角色 (Custom roles) 讓您可以指定允許的 Actions 與 DataActions,並排除 NotActions 與 NotDataActions,且其定義範圍必須在預計指派的範圍或其上層。拒絕指派 (Deny assignments) (由 Blueprints 或鎖定等特定服務建立) 的優先順序高於允許指派,可防止意外的權限提升。
治理、合規與資源防護機制
Azure Policy 會在資源建立/更新時以及定期的合規性掃描中,評估資源狀態。一個原則定義 (policy definition) 會表示一條規則(可帶有選擇性參數)和一個效果 (effect)。您可以將相關的定義分組到計畫 (initiatives) 中,以簡化大規模的指派。指派 (Assignments) 會將一個定義或計畫附加到一個範圍 (scope)(管理群組、訂用帳戶、資源群組或資源),並帶有參數值,對於某些效果,還需要一個用於修復的受控識別 (managed identity)。需要掌握的關鍵效果:
- Deny:在請求時封鎖不合規的建立/更新操作。
- Audit:允許操作,但會記錄不合規情況以供報告。
- DeployIfNotExists:如果相關資源或設定遺失,會觸發範本部署,讓目標資源進入合規狀態(例如,部署診斷設定或原則指派)。 其他重要的效果包括 Append(在寫入時新增標籤等欄位)和 Modify(修補屬性)。原則可以強制執行允許的位置、SKU 限制、必要的標籤、診斷設定和加密標準。例如,限制 Azure SQL Server 的位置可確保部署只發生在經核准的區域或資源群組中。
Azure Blueprints 將治理即程式碼 (governance-as-code) 封裝起來,它將成品 (artifacts)——原則指派、角色指派、ARM 範本和資源群組宣告——組合到一個有版本的藍圖 (blueprint) 中。將藍圖指派給訂用帳戶或管理群組,以一致地部署環境。藍圖指派可以套用成品層級的鎖定,其模式如 DoNotDelete 或 ReadOnly,以保護已部署的資源免於組態漂移 (drift)。使用 Blueprints 來啟動 (bootstrap) 新的訂用帳戶,並套用強制性的控制項和基準基礎設施。
資源鎖 (Resource locks) 提供了一道防止意外修改的最後防線。套用 CanNotDelete 來防止刪除但允許更新;套用 ReadOnly 來封鎖寫入和刪除操作。鎖定會從較高的範圍繼承,因此在資源群組上的 ReadOnly 鎖定會影響其包含的所有資源(例如,停止/啟動 VM 會失敗,因為這些操作會執行寫入動作)。鎖定會覆寫 RBAC 權限:即使是擁有者 (Owner),若未先移除鎖定,也無法刪除被鎖定的資源。
標籤 (Tags) 是資源群組和資源上的鍵值對,用來分類工作負載(部門、環境、成本中心)。標籤繼承不是自動的;為了確保每個資源都有標籤,請使用 Azure Policy (Append/Modify) 在建立/更新時強制執行或從資源群組繼承標籤。標籤驅動了 Cost Management 中基於標籤的成本報告,以便準確地向各部門進行費用分攤 (charge back)。若要將虛擬機器等個別資源與部門建立關聯,請直接在每個 VM 上套用標籤。
成本管理與最佳化
Azure Cost Management + Billing 提供您預算、成本分析、匯出和警示功能。預算 (Budgets) 是在一個範圍(訂用帳戶或資源群組)內定義的,並且可以按資源群組、服務或標籤進行篩選。設定閾值(例如 50%、80%、100%)以透過動作群組 (action groups) 發送警示,並可選擇性地觸發自動化(Logic App、Function)來縮減或關閉非關鍵的工作負載;預算本身並不會強制執行支出限制。成本分析 (Cost analysis) 讓您可以按時間、資源、計量、資源群組、訂用帳戶和標籤來進行樞紐分析,以了解成本驅動因素和趨勢;排程匯出到儲存體,以供 BI 工具擷取。支出限制 (Spending limits) 適用於基於點數的供應項目(例如,免費試用、Visual Studio),當達到限制時,會將訂用帳戶置於停用狀態以防止產生更多費用。支出限制不支援隨用隨付 (Pay-As-You-Go) 或大多數的 EA/MCA 供應項目;請改用預算和自動化。
Azure Advisor 會持續評估您的資源,並產生可行的建議,涵蓋成本、安全性、可靠性、效能和卓越營運等面向。成本建議包括對未充分利用的 VM 進行適當調整大小/關機、購買保留 (reservations) 或節省方案 (savings plans),以及刪除閒置的公用 IP 或磁碟。可靠性建議包括可用性設定組/區域 (availability sets/zones) 和備份組態;效能建議涵蓋運算/儲存體最佳化;安全性建議與 Defender for Cloud 整合;卓越營運建議則著重於最佳實務組態。使用 Advisor Score 來追蹤進度,並在適當情況下將建議整合到待辦事項 (backlog) 或自動化修復流程中。
使用 Azure Resource Manager 進行部署與生命週期管理
ARM 是 Azure 的控制平面,可實現宣告式、冪等的部署與一致性的管理。資源群組 (Resource group) 是生命週期與 RBAC 邊界的邏輯容器;應將共享生命週期、權限和位置相依性的資源群組在一起。在資源群組範圍內的 RBAC 和原則指派會控管所有包含的資源,而群組層級的鎖定和標籤會被繼承,除非被原則或資源層級的操作覆寫。
ARM 範本 (以及作為更高階語言的 Bicep) 定義了資源、參數、變數、輸出和相依性。它們能夠實現可重複的部署,並確保治理成品 (例如原則、角色指派) 和工作負載能一起被套用。使用範本規格 (template specs) 來對範本進行版本控制並在組織內共享。部署模式很重要:
- 增量 (Incremental):建立/更新範本中的資源;不會移除範本中未定義的現有資源。
- 完整 (Complete):部署後,會刪除目標範圍內未在範本中定義的資源——請謹慎使用,以在資源群組內強制執行嚴格的所需狀態。 部署歷史記錄的範圍可以是資源群組、訂用帳戶或管理群組。當單一範本部署多個資源時,您可以從目標範圍 (通常是資源群組) 的部署刀鋒視窗 (Deployment blade) 中檢視部署及其範本,以稽核變更和進行疑難排解。
實務問題情境
星巴克收購了一家區域連鎖店,需要啟用三個新的訂用帳戶,同時強制執行全域安全原則、實現部門級的成本分攤 (chargeback),並將數個共享服務遷移到一個整合的 “Corp-IT” 訂用帳戶中,且不能中斷服務。
- 建立管理群組階層
- 行動:建立一個根目錄對齊的階層 Starbucks > Prod/NonProd > BusinessUnits (Retail, SupplyChain, CorpIT)。
- 原因:管理群組提供階層式的 RBAC 和原則繼承,因此全域控制項 (例如安全基準) 會自動流向每個新的訂用帳戶。
- 使用 RBAC 建立存取基準
- 行動:在 BusinessUnits 層級,將 Reader 角色指派給稽核團隊,將 Owner 角色指派給 CorpIT 中的中央平台團隊,並將 Contributor 角色指派給各個範圍內被委派的業務單位 (BU) 管理員。建立一個允許
undefined
權限的自訂 “Tag-Editor” 角色。
- 原因:在正確的範圍內實施最低權限原則,可以防止權限過大,同時仍能讓業務單位保有自主權;自訂角色可以避免為了維護標籤而授予完整的寫入權限。
- 使用 Policy 和 Blueprints 強制執行治理
- 行動:撰寫一個計畫 (initiative),其中包含允許的位置、必要的標籤 (CostCenter, Department, Environment)、關鍵服務的診斷設定,以及儲存體上的「拒絕公用存取」等原則。將其與成品 (artifacts) 一起打包成一個 Azure Blueprint:包含計畫指派、RBAC 角色指派、用於共享 Log Analytics 工作區和 DDoS 計畫的 ARM 範本,以及一個標準的資源群組佈局。將此藍圖指派給每個新的訂用帳戶,並對基準資源設定 DoNotDelete 鎖定。
- 原因:Blueprints 提供了一個版本化、可重複的登陸區 (landing zone),並透過鎖定來防止意外刪除;Policy 確保每個資源在建立時都合規,並透過 DeployIfNotExists 來修復設定漂移 (drift)。
- 套用標籤並確保繼承
- 行動:使用 Modify 原則來繼承資源群組的標籤,並使用 Append 原則在資源建立/更新時添加遺失的標籤。要求 CostCenter 的值必須對應到星巴克的財務系統。
- 原因:原生的繼承不是自動的;Policy 確保所有資源都帶有用於基於標籤的成本報告所需的中繼資料 (metadata)。
- 設定成本管理與警示
- 行動:在每個訂用帳戶和關鍵資源群組的範圍內建立預算,並在適當情況下按標籤篩選。設定在達到 50/80/100% 時發出警示給一個動作群組 (action group),該群組會觸發一個 Logic App 來通知業務單位主管,並可選擇性地縮減開發/測試資源。設定按標籤分類的成本分析儀表板,並每日匯出到儲存體。
- 原因:預算和警示提供早期預警,並觸發近乎即時的修正措施;以標籤為樞紐的分析 (tag pivots) 能實現準確的成本分攤。
- 在訂用帳戶之間安全地遷移共享服務
- 行動:驗證目標資源 (VM、受控磁碟、VNet、儲存體、Recovery Services 保存庫) 是否支援移動。移除阻擋性的鎖定,確保來源和目標都已註冊資源提供者 (resource providers),確認區域/SKU 的相容性,並安排維護時段。從資源群組範圍使用移動 (Move) 操作將資源移至 Corp-IT 訂用帳戶;移動後重新驗證診斷和原則設定。
- 原因:在資源群組邊界進行移動可以保留相依性並將停機時間降到最低;預先檢查可以避免因原則或提供者不匹配而導致的移動失敗。
- 使用鎖定保護關鍵資源
- 行動:對基礎的網路和監控資源套用 CanNotDelete 鎖定;對一個黃金映像 (golden image) 資源群組套用 ReadOnly 鎖定。
- 原因:鎖定會覆寫 RBAC 的權限,以防止意外刪除或修改基準資產,同時允許在其他地方進行正常操作。
- 使用 Advisor 持續優化
- 行動:每週檢閱 Advisor 的建議;接受成本建議以對未充分利用的 VM 進行規模適當化 (rightsize),並為穩定的工作負載購買保留 (reservations);使用 Advisor 分數追蹤進度。
- 原因:Advisor 將成本、安全性、可靠性、效能和卓越營運方面的持續優化付諸實踐,使治理在初始部署後仍能持續維持。
← Azure Active Directory 和身分識別管理 · 所有領域 · Azure 虛擬機器與計算 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →