#azure #azure-powershell #azure-keyvault #azure-cli
#azure #azure-powershell #azure-keyvault #azure-cli
Вопрос:
Я использую свою личную учетную запись Azure и подписку Visual Studio Azure, где я являюсь глобальным администратором. При попытке очистить хранилище ключей Azure, удаленное программным путем, я получаю следующую ошибку.
Использование Azure Power Shell:
Удалить-AzKeyVault: операция ‘DeletedVaultPurge’ не разрешена.
Использование Azure CLI:
Ошибка проверки: (метод не разрешен) Операция ‘DeletedVaultPurge’ не разрешена.
Похоже, есть разрешение, которого у меня нет, хотя я глобальный администратор. Итак, что мне нужно сделать, чтобы очистить хранилища ключей, удаленные программно?
Вот шаги в Azure Power Shell (4.7.0), которые я могу использовать для воспроизведения ошибки:
Сначала я создаю хранилище ключей:
New-AzKeyVault -Name $keyVaultName -ResourceGroupName $resourceGroupName -Location $location -EnablePurgeProtection
Затем я удаляю его.
Remove-AzKeyVault -Name $keyVaultName -ResourceGroupName $resourceGroupName
Затем попробуйте очистить хранилище ключей с программным удалением:
Remove-AzKeyVault -Name $keyVaultName -Location $location -InRemovedState -Force
Удалить-AzKeyVault: операция ‘DeletedVaultPurge’ не разрешена.
Ответ №1:
Причина в том, что у вас есть enabled the Purge protection
при создании keyvault.
После Purge protection is enabled
того, как она удалена, ее удаление запрещено. Пожалуйста, обратитесь к документу для получения более подробной информации. Я просто вставил часть документа, как показано ниже:
Когда включена защита от очистки, хранилище или объект в удаленном состоянии не могут быть удалены, пока не истечет срок хранения.
И, пожалуйста, также обратите внимание, что, если защита от очистки включена, вы не можете отключить ее. Поэтому во время создания хранилища ключей убедитесь Purge protection is disabled
, что, затем повторите попытку команды.
Комментарии:
1. Спасибо @ivanyang! Меня смутил параметр -EnablePurgeProtection. По какой-то причине я ошибочно подумал, что он включил soft-delete.
2. не могли бы вы объяснить, как выглядит операция POST для постоянной очистки? эта ссылка на документ подразумевает, что при включенной защите от очистки владелец подписки все равно может выполнить полную очистку и не допустить, чтобы это задерживалось. Разрешенная очистка
3. @ShawnCicoria, в разделе Разрешенная очистка -> Исключения документа говорится, что «Когда флаг —enable-purge-protection включен в самом хранилище. В этом случае хранилище ключей будет ждать 90 дней с момента, когда исходный секретный объект был помечен для удаления, чтобы окончательно удалить объект.».