Рекомендации по управлению секретами в Key Vault

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

Примеры секретов, которые должны храниться в Key Vault:

  • Секреты клиентских приложений
  • Строки подключения
  • Пароли
  • Клавиши доступа (кэш Azure для Redis, центры событий Azure, Azure Cosmos DB)
  • Ключи SSH

Любые другие конфиденциальные сведения, например IP-адреса, имена служб и другие параметры конфигурации, должны храниться в Конфигурации приложения Azure, а не в Key Vault.

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

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

Настройка и хранение

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

Дополнительные сведения о секретах см. в статье Сведения о секретах Azure Key Vault.

Смена секретов

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

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

Изоляция доступа и сети

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

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

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

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

Ограничения служб и кэширование

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

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

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

Мониторинг

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

Дополнительные сведения можно найти в разделе

Защита от резервного копирования и очистки

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

Подробнее