Общие сведения об обратимом удалении в Azure Key Vault

Важно!

Вы должны немедленно включить обратимое удаление в приоритетных хранилищах ключей. Не рекомендуется отказываться от обратимого удаления. Возможность сделать это станет недоступна в феврале 2020 года. Подробные сведения см. здесь

Важно!

При обратимом удалении Key Vault удаляются службы, интегрированные с Key Vault. Например: назначения ролей Azure RBAC и подписки Сетки событий. Восстановление обратимо удаленного Key Vault не восстановит эти службы. Их потребуются создать повторно.

Функция обратимого удаления Key Vault позволяет восстанавливать удаленные хранилища и удаленные объекты хранилища ключей (например, ключи, секреты, сертификаты). Это называется обратимым удалением. В частности, мы разрешаем следующие сценарии. Программа защиты предлагает указанные ниже меры.

  • После удаления секрета, ключа, сертификата или хранилища ключей их можно восстановить в течение заданного периода времени (от 7 до 90 календарных дней). Если значение не указано, период восстановления по умолчанию будет составлять 90 дней. Пользователи будут иметь достаточно времени, чтобы заметить случайное удаление секрета и устранить инцидент.
  • Для окончательного удаления секрета необходимо выполнить две операции. Сначала пользователь должен удалить объект, что помещает его в обратимо удаленное состояние. Во-вторых, пользователь должен очистить объект, который находится в состоянии обратимого удаления. Для операции очистки требуются дополнительные разрешения политики доступа. Эти дополнительные средства защиты снижают риск случайного или злонамеренного удаления пользователем секрета или хранилища ключей.
  • Чтобы очистить секрет в состоянии обратимого удаления, субъекту-службе необходимо предоставить дополнительное разрешение политики доступа на "очистку". По умолчанию разрешение политики доступа на очистку не предоставляется ни одному из субъектов-служб, включая хранилище ключей и владельцев подписок, и должно быть задано специально. Если требуется разрешение политики доступа с повышенными правами для очистки обратимо удаляемого секрета, это уменьшает вероятность случайного удаления секрета.

Поддержка интерфейсов

Функция обратимого удаления доступна через REST API, Azure CLI, Azure PowerShellи интерфейсы .NET/C#, а также шаблоны ARM.

Сценарии

Azure Key Vault — это отслеживаемые ресурсы, управляемые Azure Resource Manager. Azure Resource Manager также задает четко определенное поведение для удаления, которое требует, чтобы после успешной операции удаления этот ресурс больше не был доступен. Функция обратимого восстановления восстанавливает удаленный объект независимо от того, было ли удаление случайным или преднамеренным.

  1. В типичном сценарии пользователь может случайно удалить Key Vault или его объект. Если они будут доступны для восстановления в течение предопределенного периода, пользователь сможет отменить удаление и восстановить свои данные.

  2. В другом сценарии несанкционированный пользователь может попытаться удалить Key Vault или его объект, например ключ в хранилище, чтобы нарушить работу компании. Разделение удаления Key Vault или его объектов и удаления базовых данных может использоваться как мера предосторожности, к примеру, для ограничения разрешений на удаление данных другой доверенной ролью. По существу, при таком подходе требуется кворум для операции, так как в противном случае может произойти немедленная потеря данных.

Поведение обратимого удаления

Если обратимое удаление включено, ресурсы, помеченные как удаленные, сохраняются в течение указанного периода (по умолчанию 90 дней). Затем эта служба предоставляет механизм восстановления удаленного объекта, отменяющий удаление.

При создании нового хранилища ключей обратимое удаление включено по умолчанию. После включения обратимого удаления в хранилище ключей его невозможно отключить.

Период хранения по умолчанию составляет 90 дней. Но при создании хранилища ключей можно задать для интервала политики хранения значение от 7 до 90 дней на портале Azure. Для политики хранения защиты от очистки используется тот же интервал. После установки интервал политики хранения нельзя изменить.

Нельзя повторно использовать имя хранилища ключей, которое было обратимо удалено, пока не будет пройден срок хранения.

Защита от удаления

Защита от удаления — это дополнительная функция Key Vault, которая не включена по умолчанию. Защиту от удаления можно включить только после включения обратимого удаления. Ее можно включить с помощью интерфейса командной строки или в PowerShell. Рекомендуется включить защиту от удаления при использовании ключей шифрования, чтобы предотвратить потерю данных. Защита от удаления с целью предотвращения потери данных требуется для большинства служб Azure, которые интегрируются с Azure Key Vault, например, для службы хранилища.

