Надежность в Azure Key Vault

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

При использовании #REF! надежность является совместной ответственностью. Корпорация Майкрософт предоставляет ряд возможностей для поддержки устойчивости и восстановления. Вы несете ответственность за понимание того, как работают эти возможности во всех используемых вами службах, а также за выбор возможностей, необходимых для достижения бизнес-целей и целей бесперебойной работы.

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

Рекомендации по развертыванию в рабочей среде для обеспечения надежности

Мы рекомендуем для производственных рабочих нагрузок:

  • Используйте хранилища ключей уровня "Стандартный" или "Премиум".
  • Включите мягкое удаление и защиту от окончательного удаления , чтобы предотвратить случайное или вредоносное удаление.
  • Для критически важных рабочих нагрузок рекомендуется реализовать стратегии с несколькими регионами, описанные в этом руководстве.

Обзор архитектуры надежности

Чтобы обеспечить высокую устойчивость и доступность ключей, секретов и сертификатов в случае сбоя оборудования или сбоя сети, Key Vault обеспечивает несколько уровней избыточности для обеспечения доступности во время следующих событий:

  • Сбои оборудования
  • Сетевые сбои
  • Локализованные аварии
  • Действия по обслуживанию

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

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

Устойчивость к временным сбоям

Временные ошибки являются короткими, периодическими сбоями в компонентах. Они часто происходят в распределенной среде, такой как облачная платформа, и являются обычной частью операций. Временные ошибки исправляют себя через короткий период времени. Важно, чтобы приложения могли обрабатывать временные ошибки, обычно повторяя затронутые запросы.

Все облачные приложения должны следовать #REF! рекомендации по обработке временных ошибок при обмене данными с любыми размещенными в облаке API, базами данных и другими компонентами. Дополнительные сведения см. в Рекомендациях по обработке временных сбоев.

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

  • Используйте #REF!, которые обычно включают встроенные механизмы повторных попыток.

  • Реализуйте экспоненциальные политики повторных попыток, если клиенты подключаются непосредственно к Key Vault.

  • Кэшируйте секреты в памяти, если это возможно, чтобы уменьшить количество прямых запросов к Key Vault.

  • Отслеживайте ошибки регулирования, так как превышение ограничений службы Key Vault приводит к регулированию.

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

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

  • Для рабочих нагрузок с высокой пропускной способностью распределяйте трафик Key Vault между несколькими хранилищами и различными регионами.

  • Ограничение на уровне подписки для всех типов транзакций составляет пять раз, чем ограничение отдельного хранилища ключей.

  • Используйте отдельное хранилище для каждого домена безопасности или доступности. Например, если у вас есть пять приложений в двух регионах, рассмотрите возможность использования 10 хранилищ.

  • Для операций с открытым ключом, таких как шифрование, упаковка и проверка, выполните эти операции локально путем кэширования материала открытого ключа.

Дополнительные сведения см. в руководстве по регулированию Key Vault.

Устойчивость к сбоям зоны доступности

Зоны Availability физически разделяют группы центров обработки данных в #REF! регионе. При сбое одной зоны службы могут переключиться на одну из оставшихся зон.

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

Когда зона доступности становится недоступной, Key Vault автоматически перенаправляет запросы в другие здоровые зоны доступности, чтобы обеспечить высокий уровень доступности.

Требования

  • Поддержка регионов: Key Vault обеспечивает избыточность зон по умолчанию во всех регионах #REF!, поддерживающих зоны доступности.
  • Все типы SKU Key Vault, Standard и Premium, поддерживают одинаковый уровень доступности и отказоустойчивости. Отсутствуют специфические требования по уровням для достижения устойчивости зоны.

Себестоимость

Дополнительные расходы, связанные с избыточностью зоны в Key Vault, отсутствуют. Цены основаны на номере SKU (цен. категория "Стандартный" или "Премиум") и количестве выполненных операций.

