为什么 Azure 在一个虚拟机上提供多个删除锁?

Why Azure provides multiple delete locks on a virtual machine?

众所周知,我们可以应用锁来防止意外删除 Azure 中的 VM。要删除它 - 我们必须先 un-assign/delete 锁定。 但是为什么 azure 对同一个资源提供多个删除锁呢?即使是一个锁也可以像多个锁一样工作。

下面是一个示例图片 -

您可以将锁定级别设置为CanNotDeleteReadOnly。关于为什么 Azure 在同一资源上提供多个删除锁的问题。我认为主要原因是您可以直接在资源 UI 中的订阅、资源组或资源级别上设置锁,而不是返回到每个资源中设置锁 UI.

例如,您可以通过在虚拟机锁 UI 上选择 resource group 来设置资源组级别 Delete 锁,该资源组中的所有资源都继承相同的锁。

When you apply a lock at a parent scope, all resources within that scope inherit the same lock. Even resources you add later inherit the lock from the parent. The most restrictive lock in the inheritance takes precedence.

参考:https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources

可能某些资源需要来自不同管理员组的 'Delete' 接受,因此需要多个锁?

如果是关键资源,第一个锁可以是一般的、继承的锁,第二个锁可以来自更高的管理员组。

我试过这个来寻求答案。

实体 A 放置删除锁是有原因的。 实体 B 出于其他原因放置(第二个)删除锁。

一段时间后,当实体 A 对 he/she 不再需要锁感到高兴时,he/she 将移除它。但是,实体B仍然有理由保持资源锁定不被删除。

今天试过了。感谢您提出这种情况。 希望回答对你有帮助。