Если защита от удаления включена, хранилище или объект в удаленном состоянии нельзя удалить безвозвратно, пока не пройдет период хранения. Безопасно удаленные хранилища и объекты по-прежнему можно восстановить, гарантируя клиентам, что политика хранения будет соблюдена.

Период хранения по умолчанию составляет 90 дней. Но можно задать для интервала политики хранения значение от 7 до 90 дней на портале Azure. После установки и сохранения интервала политики хранения его нельзя изменить для этого хранилища.

Разрешенная очистка

Окончательное удаление и очистку хранилища ключей можно выполнить с помощью операции POST на прокси-ресурсе. Это требует специальных привилегий. Как правило, только владелец подписки может очистить хранилище ключей. Операция POST активирует немедленное и необратимое удаление этого хранилища.

Однако имеются исключения.

  • Случай когда подписка Azure была помечена как неудаляемая. В этом случае только служба может выполнить фактическое удаление в рамках запланированной процедуры.
  • Когда для хранилища установлен флаг --enable-purge-protection flag. В этом случае Key Vault будет ожидать 90 дней с момента, когда исходный объект секрета был помечен для удаления, прежде чем окончательно удалить объект.

Инструкции см. в статьях Использование обратимого удаления Key Vault в интерфейсе командной строки: очистка хранилища ключей и Использование обратимого удаления Key Vault в PowerShell: очистка хранилища ключей.

Восстановление Key Vault

Когда хранилище ключей будет удалено, служба создаст прокси-ресурс в рамках подписки, добавив достаточное количество метаданных для восстановления. Прокси-ресурс — это хранимый объект, доступный в том же месте, что и удаленное Key Vault.

Восстановление объектов Key Vault

После удаления объекта Key Vault, например ключа, служба переведет его в удаленное состояние, делая его недоступным для любой операции извлечения. В этом состоянии объект хранилища ключей можно только внести в список, восстановить, а также принудительно или окончательно удалить. Для просмотра объектов используйте команду Azure CLI az keyvault key list-deleted (как описано в ст. Использование обратимого удаления Key Vault в интерфейсе командной строки) или параметра -InRemovedState Azure PowerShell (как описано в статье Использование обратимого удаления Key Vault в PowerShell).

В то же время Key Vault запланирует удаление базовых данных удаленного Key Vault или его объекта, чтобы удалить их по истечении предопределенного интервала хранения. Запись DNS, соответствующая хранилищу, также сохраняется в течение этого интервала.

Период хранения при обратимом удалении

Ресурсы обратимого удаления сохраняются в течение заданного периода времени — 90 дней. В течение интервала хранения применяются следующие условия:

  • Вы можете вести список всех Key Vault и их объектов в состоянии обратимого удаления для вашей подписки, а также просматривать сведения об их удалении и восстановлении.
    • Только пользователи со специальными разрешениями могут вести список удаленных хранилищ. Мы советуем нашим пользователям создать настраиваемую роль с этими разрешениями для управления удаленными хранилищами.
  • Хранилище ключей с тем же именем не может быть создано в одном и том же месте. Соответственно, объект хранилища ключей не может быть создан в данном хранилище, если оно содержит объект с тем же именем и находится в удаленном состоянии.
  • Только пользователь со специальными привилегиями может восстановить хранилище ключей или его объект, выполнив команду восстановления на соответствующем прокси-ресурсе.
    • Пользователь, участник настраиваемой роли, у которого есть привилегии создавать хранилище ключей в группе ресурсов, может восстановить хранилище.
  • Только пользователь со специальными привилегиями может принудительно удалить хранилище ключей или его объект, выполнив команду удаления на соответствующем прокси-ресурсе.

Если хранилище ключей или его объект не будут восстановлены, служба выполнит очистку обратимо удаленного хранилища ключей или его объекта вместе с содержимым в конце периода хранения. Удаление ресурса нельзя запланировать повторно.

Процесс выставления счетов

В общем случае, когда объект (хранилище ключей, ключ или секрета) находится в состоянии удаления, возможны только две операции: очистка и восстановление. Все остальные операции завершатся ошибкой. Таким образом, хотя объект существует, операции выполнять нельзя, следовательно счета за использование не выставляются. Но есть и следующие исключения.

  • Действия очистки и удаления будут считаться обычными операциями хранилища ключей, следовательно, они будут тарифицироваться.
  • Если объект является ключом HSM, ежемесячная плата за версию каждого ключа с защитой HSM будет взиматься, если версия ключа использовалась в течение последних 30 дней. После этого, так как объект находится в состоянии удаления, операции с ним невозможны, плата не будет взиматься.

Дальнейшие шаги

Следующие два руководства содержат основные сценарии использования обратимого удаления.