Как удалить блокировку ресурсов в Azure с помощью командной строки?

#azure #azure-cli #rights

Вопрос:

Я создал блокировку типа CanNotDelete для учетной записи хранения в Azure. Блокировка работает; Я не могу удалить учетную запись хранения, пока существует блокировка. Я могу получить имя и идентификатор замка, выполнив это:

 az lock list --resource-group "my-resource-group-name
 

Теперь я пытаюсь удалить блокировку из командной строки следующим образом:

 az lock delete --resource-group "my-resource-group-name --name "name-of-my-lock"
 

Это не выдает никаких результатов (ни сообщения об ошибке, ни подтверждения) и ничего не делает. Замок все еще там.

Если я добавлю флаги --debug и --verbose в команду удаления, я увижу, что запрос на удаление возвращает HTTP 204. Однако по-прежнему ничего не делает.

Моя учетная запись пользователя имеет права владельца. Я могу удалить блокировку с помощью графического интерфейса браузера Azure (вошел в систему как тот же пользователь). Это прекрасно работает. Но командная строка не работает.

Ответ №1:

Вы можете попытаться удалить блокировку, указав идентификатор блокировки. Например, когда я делаю

az lock list --resource-group "my-resource-group-name"

Я получаю следующий результат:

 [
  {
    "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/providers/Microsoft.Authorization/locks/<lock-name>",
    "level": "CanNotDelete",
    "name": "<lock-name>",
    "notes": "",
    "owners": null,
    "resourceGroup": "<resource-group-name>",
    "type": "Microsoft.Authorization/locks"
  }
]
 

Затем я могу удалить эту блокировку, используя следующую команду:

 az lock delete --ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/providers/Microsoft.Authorization/locks/<lock-name>"