Использование ключей, управляемых клиентом, с Машинным обучением Azure

В статье о ключах, управляемых клиентом, вы узнали о возможностях шифрования, предоставляемых Машинным обучением Azure. Сведения об использовании ключей, управляемых клиентом, с Машинным обучением Azure.

Машинное обучение Azure использует следующие службы, использующие ключи, управляемые клиентом:

Service Назначение
Azure Cosmos DB Хранит метаданные для Машинного обучения Azure
Поиск с использованием ИИ Azure Хранит метаданные рабочей области для Машинного обучения Azure
Хранилище Azure Хранит метаданные рабочей области для Машинного обучения Azure
Служба Azure Kubernetes Узлы обученных моделей в качестве конечных точек вывода

Вы используете тот же ключ для защиты Azure Cosmos DB, поиска ИИ Azure и служба хранилища Azure. Для Служба Azure Kubernetes можно использовать другой ключ.

При использовании управляемого клиентом ключа с Azure Cosmos DB, поиска ИИ Azure и служба хранилища Azure ключ предоставляется при создании рабочей области. Ключ, используемый с Служба Azure Kubernetes, предоставляется при настройке этого ресурса.

Service Назначение
Azure Cosmos DB Хранит метаданные для Машинного обучения Azure
Поиск с использованием ИИ Azure Хранит метаданные рабочей области для Машинного обучения Azure
Хранилище Azure Хранит метаданные рабочей области для Машинного обучения Azure
Служба Azure Kubernetes Узлы обученных моделей в качестве конечных точек вывода
Экземпляры контейнеров Azure Узлы обученных моделей в качестве конечных точек вывода

Вы используете тот же ключ для защиты Azure Cosmos DB, поиска ИИ Azure и служба хранилища Azure. Для Служба Azure Kubernetes и Экземпляры контейнеров Azure можно использовать другой ключ.

При использовании управляемого клиентом ключа с Azure Cosmos DB, поиска ИИ Azure и служба хранилища Azure ключ предоставляется при создании рабочей области. Ключи, используемые с Экземпляры контейнеров Azure и Служба Azure Kubernetes, предоставляются при настройке этих ресурсов.

Необходимые компоненты

  • Подписка Azure.

  • Должны быть зарегистрированы следующие поставщики ресурсов Azure.

    Поставщик ресурсов Роль
    Microsoft.MachineLearningServices Создание рабочей области машинного обучения Azure.
    Microsoft.Storage; Учетная запись службы хранилища используется в качестве хранилища данных по умолчанию для рабочей области.
    Microsoft.KeyVault Azure Key Vault используется рабочей областью для хранения секретов.
    Microsoft.DocumentDB Экземпляр Azure Cosmos DB, который регистрирует метаданные для рабочей области.
    Microsoft.Search Поиск ИИ Azure предоставляет возможности индексирования для рабочей области.

    Сведения о регистрации поставщиков ресурсов см. в статье Устранение ошибок регистрации поставщика ресурсов.

Ограничения

  • После создания рабочей области ключ шифрования, управляемый клиентом, для ресурсов, от которой зависит рабочая область, можно обновить только до другого ключа в исходном ресурсе Azure Key Vault.
  • Ресурсы, управляемые корпорацией Майкрософт в вашей подписке, не могут передавать вам права владения.
  • Вы не можете удалить управляемые корпорацией Майкрософт ресурсы, используемые для управляемых клиентом ключей, без удаления рабочей области.
  • Хранилище ключей, содержащее ключ, управляемый клиентом, должно находиться в той же подписке Azure, что и рабочая область Машинное обучение Azure.
  • Диск ОС вычислений машинного обучения не может быть зашифрован с помощью ключа, управляемого клиентом, но может быть зашифрован с помощью ключа, управляемого Корпорацией Майкрософт, если рабочая область создана с hbi_workspace набором TRUEпараметров. Дополнительные сведения см. в разделе "Шифрование данных".

Внимание

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

Создание хранилища Azure Key Vault

Сведения о создании хранилища ключей см. в разделе Создание хранилища ключей. При создании Azure Key Vault необходимо включить обратимое удаление и защиту от удаления.

Внимание

Хранилище ключей должно находиться в той же подписке Azure, которая будет содержать рабочую область Машинное обучение Azure.

Создание ключа

Совет

Если у вас возникли проблемы при создании ключа, это может быть вызвано элементами управления доступом на основе ролей Azure, которые были применены в вашей подписке. Убедитесь, что субъекту безопасности (пользователю, управляемому удостоверению, субъекту-службе и т. д.), который вы используете для создания ключа, назначена роль Участник для экземпляра хранилища ключей. Кроме того, необходимо настроить политику доступа в хранилище ключей, которое предоставляет субъекту безопасности разрешения на Создание, Получение, Удаление и Очистку.

Если вы планируете использовать назначаемое пользователем управляемое удостоверение для рабочей области, управляемому удостоверению также должны быть назначены эти роли и политики доступа.

Дополнительные сведения см. в следующих статьях:

  1. На портале Azure выберите нужный экземпляр хранилища ключей. Затем слева выберите Ключи.

  2. Выберите элемент + Создать или импортировать в верхней части страницы. Для создания ключа используйте следующие значения.

    • Установите для Параметры значение Создать.
    • Введите имя для ключа. Имя должно определять планируемое использование. Например, my-cosmos-key.
    • Задайте для параметра Тип ключа значение RSA.
    • Рекомендуется выбрать не менее 3072 для размера ключа RSA.
    • В поле Включено выберите значение "‎Да"‎.

    При необходимости можно задать дату активации, дату окончания срока действия и теги.

  3. Щелкните Создать, чтобы создать ключ.

