锁的介绍
在Azure中,资源锁是一种用于保护订阅、资源组或者单个资源的机制。它可以防止对受锁定的资源进行删除或修改操作,帮助确保资源的连续可用性和安全性。
Azure中的资源锁可以分为两种类型:
- 删除锁(CanNotDelete):当资源被设置为删除锁时,任何删除该资源的操作都会被阻止。这可以防止意外删除或意外修改关键资源。
- 只读锁(ReadOnly):当资源被设置为只读锁时,任何修改该资源的操作都会被阻止,但可以执行删除操作。这可以防止对重要的资源进行误操作。
资源锁可以应用于订阅、资源组或者单个资源,可以通过Azure门户、PowerShell、Azure CLI或者REST API进行配置和管理。它们可以在创建资源时直接应用,也可以在资源已创建后随时进行添加或修改。
需要注意的是,资源锁是一种在Azure资源管理器中生效的机制,对于经典的Azure服务管理(ASM)模型不起作用。
参考文档:https://learn.microsoft.com/zh-cn/azure/azure-resource-manager/management/lock-resources?tabs=json
实战演练
- 创建一个虚拟机,参考 https://blog.csdn.net/m0_48468018/article/details/132267096
- 打开虚拟机,可以看到锁
- 可以添加虚拟机删除锁,防止虚拟机被删除
- 到资源组中添加一个只读锁
- 这时候添加一个对外接口,显示出如下错误,因为在资源组中加了只读锁
- 删除资源组中的只读锁,这时候只剩下虚拟机的删除锁,尝试删除该虚拟机,报出如下错误。