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


Использование переменных среды для секретов Azure Key Vault

Переменные среды позволяют ссылаться на секреты, хранящиеся в Azure Key Vault. Затем эти секреты становятся доступными для использования в потоках Power Automate и нестандартных соединителях. Обратите внимание, что секреты недоступны для использования в других настройках или вообще через API-интерфейсы.

Фактические секреты хранятся в Azure Key Vault, а переменная среды ссылается на расположение секретов Key Vault. Для использования секретов Azure Key Vault с переменными среды необходимо настроить Azure Key Vault так, чтобы Power Platform могла прочитать конкретные секреты, на которые вы хотите сослаться.

Переменные среды, ссылающиеся на секреты, в настоящее время недоступны из селектора динамического содержимого для использования в потоках Power Automate .

Настройка Azure Key Vault

Чтобы использовать секреты Azure Key Vault с Power Platform, подписка Azure, в которой есть хранилище, должна иметь PowerPlatform зарегистрированного поставщика ресурсов, а пользователь, создающий переменную среды, должен иметь соответствующие разрешения на ресурс Azure Key Vault.

Внимание!

  • Недавно были внесены изменения в роль безопасности, используемый для утверждения разрешений доступа в хранилище ключей Azure. Предыдущие инструкции включали назначение роли читателя Key Vault. Если вы ранее настроили хранилище ключей с ролью Key Vault Читатель, обязательно добавьте роль пользователя Key Vault Secrets, чтобы гарантировать, что ваши пользователи и Microsoft Dataverse имеют достаточные разрешения для извлечения секретов.
  • Мы понимаем, что наша служба использует API-интерфейсы управления доступом на основе ролей Azure для оценки назначения ролей безопасности, даже если ваше хранилище ключей по-прежнему настроено на использование модели разрешений политики доступа к хранилищу. Чтобы упростить настройку, рекомендуется переключить модель разрешений хранилища на управление доступом на основе ролей Azure. Это можно сделать на вкладке Конфигурация доступа .
  1. Зарегистрируйте Microsoft.PowerPlatform поставщика ресурсов в своей подписке Azure. Выполните следующие шаги для проверки и настройки: Поставщики ресурсов и типы ресурсов

    Зарегистрируйте Power Platform провайдера в Azure

  2. Создайте хранилище Azure Key Vault. Рассмотрите возможность использования отдельного хранилища для каждой среды Power Platform, чтобы свести к минимуму угрозу в случае нарушения. Рассмотрите возможность настройки хранилища ключей для использования Azure управления доступом на основе ролей для модели разрешений. Дополнительная информация: Рекомендации по использованию Azure Key Vault, Быстрый старт — создание Azure Key Vault с помощью портала Azure

  3. Пользователи, создающие или использующие переменные среды типа "секрет", должны иметь разрешение на извлечение содержимого секрета. Чтобы предоставить новому пользователю возможность использовать секрет, выберите область Управление доступом (IAM) , выберите Добавить, а затем выберите Добавить назначение роли из раскрывающегося списка. Дополнительная информация: Предоставьте доступ к ключам, сертификатам и секретам Key Vault с помощью управления доступом на основе ролей Azure

    Просмотреть мой доступ в Azure

  4. В мастере Добавления назначения роли оставьте тип назначения по умолчанию как Роли должностной функции и перейдите на вкладку Роль . Найдите роль Пользователь Key Vault Secrets и выберите ее. Перейдите на вкладку «Участники», выберите ссылку Выбрать участников и найдите пользователя на боковой панели. Когда пользователь будет выбран и отобразится в разделе участников, перейдите на вкладку проверки и назначения и завершите шаги мастера.

  5. Azure Key Vault должен иметь роль Key Vault Secrets User , предоставленную субъекту-службе. Dataverse Если политика доступа не существует для этого хранилища, добавьте новую политику доступа, используя тот же метод, который использовался ранее для разрешения конечного пользователя, только с использованием идентификатора приложения Dataverse вместо пользователя. Если в вашем клиенте есть несколько субъектов-служб Dataverse, рекомендуется выбрать их все и сохранить назначение ролей. После назначения роли проверьте каждый элемент Dataverse, указанный в списке назначений ролей, и выберите имя Dataverse, чтобы просмотреть подробные сведения. Если идентификатор приложения не 00000007-0000-0000-c000-000000000000**, выберите идентификатор, а затем выберите Удалить , чтобы удалить его из списка.

  6. Если вы включили Azure Key Vault Firewall, вам необходимо разрешить Power Platform IP-адресам доступ к вашему хранилищу ключей. Power Platform не включен в параметр «Только доверенные службы». Перейдите по ссылке Power Platform URL-адреса и диапазоны IP-адресов , чтобы узнать текущие IP-адреса, используемые в службе.

  7. Если вы еще этого не сделали, добавьте секрет в новое хранилище. Дополнительная информация: Azure Быстрый старт — установка и извлечение секрета из Key Vault с помощью портала Azure

