В этой статье рассматриваются две функции восстановления Azure Key Vault: обратимое удаление и защита от очистки. В этом документе представлен обзор этих функций и показано, как управлять ими с помощью портала Azure, Azure CLI и Azure PowerShell.
Внимание
Если в хранилище ключей не включена защита обратимого удаления, удаление ключа удаляется окончательно. Клиентам настоятельно рекомендуется включить принудительное применение обратимого удаления для своих хранилищ через Политика Azure.
Для получения дополнительных сведений о Key Vault см.
Необходимые компоненты
Подписка Azure — создайте бесплатную учетную запись.
Azure PowerShell.
Azure CLI
Хранилище Key Vault можно создать с помощью портала Azure, Azure CLI или Azure PowerShell.
Пользователю требуются следующие разрешения (на уровне подписки) для выполнения операций с обратимо удаленными хранилищами:
Разрешение |
Description |
Microsoft.KeyVault/locations/deletedVaults/read |
Отображает свойства обратимо удаленного Key Vault. |
Microsoft.KeyVault/locations/deletedVaults/purge/action |
Очищает обратимо удаленное хранилище Key Vault. |
Microsoft.KeyVault/locations/operationResults/read |
Проверка состояния очистки хранилища |
Участник Key Vault |
Восстановление обратимо удаленного хранилища |
Понимание обратимого удаления и защиты от очистки
Обратимое удаление и защита от очистки – это две разные функции восстановления хранилища ключей.
Обратимое удаление предназначено для предотвращения случайного удаления хранилища ключей, а также ключей, секретов и сертификатов, хранящихся в хранилище ключей. Обратимое удаление по принципу работы подобно корзине. При удалении хранилища ключей или объекта хранилища ключей он остается доступным для настраиваемого пользователем периода хранения или по умолчанию 90 дней. Хранилища ключей в обратимом удаленном состоянии также можно очистить (безвозвратно удалить), что позволяет воссоздать хранилища ключей и объекты хранилища ключей с тем же именем. Как для восстановления, так и для удаления хранилищ ключей и объектов требуются разрешения политики расширенного доступа. После включения обратимого удаления его отключение невозможно.
Важно отметить, что имена хранилищ ключей глобально уникальны, поэтому вы не можете создать хранилище ключей с таким же именем, как хранилище ключей в обратимом удаленном состоянии. Точно так же имена ключей, секретов и сертификатов уникальны в пределах хранилища ключей. Вы не можете создать секрет, ключ или сертификат с тем же именем, что и другой в обратимом удаленном состоянии.
Защита от очистки предназначена для предотвращения удаления хранилища ключей, ключей, секретов и сертификатов внутренним злоумышленником. Подумайте об этом как корзине с блокировкой на основе времени. Можно восстановить элементы в любой момент в течение настраиваемого периода хранения. Не удастся окончательно удалить или очистить хранилище ключей до истечения периода хранения. После истечения периода хранения объект хранилища ключей или хранилища ключей очищается автоматически.
Примечание.
Защита от очистки разработана таким образом, что никакая роль или разрешение администратора не может переопределять, отключать или обходить защиту от очистки. Если защита от очистки включена, она не может быть отключена или переопределена любым пользователем, включая Корпорацию Майкрософт. Это означает, что требуется восстановить удаленное хранилище ключей или дождаться истечения срока хранения, прежде чем повторно использовать имя хранилища ключей.
Дополнительные сведения по обратимому удалению см. в статье Общие сведения об обратимом удалении Azure Key Vault.
Проверка включения обратимого удаления для хранилище ключей и включение обратимого удаления
- Войдите на портал Azure.
- Выберите нужное хранилище ключей.
- Выберите колонку "Свойства".
- Убедитесь, что переключатель рядом с параметром обратимого удалением установлен в положение "Включить восстановление".
- Если обратимое удаление не включено в хранилище ключей, нажмите переключатель, чтобы включить обратимое удаление и нажмите кнопку "Сохранить".
Предоставление доступа субъекту- службе для очистки и восстановления удаленных секретов
- Войдите на портал Azure.
- Выберите нужное хранилище ключей.
- Выберите колонку "Политика доступа".
- В таблице найдите строку субъекта безопасности, которому требуется предоставить доступ (или добавьте нового субъекта безопасности).
- Выберите раскрывающийся список ключей, сертификатов и секретов.
- Прокрутите вниз раскрывающегося списка и выберите "Восстановить" и "Очистить"
- Для выполнения большинства операций также требуются функции get и list.
Создание списков, восстановление или очистка хранилища ключей с обратимым удалением
- Войдите на портал Azure.
- Выберите панель поиска в верхней части страницы.
- Найдите сервис "Хранилище ключей". Не выбирайте отдельные хранилища ключей.
- В верхней части экрана выберите параметр "Управление удаленными хранилищами"
- Откроется область контекста в правой части экрана.
- Выберите свою подписку.
- Если хранилище ключей было обратимо удалено, оно отображается в области контекста справа.
- Если есть слишком много хранилищ, можно выбрать "Загрузить больше" в нижней части области контекста или использовать CLI или PowerShell, чтобы получить результаты.
- Установите флажок для хранилища, которое требуется восстановить или очистить.
- Выберите параметр Восстановить в нижней части контекстной панели, если требуется восстановить хранилище ключей.
- Выберите параметр очистки, если необходимо окончательно удалить хранилище ключей.
Создание списков, восстановление или очистка обратимо удаленных секретов, ключей и сертификатов
- Войдите на портал Azure.
- Выберите нужное хранилище ключей.
- Выберите колонку, соответствующую типу секрета, которым требуется управлять (ключи, секреты или сертификаты).
- В верхней части экрана выберите "Управление удаленными (ключи, секреты или сертификаты)
- Область контекста отображается справа от экрана.
- Если секрет, ключ или сертификат не отображаются в списке, значит, он для него не использовалось обратимое удаление.
- Выберите секрет, ключ или сертификат, которым требуется управлять.
- Выберите параметр восстановления или очистки внизу контекстной панели.
Key Vault (CLI)
Проверка включения обратимого удаления для хранилища ключей
az keyvault show --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
Включение обратимого удаления для хранилища ключей
Для всех новых хранилищ ключей по умолчанию включено обратимое удаление. Если на данный момент есть хранилище ключей, для которого не включено обратимое удаление, используйте следующую команду, чтобы включить его.
az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-soft-delete true
Удаление хранилища ключей (восстанавливаемого, если обратимое удаление включено)
az keyvault delete --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME}
Создание списка всех обратимо удаленных хранилищ ключей
az keyvault list-deleted --subscription {SUBSCRIPTION ID} --resource-type vault
Восстановление обратимо удаленного хранилища ключей
az keyvault recover --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
Очистка обратимо удаленного хранилища ключей (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ ХРАНИЛИЩА КЛЮЧЕЙ)
az keyvault purge --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
Включение защиты от очистки для хранилища ключей
az keyvault update --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --enable-purge-protection true
Сертификаты (CLI)
Предоставление доступа для очистки и восстановления сертификатов
az keyvault set-policy --upn [email protected] --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --certificate-permissions recover purge
Удаление сертификата
az keyvault certificate delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
Отображение списка удаленных сертификатов
az keyvault certificate list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
Восстановление удаленного сертификата
az keyvault certificate recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
Очистка обратимо удаленного сертификата (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ СЕРТИФИКАТА)
az keyvault certificate purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {CERTIFICATE NAME}
Ключи (CLI)
Предоставление доступа для очистки и восстановления ключей
az keyvault set-policy --upn [email protected] --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --key-permissions recover purge
Клавиша Delete
az keyvault key delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
Вывод списка удаленных ключей
az keyvault key list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
Восстановление удаленного ключа
az keyvault key recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
Очистка обратимо удаленного ключа (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ КЛЮЧА)
az keyvault key purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {KEY NAME}
Секреты (CLI)
Предоставление доступа для очистки и восстановления секретов
az keyvault set-policy --upn [email protected] --subscription {SUBSCRIPTION ID} -g {RESOURCE GROUP} -n {VAULT NAME} --secret-permissions recover purge
Удаление секрета
az keyvault secret delete --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
Создание списка удаленных секретов
az keyvault secret list-deleted --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME}
Восстановление удаленного секрета
az keyvault secret recover --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
Очистка обратимо удаленного секрета (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ СЕКРЕТА)
az keyvault secret purge --subscription {SUBSCRIPTION ID} --vault-name {VAULT NAME} --name {SECRET NAME}
Key Vault (PowerShell)
Проверка включения обратимого удаления для хранилища ключей
Get-AzKeyVault -VaultName "ContosoVault"
Удаление хранилища ключей
Remove-AzKeyVault -VaultName 'ContosoVault'
Создание списка всех обратимо удаленных хранилищ ключей
Get-AzKeyVault -InRemovedState
Восстановление обратимо удаленного хранилища ключей
Undo-AzKeyVaultRemoval -VaultName ContosoVault -ResourceGroupName ContosoRG -Location westus
Очистка обратимо удаленного хранилища ключей (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ ХРАНИЛИЩА КЛЮЧЕЙ)
Remove-AzKeyVault -VaultName ContosoVault -InRemovedState -Location westus
Включение защиты от очистки для хранилища ключей
Update-AzKeyVault -VaultName ContosoVault -ResourceGroupName ContosoRG -EnablePurgeProtection
Сертификаты (PowerShell)
Предоставление разрешений на восстановление и очистку сертификатов
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName [email protected] -PermissionsToCertificates recover,purge
Удаление сертификата
Remove-AzKeyVaultCertificate -VaultName ContosoVault -Name 'MyCert'
Создание списка всех удаленных секретов в хранилище ключей
Get-AzKeyVaultCertificate -VaultName ContosoVault -InRemovedState
Восстановление сертификата в удаленном состоянии
Undo-AzKeyVaultCertificateRemoval -VaultName ContosoVault -Name 'MyCert'
Очистка обратимо удаленного сертификата (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ СЕРТИФИКАТА)
Remove-AzKeyVaultcertificate -VaultName ContosoVault -Name 'MyCert' -InRemovedState
Ключи (PowerShell)
Предоставление разрешений на восстановление и очистку ключей
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName [email protected] -PermissionsToKeys recover,purge
Удаление ключа
Remove-AzKeyVaultKey -VaultName ContosoVault -Name 'MyKey'
Создание списка всех удаленных ключей в хранилище ключей
Get-AzKeyVaultKey -VaultName ContosoVault -InRemovedState
Восстановление обратимо удаленного ключа
Undo-AzKeyVaultKeyRemoval -VaultName ContosoVault -Name ContosoFirstKey
Очистка обратимо удаленного ключа (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ КЛЮЧА)
Remove-AzKeyVaultKey -VaultName ContosoVault -Name ContosoFirstKey -InRemovedState
Секреты (PowerShell)
Предоставление разрешений на восстановление и очистку секретов
Set-AzKeyVaultAccessPolicy -VaultName ContosoVault -UserPrincipalName [email protected] -PermissionsToSecrets recover,purge
Удаление секрета с именем SQLPassword
Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword
Создание списка всех удаленных секретов в хранилище ключей
Get-AzKeyVaultSecret -VaultName ContosoVault -InRemovedState
Восстановление секрета в удаленном состоянии
Undo-AzKeyVaultSecretRemoval -VaultName ContosoVault -Name SQLPassword
Очистка секрета в удаленном состоянии (ПРЕДУПРЕЖДЕНИЕ! ЭТА ОПЕРАЦИЯ ПРИВЕДЕТ К ОКОНЧАТЕЛЬНОМУ УДАЛЕНИЮ КЛЮЧА)
Remove-AzKeyVaultSecret -VaultName ContosoVault -Name SQLPassword -InRemovedState
Следующие шаги