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

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

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

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

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

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

Примечание

  • Недавно мы изменили роль безопасности, которую мы используем для утверждения разрешений доступа в Azure Key Vault. Предыдущие инструкции включали назначение роли читателя Key Vault. Если вы ранее настроили хранилище ключей с ролью читателя Key Vault, убедитесь, что вы добавили роль пользователя секретов Key Vault, чтобы ваши пользователи и 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 и выберите ее. Перейдите на вкладку "Участники", перейдите по ссылке Выбрать участников и найдите пользователя на боковой панели. Когда пользователь будет выбран и отобразится в разделе участников, перейдите на вкладку проверки и назначения и завершите шаги мастера.

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

  6. Если вы включили Брандмауэр Azure Key Vault, вам придется разрешить IP-адресам в Power Platform доступ к хранилищу ключей. Power Platform не включен в параметр «Только доверенные службы». Следовательно, обратитесь к статье URL-адреса Power Platform и диапазоны 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. Выберите Тип данных как Секрет и Хранилище секретов как Azure Key Vault.

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

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

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

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

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

    • Имя секрета: имя секрета, хранящегося в Azure Key Vault.

      Совет

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

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

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

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

Примечание

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

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

  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. Вручную выполните поток, чтобы проверить его.

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

    Выходные данные потока

Ограничения

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

См. также

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

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).