Разрешение доступа Azure Cosmos DB к ключу

  1. Чтобы настроить хранилище ключей, выберите его на портале Azure, а затем выберите Политики доступа в меню слева.
  2. Чтобы создать разрешения для Azure Cosmos DB, выберите + Создать в верхней части страницы. В разделе Разрешения ключей выберите разрешения Получение, Упаковка ключа и Распаковка ключа.
  3. В разделе Субъект найдите Azure Cosmos DB, а затем выберите его. Идентификатор субъекта для этой записи — a232010e-820c-4083-83bb-3ace5fc29d0b для всех регионов, кроме Azure для государственных организаций. Для Azure для государственных организаций идентификатором субъекта является 57506a73-e302-42a9-b869-6f12d9ec29e9.
  4. Выберите Просмотр и создание, а затем нажмите кнопку Создать.

Создание рабочей области, использующей управляемый клиентом ключ

Создайте рабочую область Машинного обучения Azure. При создании рабочей области необходимо выбрать Azure Key Vault и ключ. В зависимости от способа создания рабочей области эти ресурсы указываются различными способами.

Предупреждение

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

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

  • Шаблоны пакета SDK, REST API и Azure Resource Manager: укажите идентификатор Azure Resource Manager для хранилища ключей и URL-адрес ключа. Чтобы получить эти значения, используйте Azure CLI и следующие команды:

    # Replace `mykv` with your key vault name.
    # Replace `mykey` with the name of your key.
    
    # Get the Azure Resource Manager ID of the key vault
    az keyvault show --name mykv --query id
    # Get the URL for the key
    az keyvault key show --vault-name mykv -n mykey --query key.kid
    

    Значение идентификатора хранилища ключей будет аналогично /subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv. URL-адрес для ключа будет аналогичен https://mykv.vault.azure.net/keys/mykey/{GUID}.

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

Метод создания Статья
CLI Создание рабочей области с помощью Azure CLI
Портал Azure или
пакет SDK для Python
Создание рабочей области и управление ею
Шаблон
Azure Resource Manager
Создание рабочей области с помощью шаблона
REST API Создание, запуск и удаление ресурсов Машинное обучение Azure с помощью REST

После создания рабочей области вы заметите, что в подписке создана группа ресурсов Azure. Эта группа является дополнением к группе ресурсов для вашей рабочей области. Эта группа ресурсов будет содержать ресурсы, управляемые Майкрософт, с которыми используется ваш ключ. Группа ресурсов будет названа по формуле <Azure Machine Learning workspace resource group name><GUID>. Он будет содержать экземпляр Azure Cosmos DB, служба хранилища Azure учетную запись и поиск ИИ Azure.

Совет

  • Единицы запроса для экземпляра Azure Cosmos DB автоматически масштабируются по мере необходимости.
  • Если ваша рабочая область Машинного обучения Azure использует частную конечную точку, эта группа ресурсов также будет содержать виртуальную сеть Azure, управляемую корпорацией Майкрософт. Эта виртуальная сеть используется для защиты обмена данными между управляемыми службами и рабочей областью. Вы не можете предоставить собственную виртуальную сеть для использования с ресурсами, управляемыми корпорацией Майкрософт. Вы также не можете изменить виртуальную сеть. Например, нельзя изменить используемый диапазон IP-адресов.

Внимание

Если в вашей подписке недостаточно квоты для этих служб, произойдет сбой.

Предупреждение

Не удаляйте группу ресурсов, содержащую этот экземпляр Azure Cosmos DB, и любые ресурсы, автоматически созданные в этой группе. Если вам нужно удалить группу ресурсов или управляемые корпорацией Майкрософт службы в ней, необходимо удалить рабочую область службы "Машинное обучение Azure", в которой она используется. Ресурсы группы ресурсов удаляются при удалении связанной рабочей области.

Дополнительные сведения о ключах, управляемых клиентом, с помощью Azure Cosmos DB см. в статье "Настройка ключей, управляемых клиентом" для учетной записи Azure Cosmos DB.

Экземпляр контейнеров Azure

Внимание

Развертывание в Экземпляры контейнеров Azure недоступно в пакете SDK или CLI версии 2. Только через пакет SDK и CLI версии 1.

При развертывании обученной модели в экземпляре контейнера Azure (ACI) можно зашифровать развернутый ресурс с помощью управляемого клиентом ключа. Сведения о создании ключа см. в разделе Создание ключа.

Чтобы использовать ключ при развертывании модели в экземпляре контейнера Azure, создайте конфигурацию развертывания с помощью AciWebservice.deploy_configuration(). Укажите основные сведения, используя следующие параметры:

  • cmk_vault_base_url: URL-адрес хранилища ключей, содержащего ключ.
  • cmk_key_name: имя ключа.
  • cmk_key_version: версия ключа.

Дополнительные сведения о создании и использовании конфигурации развертывания см. в следующих статьях:

Служба Azure Kubernetes

Развернутый ресурс Службы Azure Kubernetes можно зашифровать с помощью управляемых клиентом ключей в любое время. Дополнительные сведения см. в статье Использование собственных ключей (BYOK) с помощью Службы Azure Kubernetes (AKS).

Этот процесс позволяет шифровать данные и диск операционной системы развернутых виртуальных машин в кластере Kubernetes.

Внимание

Он работает только с AKS K8s версии 1.17 или выше.

Следующие шаги