Поведение, когда все зоны работоспособны

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

  • Маршрутизация трафика между зонами: Key Vault автоматически управляет маршрутизацией трафика между зонами доступности. Во время обычных операций запросы распределяются по зонам прозрачно.

  • Репликация данных между зонами: данные Key Vault синхронно реплицируются между зонами доступности в регионах с поддержкой зон. Эта репликация гарантирует, что ключи, секреты и сертификаты остаются согласованными и доступными, даже если зона становится недоступной.

Поведение во время сбоя зоны

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

  • Обнаружение и ответ: Сервис Key Vault отвечает за обнаружение отказов зоны и автоматическое реагирование на них. Во время сбоя зоны не нужно предпринимать никаких действий.
  • Активные запросы: Во время сбоя зоны затронутая зона может не обрабатывать запросы во время полета, что требует повторных попыток клиентских приложений. Клиентские приложения должны следовать временным методам обработки ошибок , чтобы убедиться, что они могут повторить запросы в случае сбоя зоны.

  • Ожидаемая потеря данных: Потеря данных не ожидается во время сбоя зоны из-за синхронной репликации между зонами.

  • Ожидаемое время простоя: Для операций чтения не должно быть минимального времени простоя во время сбоя зоны. Операции записи могут столкнуться с временной недоступностью, пока служба адаптируется к сбою зоны. Ожидается, что операции чтения останутся доступными во время отказов в зоне.

  • Traffic rerouting: Key Vault автоматически перенаправляет трафик из затронутой зоны в здоровые зоны, не требуя вмешательства клиента.

Восстановление зоны

Когда затронутая зона доступности восстанавливается, Key Vault автоматически восстанавливает операции в этой зоне. Платформа #REF! полностью управляет этим процессом и не требует вмешательства клиента.

Устойчивость к сбоям на уровне региона

Ресурсы Key Vault развертываются в одном регионе #REF!. Если регион становится недоступным, хранилище ключей также недоступно. Однако существуют подходы, которые можно использовать для обеспечения устойчивости к сбоям регионов. Эти подходы зависят от того, находится ли хранилище ключей в парном или непарном регионе, а также от ваших конкретных требований и конфигурации.

Переключение на резервный регион под управлением Microsoft

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

Следующие регионы не поддерживают репликацию, управляемую Microsoft, или переключение на резерв между регионами:

  • Бразилия (Юг)
  • Юго-Восток Бразилии
  • Западная часть США 3
  • Любой регион, у которого нет парного региона

Это важно

Корпорация Майкрософт инициирует управляемую ей отработку отказа. Скорее всего, это произойдет после значительной задержки и делается по мере возможности. Существуют также некоторые исключения для этого процесса. Отработка отказа хранилищ ключей может происходить в то время, которое отличается от времени отработки отказа других служб #REF!.

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

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

Соображения

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

  • Только для чтения после переключения при отказе: После переключения при отказе хранилище ключей становится доступным для чтения и позволяет выполнять только ограниченные действия. Нельзя изменять свойства хранилища ключей во время работы в дополнительном регионе, а политики доступа и конфигурации брандмауэра нельзя изменить во время работы в дополнительном регионе.

    Если хранилище ключей находится в режиме только для чтения, поддерживаются только следующие операции:

    • Список сертификатов
    • Получение сертификатов
    • Список секретов
    • Получите секреты
    • Перечислить ключи
    • Получение свойств ключей
    • Шифрование
    • Расшифровать
    • Упаковать
    • Распаковывать
    • Verify
    • Подписание
    • Резервное копирование

Себестоимость

Дополнительных затрат на встроенные возможности репликации Key Vault в нескольких регионах не требуется.

Поведение, когда все регионы работоспособны

В следующем разделе описывается, чего ожидать, если хранилище ключей находится в регионе, поддерживающем репликацию и аварийное переключение, управляемые корпорацией Майкрософт, и если основной регион находится в рабочем состоянии:

  • Маршрутизация трафика между регионами: Во время обычных операций все запросы направляются в основной регион, в котором развертывается хранилище ключей.

  • Репликация данных между регионами: Key Vault асинхронно реплицирует данные в парный регион. При внесении изменений в содержимое хранилища ключей эти изменения сначала фиксируются в основном регионе, а затем реплицируются в дополнительный регион.

