Поделиться через


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

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

Надежность — это общая ответственность между вами и корпорацией Майкрософт. Это руководство позволяет определить, какие варианты надежности соответствуют конкретным бизнес-целям и целям простоя.

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

Рекомендации по развертыванию в производственной среде

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

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

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

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

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

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

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

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

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

Временные сбои

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поддержка зоны доступности

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

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

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

Поддержка регионов

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

Требования

Все SKU Key Vault, Standard и Premium поддерживают одинаковый уровень доступности и устойчивости. Отсутствуют специфические требования по уровням для достижения устойчивости зоны.

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

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

Нормальная работа

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

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

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

Опыт понижения зоны

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

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

  • Уведомление: Вы можете отслеживать состояние хранилища ключей с помощью Azure Resource Health и Azure Service Health. Эти службы предоставляют уведомления о снижении службы.

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

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

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

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

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

Возврат к исходному состоянию

При восстановлении затронутой зоны доступности Key Vault автоматически восстанавливает операции в этой зоне. Платформа Azure полностью управляет этим процессом и не требует вмешательства клиента.

Поддержка нескольких регионов

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

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

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

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

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

Это важно

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

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

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

Соображения

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

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

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

Нормальная работа

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

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

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

Опыт региональной недоступности

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

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

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

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

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

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

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

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

Альтернативные подходы с несколькими регионами

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

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

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

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

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

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

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

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

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

Резервные копии

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

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

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

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

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

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

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

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

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

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

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

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

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

Соглашение об уровне обслуживания (SLA) для Key Vault описывает ожидаемую доступность службы и условия, которые должны быть выполнены для достижения этого ожидания доступности. Дополнительные сведения см. в соглашениях об уровне обслуживания для веб-служб.