Создание новой переменной среды для секрета Key Vault

После того как хранилище Azure Key Vault настроено и у вас есть секрет, зарегистрированный в вашем хранилище, вы можете ссылаться на него в Power Apps, используя переменную окружения.

Заметка

  • Проверка доступа пользователя к секрету выполняется в фоновом режиме. Если у пользователя нет разрешения хотя бы на чтение, отображается следующая ошибка проверки: "Эта переменная не сохранилась надлежащим образом. У пользователя нет прав на чтение секретов из «путь Azure Key Vault»."
  • В настоящее время Azure Key Vault — единственное хранилище секретов, которое поддерживается с переменными среды.
  • Azure Key Vault должен находиться в том же клиенте, что и подписка Power Platform.
  1. Войдите в систему Power Apps и в разделе Решения откройте неуправляемое решение, которое вы используете для разработки.

  2. Выберите Новый>Дополнительно>Переменная среды.

  3. Введите отображаемое имя и, при желании, Описание для переменной среды.

  4. Выберите тип данных как секретный и секретное хранилище as Azure Key Vault.

  5. Выберите один из следующих параметров:

    • Выберите Новую ссылку на значение хранилища ключей Azure. После добавления информации в следующий шаг и сохранения создается запись значение переменной среды.
    • Разверните Показать значение по умолчанию, чтобы отобразить поля для создания секрета хранилища ключей по умолчанию Azure. После добавления информации в следующий шаг и сохранения, в запись определения переменной среды добавляется разграничение значения по умолчанию.
  6. Введите следующие данные:

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

    • Имя группы ресурсов: Группа ресурсов Azure, в которой находится хранилище ключей, содержащее секрет.

    • Azure Имя хранилища ключей: Имя хранилища ключей, содержащего секрет.

    • Имя секрета: Имя секрета, расположенного в хранилище ключей Azure.

      Совет

      Идентификатор подписки, имя группы ресурсов и имя хранилища ключей можно найти на странице Обзор хранилища ключей портала Azure. Имя секрета можно найти на странице хранилища ключей на портале Azure, выбрав Секреты в разделе Параметры.

  7. Выберите Сохранить.

Создание потока Power Automate для проверки секрета переменной среды

Простой сценарий, демонстрирующий использование секрета, полученного из Azure Key Vault, заключается в создании потока Power Automate, чтобы использовать секрет для аутентификации в веб-службе.

Заметка

Универсальный код ресурса (URI) для веб-службы в этом примере не является действующей веб-службой.

  1. войдите в систему Power Apps, выберите Решения, а затем откройте нужное вам неуправляемое решение. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

  2. Выберите Создать>Автоматизация>Облачный поток>Мгновенный.

  3. Введите имя потока, выберите Вручную запустить поток, а затем выберите Создать.

  4. Выберите Новый шаг, выберите Microsoft Dataverse соединитель, а затем на вкладке Действия выберите Выполнить непривязанное действие.

  5. Выберите действие с именем RetrieveEnvironmentVariableSecretValue из раскрывающегося списка.

  6. Укажите уникальное имя переменной среды (не отображаемое имя), добавленное в предыдущем разделе, для этого примера используется new_TestSecret .

  7. Выберите ...>Переименовать , чтобы переименовать действие и упростить ссылку на него в следующем действии. На этом снимке экрана он переименован в GetSecret.

    Мгновенная конфигурация потока для тестирования секретной переменной среды

  8. Выберите ...>Настройки , чтобы отобразить настройки действия GetSecret .

  9. Включите опцию Безопасные выходы в настройках, а затем выберите Готово. Это делается для того, чтобы выходные данные действия не отображались в истории выполнения потока.

    Включить настройку безопасных выходов для действия

  10. Выберите Новый шаг, найдите и выберите HTTP коннектор.

  11. Выберите Метод как GET и введите URI для веб-службы. В этом примере используется вымышленный веб-сервис httpbin.org .

  12. Выберите Показать дополнительные параметры, выберите Аутентификацию как Базовую, а затем введите Имя пользователя.

  13. Выберите поле Пароль , а затем на вкладке Динамическое содержимое под именем потока шаг выше (GetSecret в этом примере) выберите RetrieveEnvironmentVariableSecretValueResponse EnvironmentVariableSecretValue, которое затем добавляется как выражение outputs('GetSecretTest')?['body/EnvironmentVariableSecretValue'] или body('GetSecretTest')['EnvironmentVariableSecretValue'].

    Создайте новый шаг с помощью HTTP-коннектора

  14. Выберите ...>Настройки , чтобы отобразить настройки действия HTTP .

  15. Включите параметры Безопасные входы и Безопасные выходы в настройках, а затем выберите Готово. Включение этих параметров обеспечивает, чтобы входные и выходные данные действия не отображались в истории выполнения потока.

  16. Выберите Сохранить , чтобы создать поток.

  17. Вручную выполните поток, чтобы проверить его.

    Используя историю выполнения потока, можно проверить выходные данные.

    Выходной поток

