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


Руководство разработчика 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 в приложениях см. в разделе:

Управление ключами, сертификатами и секретами

Примечание.

Пакеты 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 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

Дополнительная информация:

Соцсети