Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Key Vault — это облачная служба, которая обеспечивает безопасное хранение и управление криптографическими ключами, секретами и сертификатами. Это руководство помогает разработчикам интегрировать Key Vault в свои приложения.
Обзор
Azure Key Vault позволяет:
- Безопасное хранилище: защита ключей, секретов и сертификатов без написания пользовательского кода безопасности.
- Упрощенное управление ключами: централизация криптографических операций и управления жизненным циклом ключей.
- Ключи, принадлежащие клиенту: позволяют клиентам управлять собственными ключами, а также сосредоточиться на основных функциях приложений.
- Управление внешними ключами: используйте ключи для подписывания и шифрования, сохраняя их вне приложения.
Общие сведения о Azure Key Vault см. в разделе About Azure Key Vault.
Сценарии для разработчиков
Распространенные задачи разработчика с Key Vault включают:
- Храните и извлекайте секреты: безопасное управление с строками подключения, паролями, ключами API и токенами SAS. Более подробную информацию см. в разделе О секретах.
- Используйте ключи для шифрования и подписывания: выполняйте криптографические операции без предоставления содержимого ключа приложению. См. сведения о ключах.
- Управление сертификатами: автоматизация подготовки сертификатов, продления и развертывания для SSL/TLS. См. сведения о сертификатах.
Общедоступные предварительные версии
Майкрософт периодически выпускает общедоступные предварительные версии новых функций Key Vault. Чтобы попробовать предварительные версии функций и предоставить отзыв, обратитесь в группу azurekeyvault@microsoft.com. Чтобы узнать о новых функциях и обновлениях, см. статью Что нового в Azure Key Vault.
Создание хранилищ ключей и управление ими
Key Vault использует двухуровневую модель доступа:
- Контроль плоскости: управляет самим ресурсом Key Vault (создание, удаление, обновление свойств, назначение политик доступа). Операции управляются с помощью Azure Resource Manager. Сведения об управлении доступом см. в разделе Назначение политики доступа Key Vault.
- Data plane: управляет данными, хранящимися в Key Vault (ключи, секреты, сертификаты). Доступ управляется с помощью Azure RBAC, где используется Key Vault.
Используйте предопределенную роль участника Key Vault, чтобы предоставить управление доступом к ресурсам Key Vault. Дополнительные сведения о проверке подлинности и авторизации см. в разделе Authentication в Azure Key Vault.
Сетевая безопасность
Уменьшите нагрузку на сеть, настроив частные конечные точки, брандмауэры или конечные точки службы. Подробные рекомендации по безопасности сети, включая варианты конфигурации от наиболее до наименее строгих, см. в разделе Secure your Azure Key Vault: Network Security и Configure Azure Key Vault networking settings.
Интерфейсы API и пакеты SDK для управления хранилищем ключей
В следующей таблице приведены пакеты SDK и краткие обзоры по управлению ресурсами Key Vault (операции плоскости управления — control plane operations). Последние версии и инструкции по установке см. в клиентских библиотеках.
| Azure CLI | PowerShell | REST API | Менеджер ресурсов | .NET | Python | Java | JavaScript |
|---|---|---|---|---|---|---|---|
|
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы |
Справочные материалы Быстрый старт |
Справочные материалы | Справочные материалы | Справочные материалы | Справочные материалы |
Аутентификация в Key Vault в коде
Key Vault использует проверку подлинности Microsoft Entra, которая требует предоставления доступа субъекту безопасности Microsoft Entra. Субъект безопасности Microsoft Entra может быть пользователем, принципалом службы приложения, управляемым удостоверением для ресурсов Azure или группой любого из этих типов.
Рекомендации по работе с проверкой подлинности
Для приложений, развернутых в Azure, используйте управляемые удостоверения для устранения необходимости хранения учетных данных в коде. Подробные рекомендации по проверке подлинности и рекомендации субъекта безопасности для разных сред (рабочей среды, разработки, локальной среды) см. в разделе Authentication в Azure Key Vault и Secure Azure Key Vault.
клиентские библиотеки удостоверений Azure
Предыдущие сценарии проверки подлинности поддерживаются клиентской библиотекой Azure Identity и интегрируются с SDK Key Vault. Клиентскую библиотеку удостоверений Azure можно использовать на всех платформах и в любых средах без изменения кода. Библиотека автоматически получает токены аутентификации от пользователей, которые вошли в Azure через Azure CLI, Visual Studio, Visual Studio Code и другие средства.
Дополнительные сведения о клиентской библиотеке удостоверений Azure см. в следующей статье.
| .NET | Python | Java | JavaScript |
|---|---|---|---|
| Azure SDK для удостоверений .NET | Пакет SDK Azure Identity для Python | пакет SDK для удостоверения личности Azure Identity Java | Azure Identity SDK для JavaScript |
Замечание
Мы рекомендуем использовать библиотеку проверки подлинности App Authentication для пакета SDK Key Vault .NET версии 3, но теперь она устарела. Чтобы перейти на пакет SDK Key Vault .NET версии 4, выполните руководство по миграции с AppAuthentication на Azure.Identity.
Инструкции по проверке подлинности для Key Vault в приложениях см. в приведенных здесь руководствах.
- Используйте Azure Key Vault с виртуальной машиной в .NET
- Используйте Azure Key Vault с виртуальной машиной в Python
- Использовать управляемое удостоверение для подключения Key Vault к веб-приложению Azure в .NET
Управление ключами, сертификатами и секретами
Замечание
Пакеты SDK для .NET, Python, Java, JavaScript, PowerShell и Azure CLI являются частью процесса выпуска функций Key Vault через этапы общедоступного предварительного просмотра и общей доступности при поддержке службы Key Vault. Доступны и другие клиенты SDK для Key Vault, но они создаются и поддерживаются отдельными командами SDK на GitHub и выпускаются в соответствии с графиком команд. Последние версии пакета SDK и пакеты установки см. в клиентских библиотеках.
Плоскость данных служит для управления доступом к ключам, сертификатам и секретам. Вы можете использовать Azure RBAC с Key Vault для управления доступом через плоскость данных.
Интерфейсы API и пакеты SDK для ключей
В следующей таблице перечислены пакеты SDK и краткие руководства по операциям с ключами на уровне данных. Дополнительные сведения о ключах см. в разделе "О ключах".
| Azure CLI | PowerShell | REST API | Менеджер ресурсов | .NET | Python | Java | JavaScript |
|---|---|---|---|---|---|---|---|
|
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Прочие библиотеки
Клиент шифрования для Key Vault и управляемого HSM
Этот модуль предоставляет клиент шифрования для клиентского модуля ключей Azure Key Vault для Go.
Замечание
Этот проект не поддерживается командой Azure SDK, но соответствует клиентам шифрования на других поддерживаемых языках.
| Язык | Справка |
|---|---|
| Иди | Справочные материалы |
Интерфейсы API и пакеты SDK для сертификатов
В следующей таблице перечислены пакеты SDK и краткие руководства по работе с сертификатами (операции плоскости данных). Дополнительные сведения о сертификатах см. в разделе "Сведения о сертификатах".
| Azure CLI | PowerShell | REST API | Менеджер ресурсов | .NET | Python | Java | JavaScript |
|---|---|---|---|---|---|---|---|
|
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы | Не применимо |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Интерфейсы API и пакеты SDK для управления секретами
В следующей таблице перечислены пакеты SDK и краткие руководства по работе с секретами (операции плоскости данных). Дополнительные сведения о секретах см. в разделе "Сведения о секретах".
| Azure CLI | PowerShell | REST API | Менеджер ресурсов | .NET | Python | Java | JavaScript |
|---|---|---|---|---|---|---|---|
|
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Справочные материалы Быстрый старт |
Использование секретов
Используйте Azure Key Vault для хранения только секретов для приложения. Примеры секретов, которые должны храниться в Key Vault, включают:
- Секреты клиентского приложения
- Строки подключения
- Пароли
- Ключи общего доступа
- Ключи SSH
Любые сведения о секретах, такие как имена пользователей и идентификаторы приложений, можно хранить как теги в секрете. Для любых других параметров конфиденциальной конфигурации следует использовать Конфигурация приложений Azure.
См. раздел Клиентские библиотеки, где описаны пакеты установки и исходный код.
Использование Key Vault в приложениях
Чтобы воспользоваться новейшими функциями в Key Vault, рекомендуется использовать доступные пакеты SDK Key Vault для использования секретов, сертификатов и ключей в приложении. Пакеты SDK Key Vault и REST API обновляются по мере выпуска новых функций для продукта и следуют лучшим практикам и рекомендациям.
В базовых сценариях существуют другие библиотеки и решения интеграции для упрощенного использования с поддержкой, предоставляемой партнерами Майкрософт или сообществами с открытым кодом.
Для сертификатов можно использовать:
- Расширение виртуальной машины Key Vault, которое обеспечивает автоматическое обновление сертификатов, хранящихся в Azure Key Vault. Для получения дополнительной информации см.:
- Расширение Key Vault для виртуальной машины под управлением Windows
- расширение виртуальной машины Key Vault для Linux
- расширение виртуальной машины Key Vault для серверов с поддержкой Azure Arc
- Интеграция с Служба приложений Azure, которая позволяет импортировать и автоматически обновлять сертификаты из Key Vault. Дополнительные сведения см. в разделе Импорт сертификата из Key Vault.
Для секретов можно использовать:
- Секреты из Key Vault с параметрами приложений App Service. Дополнительные сведения см. в статье Использование ссылок Key Vault для службы приложений и Функции Azure.
- Использование ссылок на Key Vault с Конфигурация приложений Azure, чтобы упростить доступ вашего приложения к конфигурациям и секретам. Дополнительные сведения см. в использование ссылок Key Vault в Конфигурация приложений Azure.
Примеры кода
Полные примеры использования Key Vault с приложениями см. в Azure Key Vault примерах кода.
Руководство по конкретным задачам
В следующих статьях и сценариях содержатся рекомендации по работе с Azure Key Vault.
- Для доступа к хранилищу ключей необходимо, чтобы клиентское приложение имело доступ к нескольким конечным точкам, требуемым для различных функций. См. Доступ к Key Vault за брандмауэром.
- Для облачного приложения, работающего в Azure виртуальной машине, требуется сертификат. Как перенести этот сертификат на виртуальную машину? Расширение виртуальной машины Key Vault для Windows или Linux.
- Чтобы назначить политику доступа с помощью Azure CLI, PowerShell или портала Azure, см. статью Назначение политики доступа Key Vault.
- См. статью Azure Key Vault: управление восстановлением с обратимым удалением и защитой от удаления для получения рекомендаций по использованию и жизненному циклу хранилища ключей и различных объектов хранилища ключей с поддержкой обратимого удаления.
- Если необходимо передать безопасное значение (например, пароль) в качестве параметра во время развертывания, вы можете сохранить это значение в качестве секрета в хранилище ключей и ссылаться на это значение в других шаблонах Resource Manager. См. раздел Use Azure Key Vault для передачи безопасных значений параметров во время развертывания.
Интеграция с Key Vault
Следующие службы и сценарии используют или интегрируются с Key Vault:
- Шифрование неактивных данных — это кодирование (шифрование) данных при хранении. Ключи шифрования данных часто шифруются ключом шифрования ключей в Azure Key Vault для дальнейшего ограничения доступа.
- Azure Information Protection позволяет управлять собственным ключом клиента. Например, вместо Майкрософт управления ключом клиента (по умолчанию) можно управлять собственным ключом клиента, чтобы соответствовать определенным правилам, применимым к вашей организации. Управление собственным ключом арендатора также называется BYOK.
- Приватный канал Azure позволяет получать доступ к службам Azure (например, Azure Key Vault, служба хранилища Azure и Azure Cosmos DB) и Azure размещенным службам клиентов или партнеров через частную конечную точку в виртуальной виртуальной Сети.
- интеграция Key Vault с Сетка событий Azure позволяет пользователям получать уведомления о состоянии секрета, хранящегося в Key Vault. Вы можете распространять новые версии секретов в приложения или выполнять смену секретов с истекающим сроком действия, чтобы предотвратить простои.
- Защита секретов Azure DevOps от нежелательного доступа в Key Vault.
- Используйте секреты, хранящиеся в Key Vault, чтобы подключиться к служба хранилища Azure из Azure Databricks.
- Настройте и запустите поставщик Azure Key Vault для CSI-драйвера Secrets Store в Kubernetes.
Аварийное восстановление и непрерывность бизнес-процессов
Key Vault обеспечивает встроенное аварийное восстановление с автоматической региональной репликацией. Для рабочих развертываний включите мягкое удаление и защиту от окончательного удаления, и реализуйте регулярные резервные копии. Дополнительные сведения см. в разделе о доступности и избыточности Azure Key Vault, управлении восстановлением Azure Key Vault и резервном копировании Azure Key Vault.
Производительность и масштабируемость
При разработке приложений, использующих Key Vault, рассмотрите следующие рекомендации по производительности и масштабируемости:
- Лимиты службы: Key Vault имеет лимиты службы для транзакций на хранилище и на регион. Превышение этих ограничений приводит к ограничению скорости. Дополнительные сведения см. в разделе Azure Key Vault ограничения службы.
- Руководство по регулированию. Реализация логики повторных попыток с экспоненциальным обратным выходом для обработки ответов регулирования. Дополнительные сведения см. в руководстве по ограничению запросов Azure Key Vault.
- Caching: кэшируйте секреты и сертификаты в приложении, чтобы уменьшить количество вызовов Key Vault и повысить производительность.
- Управление подключениями: повторное использование HTTP-подключений к Key Vault, чтобы уменьшить задержку и повысить производительность.
Мониторинг и ведение журнала
Включите ведение журнала и мониторинг для обеспечения безопасности, соответствия требованиям и устранения неполадок. Настройте параметры диагностики, уведомления сетки событий и оповещения для критических событий. Подробные инструкции см. в разделе Мониторинг Azure Key Vault, Ведение журнала Azure Key Vault, Мониторинг Key Vault с помощью Сетка событий Azure и Защита вашего Azure Key Vault: ведение журнала и обнаружение угроз.
Общие параметры и шаблоны запросов
При работе с REST API Key Vault полезно понимать общие параметры и шаблоны запросов и ответов:
- Версии API: Key Vault использует версии API. Всегда указывайте версию API в запросах.
- Запросы проверки подлинности. Узнайте, как получаются и используются маркеры проверки подлинности, включая распространенные заголовки запросов и форматы ответов. Дополнительные сведения см. в разделе "Проверка подлинности", "Запросы" и "Ответы".
- Коды ошибок. Ознакомьтесь с общими кодами ошибок REST API для корректной обработки сбоев. Дополнительные сведения см. в разделе Azure Key Vault коды ошибок REST API.
Устранение неполадок
Чтобы устранить распространенные проблемы, выполните приведенные ниже действия.
- Ошибки отказа в доступе: проверьте ваши учетные данные аутентификации и убедитесь, что у вашего субъекта безопасности есть необходимые разрешения через назначения RBAC. См. система Azure RBAC для операций в плоскости данных Key Vault.
- Сетевое подключение: Если доступ к Key Vault из-за брандмауэра, убедитесь, что необходимые точки доступа доступны. См. Доступ к Key Vault за брандмауэром.
- Регулирование: при получении ответов 429 (Слишком много запросов) реализуйте экспоненциальную паузу. См. рекомендации по ограничению скорости для Azure Key Vault.
Рекомендации по обеспечению безопасности
Полные рекомендации по безопасности, включая управление удостоверениями и доступом, защиту данных, соответствие, управление и резервные копии, см. в статье Secure Azure Key Vault.
Дополнительные ресурсы
Основные концепции Key Vault
- Azure Key Vault основные понятия — базовые концепции для работы с Key Vault.
- Обзор мягкого удаления в Azure Key Vault — восстановление удаленных объектов.
- руководство по регулированию Azure Key Vault — основные понятия и подход для приложения.
- Azure Key Vault миры безопасности и географические границы — региональные и отношения безопасности.
- Azure Key Vault ограничения службы — ограничения транзакций и другие ограничения службы.
Управление и операции
- Monitor Azure Key Vault — настройка мониторинга и диагностики.
- ведение журнала Azure Key Vault — включение и анализ журналов Azure Key Vault.
Сообщество и поддержка
Microsoft Q& A — задавать вопросы и получать ответы от сообщества.Stack Overflow для Key Vault - Технические вопросы и ответы от разработчиков.- Azure Отзывы — отправка запросов на добавление функций и обратной связи.