Руководство разработчика Azure Key Vault
Azure Key Vault обеспечивает безопасный доступ к конфиденциальной информации из приложений.
- Ключи, секреты и сертификаты защищены без необходимости самостоятельно писать код, и их можно легко использовать из приложений.
- Вы можете предоставить клиентам возможность самостоятельно и управлять собственными ключами, секретами и сертификатами, чтобы вы могли сосредоточиться на предоставлении основных функций программного обеспечения. В этом случае ваши приложения не будут отвечать за ключи, секреты и сертификаты клиентов.
- Ваше приложение может использовать ключи для подписания и шифрования, но осуществляет управление ключами во внешней среде. См. сведения о ключах.
- Вы можете управлять учетными данными, такими как пароли, ключи доступа и маркеры SAS, храня их в Key Vault в виде секретов. См. сведения о секретах.
- Управление сертификатами. См. сведения о сертификатах.
См. общие сведения об Azure Key Vault.
Общедоступные предварительные версии
Периодически мы выпускаем общедоступные предварительные версии нового компонента Key Vault. Предлагаем вам протестировать функции общедоступной предварительной версии и отправить отзыв по нашему адресу электронной почты для обратной связи: azurekeyvault@microsoft.com.
Создание хранилищ ключей и управление ими
Управление Key Vault, как и другими службами Azure, осуществляется с помощью Azure Resource Manager. Azure Resource Manager — это служба развертывания и управления для Azure. С ее помощью можно создавать, обновлять и удалять ресурсы в учетной записи Azure.
Управление доступом на основе ролей Azure (RBAC) позволяет контролировать доступ на уровне управления, также известном как плоскость управления. Плоскость управления используется в Key Vault для создания хранилищ ключей и их атрибутов, включая политики доступа, и управления ими. Плоскость данных используется для управления ключами, сертификатами и секретами.
Для предоставления доступа для управления к Key Vault можно использовать стандартную роль участника Key Vault.
Интерфейсы API и пакеты SDK для управления хранилищем ключей
Azure CLI | PowerShell | REST API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы | Справочные материалы Краткое руководство |
Справочные материалы | Справочные материалы | Справочные материалы | Справочные материалы |
См. раздел Клиентские библиотеки, где описаны пакеты установки и исходный код.
Проверка подлинности для использования Key Vault в коде
Key Vault использует проверку подлинности Microsoft Entra, которая требует, чтобы субъект безопасности Microsoft Entra предоставил доступ. Субъект безопасности Microsoft Entra может быть пользователем, субъектом-службой приложений, управляемым удостоверением для ресурсов Azure или группой любого из этих типов.
Рекомендации по работе с проверкой подлинности
Мы рекомендуем использовать управляемое удостоверение для приложений, развернутых в Azure. Если вы используете службы Azure, которые не поддерживают управляемые удостоверения, или приложения развертываются локально, то возможной альтернативой является субъект-служба с сертификатом. В этом случае сертификат должен храниться в Key Vault и часто сменяться.
Используйте субъект-службу с секретом для сред разработки и тестирования. Используйте основное имя пользователя для локальной разработки и облачной оболочки Azure.
Мы рекомендуем применять приведенные ниже субъекты безопасности в соответствующей среде:
- рабочая среда: управляемое удостоверение или субъект-служба с сертификатом;
- среды тестирования и разработки: управляемое удостоверение, субъект-служба с сертификатом или субъект-служба с секретом;
- локальная разработка: субъект-пользователь или субъект-служба с секретом.
Клиентские библиотеки удостоверений Azure
Описанные выше сценарии проверки подлинности поддерживаются клиентской библиотекой удостоверений Azure и интегрируются с пакетами SDK для Key Vault. Вы можете использовать клиентскую библиотеку удостоверений Azure в разных средах и на разных платформах, не изменяя свой код. Эта библиотека автоматически получает маркеры проверки подлинности от пользователей, которые вошли в Azure с помощью Azure CLI, Visual Studio, Visual Studio Code или других средств.
Дополнительные сведения о клиентской библиотеке удостоверений Azure:
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK для .NET | Azure Identity SDK для Python | Azure Identity SDK для Java | Azure Identity SDK для JavaScript |
Примечание.
Мы рекомендовали использовать библиотеку проверки подлинности приложений для пакета SDK .NET для Key Vault версии 3, но она больше не рекомендуется. Следуйте указаниям в руководстве по переходу с AppAuthentication на Azure.Identity, чтобы перейти на использование пакета SDK .NET для Key Vault версии 4.
Учебные материалы о проверке подлинности в 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 и выпускаются в расписании команд.
Плоскость данных служит для управления доступом к ключам, сертификатам и секретам. Вы можете использовать локальные политики доступа к хранилищу или Azure RBAC для управления доступом посредством плоскости данных.
Интерфейсы API и пакеты SDK для ключей
Azure CLI | PowerShell | REST API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы | Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Прочие библиотеки
Клиент шифрования для Key Vault и управляемого HSM
Этот модуль предоставляет клиент шифрования для клиентского модуля ключей Azure Key Vault для Go.
Примечание.
Этот проект не поддерживается командой azure SDK, но соответствует клиентам шифрования на других поддерживаемых языках.
Язык | Справочные материалы |
---|---|
Go | Справочные материалы |
Интерфейсы API и пакеты SDK для сертификатов
Azure CLI | PowerShell | REST API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы | Н/П | Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Интерфейсы API и пакеты SDK для секретов
Azure CLI | PowerShell | REST API | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы | Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Справочные материалы Краткое руководство |
Использование секретов
Используйте Azure Key Vault, чтобы хранить только секреты для приложения. Примеры секретов, которые должны храниться в Key Vault:
- секреты клиентских приложений;
- Строки подключения
- Passwords
- Ключи общего доступа
- Ключи SSH
Любые сведения о секретах, такие как имена пользователей и идентификаторы приложений, можно хранить как теги в секрете. Для других конфиденциальных параметров конфигурации следует использовать Конфигурацию приложений Azure.
Ссылки
См. раздел Клиентские библиотеки, где описаны пакеты установки и исходный код.
Сведения о безопасности плоскости данных для Key Vault см. в статье Функции безопасности Azure Key Vault.
Использование Key Vault в приложениях
Чтобы воспользоваться последними функциями Key Vault, мы рекомендуем использовать доступные пакеты SDK для Key Vault. Это позволит использовать секреты, сертификаты и ключи в приложении. Пакеты SDK и REST API для Key Vault обновляются по мере выпуска новых функций для продукта, и они соответствуют рекомендациям и руководствам.
Для основных сценариев существуют другие библиотеки и решения для интеграции, которые проще использовать. Их поддержку обеспечивают партнеры корпорации Майкрософт или сообщества разработчиков решений с открытым кодом.
Для сертификатов можно использовать:
- Расширение виртуальной машины Key Vault, которое обеспечивает автоматическое обновление сертификатов, хранящихся в Azure Key Vault. Для получения дополнительной информации см.
- Интеграция Службы приложений Azure, которая позволяет импортировать и автоматически обновлять сертификаты из Key Vault. Дополнительные сведения см. в разделе Импорт сертификата из Key Vault.
Для секретов можно использовать:
- Секреты Key Vault с параметрами приложения Службы приложений. Дополнительные сведения см. в статье Использование ссылок на Key Vault в Службе приложений и Функциях Azure.
- Ссылки на Key Vault с Конфигурация приложений Azure упрощают доступ приложения к конфигурации и секретам. Дополнительные сведения см. в разделе "Использование ссылок Key Vault" в Конфигурация приложений Azure.
Примеры кода
Полные примеры использования Key Vault с приложениями см. в разделе примеров кода для Azure Key Vault.
Руководство по конкретным задачам
В следующих статьях приводятся рекомендации по решению конкретных задач при работе с Azure Key Vault:
- Для доступа к хранилищу ключей необходимо, чтобы клиентское приложение имело доступ к нескольким конечным точкам, требуемым для различных функций. Ознакомьтесь с разделом Доступ к хранилищу ключей под защитой брандмауэра.
- Облачному приложению, которое работает на виртуальной машине Azure, требуется сертификат. Как перенести этот сертификат на виртуальную машину? Ознакомьтесь с разделами Расширение виртуальной машины Key Vault для Windows и Расширение виртуальной машины Key Vault для Linux.
- Чтобы назначить политику доступа с помощью Azure CLI, PowerShell или портала Azure, изучите раздел Назначение политики доступа Key Vault.
- Руководство по использованию и жизненному циклу хранилища ключей и различных объектов хранилища ключей с поддержкой обратимого удаления см. в разделе Управление восстановлением Azure Key Vault с обратимым удалением и защитой от очистки.
- Если в процессе развертывания в качестве параметра необходимо передать безопасное значение (например, пароль), его можно сохранить как секретный в хранилище ключей и вставить ссылку на это значение в другие шаблоны Resource Manager. Ознакомьтесь с разделом Использование Azure Key Vault для передачи защищенного значения параметра во время развертывания.
Интеграция с 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 хранилища секретов в Kubernetes.
Основные сведения о Key Vault
Дополнительная информация:
- Описание функции, которая позволяет восстанавливать случайно или намеренно удаленные объекты: Общие сведения о функции обратимого удаления в Azure Key Vault.
- Основные понятия регулирования и разработки подходов к приложению приведены в разделе Руководство по регулированию хранилища ключей Azure.
- Связи между регионами и областями безопасности описаны в разделе Системы безопасности и географические ограничения Azure Key Vault.