Используйте секреты переменных окружения в Microsoft Copilot Studio

Секреты переменных окружения в Microsoft Copilot Studio работают немного иначе. Вам необходимо выполнить шаги, описанные в разделах Настройка Azure Key Vault и Создание новой переменной среды для секрета Key Vault , чтобы использовать секреты с переменными среды.

Предоставьте Copilot Studio доступ к Azure Key Vault

Выполните следующие действия:

  1. Вернитесь в свое хранилище ключей Azure.

  2. Copilot Studio необходим доступ к хранилищу ключей. Чтобы предоставить Copilot Studio возможность использовать секрет, выберите Управление доступом (IAM) на левой навигационной панели, выберите Добавить, а затем выберите Добавить назначение роли.

    Просмотреть мой доступ в Azure

  3. Выберите роль Key Vault Secrets User , а затем нажмите Далее.

  4. Выберите Выбрать участников, найдите Power Virtual Agents Услугу, выберите ее, а затем выберите Выбрать.

  5. Выберите Обзор + назначение в нижней части экрана. Проверьте информацию и выберите Просмотреть + назначить еще раз, если все правильно.

Добавьте тег, чтобы разрешить помощник доступ к секрету в Azure Key Vault

Выполнив предыдущие шаги в этом разделе, Copilot Studio теперь у вас есть доступ к хранилищу ключей Azure, но вы пока не можете им воспользоваться. Для выполнения задачи выполните следующие действия:

  1. Перейдите по адресу Microsoft Copilot Studio и откройте агент, который вы хотите использовать для секретной переменной среды, или создайте новый.

  2. Откройте агент тема или создайте новый.

  3. Выберите значок + , чтобы добавить узел, а затем выберите Отправить сообщение.

  4. Выберите опцию Вставить переменную {x} в узле Отправить сообщение .

  5. Выберите вкладку Окружение . Выберите секрет переменной среды, созданный вами в Создание новой переменной среды для секрета Key Vault шаг.

  6. Выберите Сохранить , чтобы сохранить ваш тема.

  7. На тестовой панели проверьте ваш тема, используя одну из начальных фраз тема, куда вы только что добавили узел Отправить сообщение с секретной переменной среды. Вы должны столкнуться с ошибкой, которая выглядит примерно так:

    Сообщение об ошибке: бот не может использовать переменную окружения. Чтобы добавить бот в список разрешенных, добавьте тег 'AllowedBots' со значением.

    Это означает, что вам нужно вернуться в хранилище ключей Azure и отредактировать секрет. Оставьте Copilot Studio открытым, потому что вы вернетесь сюда позже.

  8. Перейдите в хранилище ключей Azure. В левой навигационной панели выберите Секреты в разделе Объекты. Выберите секрет, который вы хотите сделать доступным в Copilot Studio , выбрав его имя.

  9. Выберите версию секрета.

  10. Выберите 0 тегов рядом с Тегами. Добавьте Имя тега и Значение тега. Сообщение об ошибке в Copilot Studio должно предоставить вам точные значения этих двух свойств. В поле Имя тега необходимо добавить Разрешенные боты , а в поле Значение тега необходимо добавить значение, которое отображалось в сообщении об ошибке. Это значение форматируется как {envId}/{schemaName}. Если необходимо разрешить присутствие нескольких вторых пилотов, разделите значения запятой. При готовности выберите ОК.

  11. Выберите Применить , чтобы применить тег к секрету.

  12. Вернуться к Copilot Studio. Выберите Обновить на панели Проверка вашего помощник .

  13. На тестовой панели снова проверьте тема, используя одну из начальных фраз тема.

Ценность вашего секрета должна быть отображена на тестовой панели.

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

В качестве альтернативы вы можете разрешить всем вторым пилотам в среде доступ к секрету в хранилище ключей Azure. Для выполнения задачи выполните следующие действия:

  1. Перейдите в хранилище ключей Azure. В левой навигационной панели выберите Секреты в разделе Объекты. Выберите секрет, который вы хотите сделать доступным в Copilot Studio , выбрав его имя.
  2. Выберите версию секрета.
  3. Выберите 0 тегов рядом с Тегами. Добавьте Имя тега и Значение тега. В разделе Имя тега добавьте Разрешенные среды , а в разделе Значение тега добавьте идентификатор среды, которую вы хотите разрешить. Когда закончите, нажмите ОК
  4. Выберите Применить , чтобы применить тег к секрету.

Ограничение

Переменные среды, ссылающиеся на Azure Секреты Key Vault в настоящее время ограничены для использования с Power Automate потоками, Copilot Studio агентами и пользовательскими коннекторами.

См. также

Использование переменных среды источника данных в приложениях на основе холста
Использование переменных среды в облачных потоках решения Power Automate
Обзор переменных среды.