Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом документе показано, как создать резервную копию секретов, ключей и сертификатов, хранящихся в хранилище ключей. Резервная копия предназначена для предоставления автономной копии всех секретов в маловероятном случае потери доступа к хранилищу ключей.
Обзор
Azure Key Vault предоставляет несколько вариантов обеспечения доступности и возможности восстановления данных хранилища:
- Автоматическая избыточность и переключение на резерв: Key Vault автоматически реплицирует данные по регионам и выполняет переключение на резервный канал во время сбоев. См. статью доступность и резервирование Azure Key Vault
- Soft delete и защита от очистки: предотвращает случайное или злонамеренное удаление вашего хранилища или объектов хранилища - см. статью управление восстановлением Azure Key Vault с помощью soft delete и защиты от очистки
- Резервное копирование и восстановление вручную (описано в этой статье): для отдельных секретов, ключей и сертификатов
В этой статье рассматриваются операции резервного копирования и восстановления вручную для отдельных объектов в Key Vault.
Когда следует использовать резервные копии
Azure Key Vault автоматически предоставляет функции, помогающие поддерживать доступность и предотвращать потерю данных. Делайте резервное копирование секретов только в случае, если имеется критически важное деловое обоснование. Резервное копирование секретов в хранилище ключей может привести к проблемам в эксплуатации, таким как необходимость обслуживания нескольких наборов журналов, разрешений и резервных копий при истечении срока действия или ротации секретов.
Рекомендуется использовать резервные копии в следующих сценариях:
- Вам необходимо перемещать объекты между хранилищами ключей или регионами Azure
- Вы хотите автономную копию своих конфиденциальных данных по нормативным или требованиям соответствия.
- Вы используете регион, который не поддерживает автоматическую репликацию между регионами (Южная Бразилия, Юго-Восточная Бразилия или Западная часть США 3)
- Вам нужна защита от случайного удаления определенных объектов
В большинстве случаев встроенные функции избыточности и обратимого удаления Key Vault обеспечивают достаточную защиту без необходимости резервного копирования вручную. Дополнительные сведения см. в разделе доступность и избыточность Azure Key Vault.
Ограничения
Это важно
Key Vault не поддерживает возможность резервного копирования более 500 последних версий ключа, секрета или объекта сертификата, и попытка сделать это может привести к ошибке. Удалить предыдущие версии ключа, секрета или сертификата нельзя.
Key Vault в настоящее время не предоставляет возможности резервного копирования всего хранилища ключей в одной операции, и ключи, секреты и сертификаты необходимо резервировать по отдельности.
Кроме того, рассмотрите следующие проблемы:
- Создание резервной копии секретов с несколькими версиями может привести к ошибкам из-за превышения времени ожидания.
- Резервная копия создает моментальный снимок в определенный момент времени. Секреты могут обновляться во время резервной копии, что приводит к несоответствию ключей шифрования.
- Если вы превысите ограничения службы хранилища ключей на количество запросов в секунду, доступ к хранилищу будет ограничен, и резервное копирование не удастся.
Рекомендации по проектированию
При резервном копировании объекта хранилища ключей, например секрета, ключа или сертификата, операция резервного копирования скачивает объект в виде зашифрованного объекта blob. Этот большой двоичный объект не может быть расшифрован за пределами Azure. Чтобы получить пригодные для использования данные из этого объекта, необходимо восстановить объект в хранилище ключей в пределах той же подписки Azure и Azure geography.
Вопросы безопасности
При восстановлении ключа в другом хранилище его копия становится полностью независимой от исходного. Отключение, удаление или очистка исходного ключа не влияет на восстановленные копии. Они остаются полностью функциональными в своих соответствующих хранилищах. В службе Azure Key Vault нет механизма для аннулирования или недействительности ранее созданной резервной копии или ключа, уже восстановленного в другом хранилище.
Эта независимость имеет важные последствия для реагирования на инциденты. Если вы подозреваете, что ключ скомпрометирован через несанкционированное резервное копирование и восстановление, не отключайте ключ или не удаляйте его сразу. Это выключает все зависимые службы (например, базы данных Azure SQL TDE становятся недоступными, Azure Storage с ключами, управляемыми клиентом, возвращает ошибки, а защищенные с помощью шифрования диска Azure виртуальные машины не могут запускаться), но это не влияет на копии, которые злоумышленник может восстановить в другом хранилище.
Вместо этого выполните следующую последовательность реагирования на инциденты:
- Устраните нарушение: немедленно просмотрите и отмените все главные субъекты с правами на резервное копирование или восстановление в скомпрометированном хранилище. Изучите журналы аудита Key Vault для несанкционированного резервного копирования и восстановления, чтобы понять область компрометации.
- Создайте ключ замены в отдельном хранилище с жестко ограниченным доступом. Используйте новый ключ (не новую версию скомпрометированного ключа), чтобы убедиться, что замена не может быть получена из существующих blob-объектов резервного копирования.
- Перенастройка зависимых служб для использования ключа замены (каждая служба повторно упаковывает ключи шифрования данных с новым ключом).
- Убедитесь, что все зависимые службы функционируют нормально с заменяющим ключом.
- Отключите скомпрометированный ключ только после полной миграции зависимых служб. Если защита очистки включена в хранилище, ключ не может быть окончательно удален до истечения срока хранения, поэтому оставьте его отключенным до тех пор.
Чтобы снизить риск несанкционированного кражи резервных копий, ограничьте разрешения на резервное копирование и восстановление только удостоверениям, которым они действительно требуются. Отслеживайте журналы аудита Key Vault для операций KeyBackup, KeyRestore, SecretBackup, SecretRestore, CertificateBackup и оповещений о непредвиденных действиях CertificateRestore. Дополнительные сведения см. в разделе ведения журнала Azure Key Vault.
Рекомендации по обеспечению безопасности для конкретных ключей и процедуры компрометации ключей см. в статье "Защита ключей Azure Key Vault".
Предпосылки
Чтобы создать резервную копию объекта хранилища ключей, необходимо:
- Разрешения уровня участника или более высокого уровня для подписки Azure.
- Хранилище ключей, содержащее секреты, которые необходимо сохранить в резервной копии.
- Дополнительное хранилище ключей, в котором будут восстановлены секреты.
Резервное копирование и восстановление с портала Azure
Выполните действия, описанные в этом разделе, чтобы создать резервную копию и восстановить объекты с помощью портала Azure.
Сделать резервную копию
Перейдите на портал Azure.
Выберите хранилище ключей.
Перейдите к объекту (секрет, ключ или сертификат), который вы хотите создать резервную копию.
Выберите объект.
Выберите загрузку резервной копии.
Выберите Скачать.
Сохраните зашифрованный объект в безопасном месте.
Восстановить
Перейдите на портал Azure.
Выберите хранилище ключей.
Перейдите к типу объекта (секрет, ключ или сертификат), который требуется восстановить.
Выберите восстановить резервную копию.
Перейдите в место, где хранится зашифрованный блоб.
Нажмите ОК.
Резервное копирование и восстановление из Azure CLI или Azure PowerShell
## Log in to Azure
az login
## Set your subscription
az account set --subscription <subscription-id>
## Register Key Vault as a provider
az provider register -n Microsoft.KeyVault
## Back up a certificate in Key Vault
az keyvault certificate backup --file <file-path> --name <certificate-name> --vault-name <vault-name> --subscription <subscription-id>
## Back up a key in Key Vault
az keyvault key backup --file <file-path> --name <key-name> --vault-name <vault-name> --subscription <subscription-id>
## Back up a secret in Key Vault
az keyvault secret backup --file <file-path> --name <secret-name> --vault-name <vault-name> --subscription <subscription-id>
## Restore a certificate in Key Vault
az keyvault certificate restore --file <file-path> --vault-name <vault-name> --subscription <subscription-id>
## Restore a key in Key Vault
az keyvault key restore --file <file-path> --vault-name <vault-name> --subscription <subscription-id>
## Restore a secret in Key Vault
az keyvault secret restore --file <file-path> --vault-name <vault-name> --subscription <subscription-id>