Поведение во время сбоя региона

В следующем разделе описывается, чего ожидать, когда хранилище ключей находится в регионе, поддерживающем репликацию и переключение на резервную копию, осуществляемые корпорацией Майкрософт, и в основном регионе происходит сбой:

  • Обнаружение и ответ: Корпорация Майкрософт может решить выполнить переключение, если потерян основной регион. Этот процесс может занять несколько часов после потери основного региона или дольше в некоторых сценариях. Переключение на резервный ресурс хранилищ ключей может не произойти одновременно с другими службами #REF!.
  • Активные запросы: Во время отработки отказа в регионе активные запросы могут завершиться ошибкой, и клиентские приложения должны повторить их после завершения отработки отказа.

  • Ожидаемая потеря данных: Может возникнуть некоторая потеря данных, если изменения не реплицируются в дополнительный регион до сбоя основного региона.

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

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

  • Перенаправка трафика: После завершения отказа в регионе запросы автоматически направляются в парный регион, не требуя участия клиента.

Индивидуальные решения для нескольких регионов для повышения устойчивости

Существуют сценарии, когда возможности отработки отказа между регионами, управляемые корпорацией Майкрософт, не подходят для Key Vault.

  • Ваше хранилище ключей находится в нерегионально связанном регионе.

  • Ваше хранилище ключей находится в связанном регионе, который не поддерживает репликацию и отработку отказа, управляемые корпорацией Майкрософт, в Южной Бразилии, Юго-Восточной Бразилии и Западном регионе США 3.

  • Ваши цели по доступности бизнеса не удовлетворяются временем восстановления или потерей данных, которые предоставляет автоматическое переключение на уровне региона, управляемое корпорацией Майкрософт.

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

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

  1. Создайте отдельные хранилища ключей в разных регионах.

  2. Используйте функцию резервного копирования и восстановления для поддержания согласованных секретов в разных регионах.

  3. Реализуйте логику на уровне приложения для переключения на резервное между ключевыми хранилищами.

Резервное копирование и восстановление

Key Vault могут создавать резервные копии и восстанавливать отдельные секреты, ключи и сертификаты. Резервные копии предназначены для предоставления автономной копии секретов в маловероятном случае потери доступа к хранилищу ключей.

Рассмотрим следующие ключевые факторы, касающиеся функций резервного копирования:

  • Резервные копии создают зашифрованные большие двоичные объекты, которые не могут быть расшифрованы за пределами #REF!.

  • Резервные копии можно восстановить только в криптографическое хранилище в той же подписке #REF! и в том же регионе #REF!.

  • Существует ограничение резервного копирования не более 500 прошлых версий ключа, секрета или объекта сертификата.

  • Резервные копии — это моментальные снимки на определенный момент времени и не обновляются автоматически при изменении секретов.

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

Функции восстановления

Key Vault предоставляет две функции восстановления ключей, чтобы предотвратить случайное или вредоносное удаление:

  • Обратимое удаление: При включении обратимое удаление позволяет восстанавливать удаленные хранилища и объекты в течение настраиваемого периода хранения. Этот период по умолчанию составляет 90 дней. Воспринимайте обратимое удаление как корзину для ресурсов вашего хранилища ключей.

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

Настоятельно рекомендуется использовать обе функции для рабочих сред. Более подробную информацию см. в разделе Soft-delete и защита от очистки документации по управлению восстановлением Key Vault.

Соглашение об уровне обслуживания

Соглашение об уровне обслуживания (SLA) для служб #REF! описывает ожидаемую доступность каждой службы и условия, которые должно соответствовать вашему решению для достижения этого ожидания доступности. Дополнительные сведения см. в разделе SLAs для онлайн-сервисов.