Azure Key Vault
Azure Key Vault — это облачный сервис корпорации Microsoft, входящий в состав платформы Microsoft Azure, предназначенный для безопасного хранения и управления криптографическими ключами, секретами (паролями, строками подключения, сертификатами) и сертификатами X.509. Сервис обеспечивает централизованное управление доступом к конфиденциальной информации, используемой приложениями, развернутыми в облачной среде Azure и в локальных инфраструктурах.
История
Сервис Azure Key Vault был анонсирован на конференции Microsoft Build в 2015 году и стал общедоступным (GA) в июле 2016 года. Его появление было связано с ростом потребностей в безопасном управлении секретами в облачных приложениях, особенно в контексте DevOps и контейнеризации. В 2018 году была представлена версия Managed HSM (аппаратный модуль безопасности), обеспечивающая более высокий уровень изоляции и соответствия строгим регуляторным требованиям (FIPS 140-2 Level 3). В 2020 году появилась поддержка RBAC (управление доступом на основе ролей) для Key Vault, что упростило управление разрешениями в рамках Azure Active Directory (ныне Microsoft Entra ID).
Архитектура и принципы работы
Key Vault работает как защищенное хранилище, доступное через REST API, SDK для различных языков программирования (C#, Python, Java, Go, Node.js) и интерфейс командной строки Azure CLI. Все операции с данными внутри хранилища выполняются в защищенной среде, изолированной от клиентских приложений. Ключи и секреты никогда не покидают границы Key Vault в открытом виде — приложения получают только ссылки на них или результаты операций (например, зашифрованные данные).
Типы хранилищ
- Vault (стандартное хранилище) — базовый вариант, поддерживающий хранение секретов, ключей и сертификатов с программной защитой. Защита ключей осуществляется с помощью FIPS 140-2 Level 1 (программный модуль).
- Managed HSM (управляемый аппаратный модуль безопасности) — выделенный экземпляр HSM, полностью управляемый Microsoft, но с изолированным доступом клиента. Поддерживает FIPS 140-2 Level 3 (аппаратная защита). Предназначен для сценариев с повышенными требованиями к безопасности (например, в финансовом секторе или государственных учреждениях).
Функциональные возможности
Управление ключами
Key Vault поддерживает создание, импорт, хранение и управление криптографическими ключами для алгоритмов RSA (2048, 3072, 4096 бит) и EC (эллиптическая кривая, P-256, P-384, P-521, SECP256K1). Сервис может выполнять криптографические операции (шифрование, дешифрование, подпись, проверка подписи) без извлечения ключа наружу. Поддерживается автоматическая ротация ключей по расписанию.
Управление секретами
Секреты — это любые конфиденциальные строки, такие как пароли базы данных, строки подключения, API-ключи, токены доступа. Key Vault хранит их в зашифрованном виде и предоставляет доступ только авторизованным приложениям и пользователям. Поддерживается версионирование секретов (каждое изменение создает новую версию).
Управление сертификатами
Key Vault может выступать в роли центра сертификации (CA) для внутренних нужд организации, а также импортировать сертификаты от внешних удостоверяющих центров (например, DigiCert, GlobalSign). Сервис автоматически управляет жизненным циклом сертификата: создание, продление, отзыв. Поддерживается интеграция с Azure App Service и другими сервисами Azure для автоматической установки сертификатов на веб-приложения.
Безопасность и соответствие стандартам
Управление доступом
Доступ к Key Vault контролируется на двух уровнях:
- Плоскость управления (Management Plane) — управление самим хранилищем (создание, удаление, настройка политик). Использует Azure RBAC.
- Плоскость данных (Data Plane) — доступ к секретам, ключам и сертификатам. Использует политики доступа Key Vault (Access Policies) или Azure RBAC (с 2020 года).
Все операции аутентифицируются через Microsoft Entra ID (ранее Azure Active Directory). Поддерживается условный доступ, многофакторная аутентификация и управляемые удостоверения (Managed Identities) для сервисов Azure.
Сетевая безопасность
Key Vault поддерживает:
- Брандмауэр — ограничение доступа по IP-адресам.
- Служебные конечные точки (Service Endpoints) — доступ только из указанных виртуальных сетей Azure.
- Приватные конечные точки (Private Endpoints) — доступ через частные IP-адреса в виртуальной сети, полностью исключая публичный интернет.
Аудит и мониторинг
Все операции с Key Vault (чтение, запись, удаление, изменение ключей) регистрируются в Azure Monitor и Azure Log Analytics. Журналы аудита могут быть экспортированы в SIEM-системы (например, Microsoft Sentinel) для анализа инцидентов безопасности.
Соответствие стандартам
Azure Key Vault сертифицирован по ряду международных и отраслевых стандартов, включая:
- ISO 27001, ISO 27017, ISO 27018
- SOC 1, SOC 2, SOC 3
- PCI DSS (для обработки данных платежных карт)
- FedRAMP (для государственных учреждений США)
- HIPAA (для здравоохранения)
Применение
Интеграция с сервисами Azure
Key Vault является ключевым компонентом безопасности в экосистеме Azure. Он интегрируется с:
- Azure App Service — хранение строк подключения и сертификатов для веб-приложений.
- Azure Kubernetes Service (AKS) — хранение секретов для контейнеров через CSI-драйвер.
- Azure Functions — защита ключей доступа к базам данных и API.
- Azure DevOps — хранение секретов для CI/CD пайплайнов.
- Azure SQL Database — автоматическое шифрование данных с использованием ключей из Key Vault (Always Encrypted).
Локальные сценарии
Key Vault может использоваться для хранения секретов, используемых локальными приложениями, через Azure Arc или прямое подключение к Azure. Это позволяет централизовать управление секретами в гибридных инфраструктурах.
Примеры использования
- Шифрование данных — приложение шифрует данные с помощью ключа, хранящегося в Key Vault, без раскрытия самого ключа.
- Автоматическая ротация паролей — Key Vault автоматически генерирует новый пароль для базы данных и обновляет его в приложении.
- Управление сертификатами TLS/SSL — автоматическое продление сертификатов для веб-сайтов, работающих в Azure.
Ограничения и стоимость
Key Vault имеет квоты на количество запросов в секунду (по умолчанию 10 000 запросов на секрет/ключ, 2000 запросов на управление). Для Managed HSM квоты ниже и зависят от типа HSM. Стоимость сервиса складывается из:
- Фиксированной платы за каждое хранилище (Vault или Managed HSM) в месяц.
- Платы за каждую операцию (чтение, запись, криптографическая операция) сверх бесплатного лимита (10 000 операций в месяц для Vault).
Критика
Основные замечания к Azure Key Vault связаны с:
- Сложностью настройки — для новичков может быть непросто разобраться в политиках доступа и сетевых ограничениях.
- Зависимостью от экосистемы Azure — сервис не является кроссплатформенным, что затрудняет его использование в мультиоблачных сценариях.
- Стоимостью при больших объемах — для приложений с миллионами операций в день стоимость может стать значительной.
Источники
- Microsoft Learn: Azure Key Vault documentation
- Microsoft Azure Trust Center: Compliance offerings
- Azure Key Vault pricing page
- Azure Key Vault security overview (Microsoft Docs)
- Azure Key Vault Developer's Guide (Microsoft Docs)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →