很多客户一直在想提高其Azure订阅的安全性。想保护一些资源免遭意外删除,比如,NSG的规则不会被意外的更改。为了实现这一点,我们一般会推荐他们使用Azure管理锁。Azure管理锁有两种不同的级别,分别为“Read-Only”和“Delete”。
CanNotDelete(Delete): 是指授权用户仍然具有对资源的读取和修改访问权限,但无法删除资源。(这取决于用户的角色)
Read-Only(Read-Only):指授权用户只能读取资源。他们将不能修改或删除资源。此锁类似于将所有授权用户限制为Reader角色。
我们可以在订阅级别、资源组级别或单个资源上应用锁。如果在订阅级别设置了锁,订阅中的所有资源(包括稍后添加的资源)都继承相同的锁。资源组级别也是如此。
说到这里可能就会有朋友要问什么角色可以创建或删除资源锁:要创建或删除管理锁,我们必须具有访问权限Microsoft.Authorization/*或Microsoft.Authorization/locks/*操作权限。在内置角色中,只有所有者和用户访问管理员被授予这些操作。
创建资源锁的方式有很多,可以在使用ARM模板创建资源时创建锁,也可以使用Azure 门户或PowerShell创建锁。下面我将向大家展示Portal方法和PowerShell方法。
使用Azure Portal创建资源锁:
导航到要添加锁定的资源,资源组或订阅。在“设置”刀片下点击“锁”:
点击“添加”:
键入“锁定名”称并选择锁定级别(删除或只读),输入说明。然后单击确定。
创建完成以后如下图所示:
如果要删除锁定,可以单击省略号“...”并单击选项中的“删除”:
使用PowerShell创建资源锁
要锁定资源组,可以使用以下cmdlet。只要确保您更改顶部的变量以匹配资源即可。我们还可以将Lock Level更改为Read-Only
$LockName = "DemoLock"
$RGName ="PBI-RG"
New-AzureRmResourceLock -LockName $LockName -LockLevel CanNotDelete -ResourceGroupName $RGName
可以使用以下cmdlet删除资源组上的锁。
聊了这么多相信大家已经知道了什么是资源锁,以及如何使用PowerShell和门户创建和删除它们。通过使用锁,我们可以设置额外的防护,以防止意外或恶意更改/删除Azure资源。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。