﻿# 在 Azure Portal 如何透過 Locks 功能鎖定資源防止意外刪除或變更

我在上週有場 Windows Containers 企業內訓，這是個全天的課程，授課全程透過 Azure 建立實作環境，教學進行得十分順利。就在下課前兩小時，突然發生一件意外，就是我正在上課的虛擬機器 (VM) 憑空消失。經確認後發現，我正在授課用的 VM 被同事無情的刪除，因為我 VM 亂取名稱 (看起來像是測試用)，而他又正在整理公司內用不到的所有 Azure 服務資源，所以很順手的砍了。請讓我寫個「慘」字啊~~~ :'(  這篇文章，我要來教大家如何避免悲劇再次發生。

首先，這個功能存在於 Azure 服務的所有資源，你進入 [Azure Portal](https://portal.azure.com) 之後，隨便選擇一個服務資源，並選取 Locks 功能選單進入。

預設都不會有任何資源鎖定，你如果想避免該資源被修改或更新，你就可以新增一個 "**鎖定**" 設定。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/3080517c7c801516b610-image_3044.png) 

請自行設定一個**鎖定名稱**與**附註**，這個名稱是讓管理者了解這份「鎖定」的原因為何，所以請盡量寫清楚。

這裡的「**鎖定類型**」則可以選擇 **唯讀** 或 **刪除** 選項，選擇唯讀可以讓資源不被更動，選擇刪除則可以避免該資源被意外刪除。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/f38772c4dbbdf882121a-image_3045.png)

之後有任何共同管理者進入 Locks 選單，就可以很明確地看出鎖定的原因。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/47c571159d4e74b6d1cc-image_3046.png)

接著我們來做一個恐怖的設定，就是刪除這份服務資源 （我真的拿我的部落格來測試 XD）

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/368fa741dfce5e55a559-image_3047.png)

此時你就會在 Azure Portal 右上角立即得到一個無法刪除的通知訊息

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/4b2a9c545032b1cee4af-image_3048.png)

如果你哪天真的要刪除這個資源，就必須進入 Locks 選單，明確刪除這些曾經建立的鎖定項目即可。

**相關連結**

-   [鎖定資源以防止非預期的變更](https://learn.microsoft.com/zh-tw/azure/azure-resource-manager/resource-group-lock-resources) ([Lock resources to prevent unexpected changes](https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-group-lock-resources))
