不少客戶一直在想提升其Azure訂閱的安全性。想保護一些資源免遭意外刪除,好比,NSG的規則不會被意外的更改。爲了實現這一點,咱們通常會推薦他們使用Azure管理鎖。Azure管理鎖有兩種不一樣的級別,分別爲「Read-Only」和「Delete」。安全
CanNotDelete(Delete): 是指受權用戶仍然具備對資源的讀取和修改訪問權限,但沒法刪除資源。(這取決於用戶的角色)ide
Read-Only(Read-Only):指受權用戶只能讀取資源。他們將不能修改或刪除資源。此鎖相似於將全部受權用戶限制爲Reader角色。3d
咱們能夠在訂閱級別、資源組級別或單個資源上應用鎖。若是在訂閱級別設置了鎖,訂閱中的全部資源(包括稍後添加的資源)都繼承相同的鎖。資源組級別也是如此。blog
說到這裏可能就會有朋友要問什麼角色能夠建立或刪除資源鎖:要建立或刪除管理鎖,咱們必須具備訪問權限Microsoft.Authorization/*或Microsoft.Authorization/locks/*操做權限。在內置角色中,只有全部者和用戶訪問管理員被授予這些操做。繼承
建立資源鎖的方式有不少,能夠在使用ARM模板建立資源時建立鎖,也可使用Azure 門戶或PowerShell建立鎖。下面我將向你們展現Portal方法和PowerShell方法。ip
使用Azure Portal建立資源鎖:資源
導航到要添加鎖定的資源,資源組或訂閱。在「設置」刀片下點擊「鎖」:get
點擊「添加」:cmd
鍵入「鎖定名」稱並選擇鎖定級別(刪除或只讀),輸入說明。而後單擊肯定。it
建立完成之後以下圖所示:
若是要刪除鎖定,能夠單擊省略號「...」並單擊選項中的「刪除」:
使用PowerShell建立資源鎖
要鎖定資源組,可使用如下cmdlet。只要確保您更改頂部的變量以匹配資源便可。咱們還能夠將Lock Level更改成Read-Only
$LockName = "DemoLock"
$RGName ="PBI-RG"
New-AzureRmResourceLock -LockName $LockName -LockLevel CanNotDelete -ResourceGroupName $RGName
可使用如下cmdlet刪除資源組上的鎖。
聊了這麼多相信你們已經知道了什麼是資源鎖,以及如何使用PowerShell和門戶建立和刪除它們。經過使用鎖,咱們能夠設置額外的防禦,以防止意外或惡意更改/刪除Azure資源。