Использование переменных среды для секретов 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. Это можно сделать на вкладке Конфигурация доступа .
Зарегистрируйте
Microsoft.PowerPlatform
поставщика ресурсов в своей подписке Azure. Выполните следующие шаги для проверки и настройки: Поставщики ресурсов и типы ресурсовСоздайте хранилище Azure Key Vault. Рассмотрите возможность использования отдельного хранилища для каждой среды Power Platform, чтобы свести к минимуму угрозу в случае нарушения. Рассмотрите возможность настройки хранилища ключей для использования Azure управления доступом на основе ролей для модели разрешений. Дополнительная информация: Рекомендации по использованию Azure Key Vault, Быстрый старт — создание Azure Key Vault с помощью портала Azure
Пользователи, создающие или использующие переменные среды типа "секрет", должны иметь разрешение на извлечение содержимого секрета. Чтобы предоставить новому пользователю возможность использовать секрет, выберите область Управление доступом (IAM) , выберите Добавить, а затем выберите Добавить назначение роли из раскрывающегося списка. Дополнительная информация: Предоставьте доступ к ключам, сертификатам и секретам Key Vault с помощью управления доступом на основе ролей Azure
В мастере Добавления назначения роли оставьте тип назначения по умолчанию как Роли должностной функции и перейдите на вкладку Роль . Найдите роль Пользователь Key Vault Secrets и выберите ее. Перейдите на вкладку «Участники», выберите ссылку Выбрать участников и найдите пользователя на боковой панели. Когда пользователь будет выбран и отобразится в разделе участников, перейдите на вкладку проверки и назначения и завершите шаги мастера.
Azure Key Vault должен иметь роль Key Vault Secrets User , предоставленную субъекту-службе. Dataverse Если политика доступа не существует для этого хранилища, добавьте новую политику доступа, используя тот же метод, который использовался ранее для разрешения конечного пользователя, только с использованием идентификатора приложения Dataverse вместо пользователя. Если в вашем клиенте есть несколько субъектов-служб Dataverse, рекомендуется выбрать их все и сохранить назначение ролей. После назначения роли проверьте каждый элемент Dataverse, указанный в списке назначений ролей, и выберите имя Dataverse, чтобы просмотреть подробные сведения. Если идентификатор приложения не 00000007-0000-0000-c000-000000000000**, выберите идентификатор, а затем выберите Удалить , чтобы удалить его из списка.
Если вы включили Azure Key Vault Firewall, вам необходимо разрешить Power Platform IP-адресам доступ к вашему хранилищу ключей. Power Platform не включен в параметр «Только доверенные службы». Перейдите по ссылке Power Platform URL-адреса и диапазоны IP-адресов , чтобы узнать текущие IP-адреса, используемые в службе.
Если вы еще этого не сделали, добавьте секрет в новое хранилище. Дополнительная информация: Azure Быстрый старт — установка и извлечение секрета из Key Vault с помощью портала Azure
Создание новой переменной среды для секрета Key Vault
После того как хранилище Azure Key Vault настроено и у вас есть секрет, зарегистрированный в вашем хранилище, вы можете ссылаться на него в Power Apps, используя переменную окружения.
Заметка
- Проверка доступа пользователя к секрету выполняется в фоновом режиме. Если у пользователя нет разрешения хотя бы на чтение, отображается следующая ошибка проверки: "Эта переменная не сохранилась надлежащим образом. У пользователя нет прав на чтение секретов из «путь Azure Key Vault»."
- В настоящее время Azure Key Vault — единственное хранилище секретов, которое поддерживается с переменными среды.
- Azure Key Vault должен находиться в том же клиенте, что и подписка Power Platform.
Войдите в систему Power Apps и в разделе Решения откройте неуправляемое решение, которое вы используете для разработки.
Выберите Новый>Дополнительно>Переменная среды.
Введите отображаемое имя и, при желании, Описание для переменной среды.
Выберите тип данных как секретный и секретное хранилище as Azure Key Vault.
Выберите один из следующих параметров:
- Выберите Новую ссылку на значение хранилища ключей Azure. После добавления информации в следующий шаг и сохранения создается запись значение переменной среды.
- Разверните Показать значение по умолчанию, чтобы отобразить поля для создания секрета хранилища ключей по умолчанию Azure. После добавления информации в следующий шаг и сохранения, в запись определения переменной среды добавляется разграничение значения по умолчанию.
Введите следующие данные:
Azure Идентификатор подписки: Идентификатор подписки Azure, связанный с хранилищем ключей.
Имя группы ресурсов: Группа ресурсов Azure, в которой находится хранилище ключей, содержащее секрет.
Azure Имя хранилища ключей: Имя хранилища ключей, содержащего секрет.
Имя секрета: Имя секрета, расположенного в хранилище ключей Azure.
Совет
Идентификатор подписки, имя группы ресурсов и имя хранилища ключей можно найти на странице Обзор хранилища ключей портала Azure. Имя секрета можно найти на странице хранилища ключей на портале Azure, выбрав Секреты в разделе Параметры.
Выберите Сохранить.
Создание потока Power Automate для проверки секрета переменной среды
Простой сценарий, демонстрирующий использование секрета, полученного из Azure Key Vault, заключается в создании потока Power Automate, чтобы использовать секрет для аутентификации в веб-службе.
Заметка
Универсальный код ресурса (URI) для веб-службы в этом примере не является действующей веб-службой.
войдите в систему Power Apps, выберите Решения, а затем откройте нужное вам неуправляемое решение. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
Выберите Создать>Автоматизация>Облачный поток>Мгновенный.
Введите имя потока, выберите Вручную запустить поток, а затем выберите Создать.
Выберите Новый шаг, выберите Microsoft Dataverse соединитель, а затем на вкладке Действия выберите Выполнить непривязанное действие.
Выберите действие с именем RetrieveEnvironmentVariableSecretValue из раскрывающегося списка.
Укажите уникальное имя переменной среды (не отображаемое имя), добавленное в предыдущем разделе, для этого примера используется new_TestSecret .
Выберите ...>Переименовать , чтобы переименовать действие и упростить ссылку на него в следующем действии. На этом снимке экрана он переименован в GetSecret.
Выберите ...>Настройки , чтобы отобразить настройки действия GetSecret .
Включите опцию Безопасные выходы в настройках, а затем выберите Готово. Это делается для того, чтобы выходные данные действия не отображались в истории выполнения потока.
Выберите Новый шаг, найдите и выберите HTTP коннектор.
Выберите Метод как GET и введите URI для веб-службы. В этом примере используется вымышленный веб-сервис httpbin.org .
Выберите Показать дополнительные параметры, выберите Аутентификацию как Базовую, а затем введите Имя пользователя.
Выберите поле Пароль , а затем на вкладке Динамическое содержимое под именем потока шаг выше (GetSecret в этом примере) выберите RetrieveEnvironmentVariableSecretValueResponse EnvironmentVariableSecretValue, которое затем добавляется как выражение
outputs('GetSecretTest')?['body/EnvironmentVariableSecretValue']
илиbody('GetSecretTest')['EnvironmentVariableSecretValue']
.Выберите ...>Настройки , чтобы отобразить настройки действия HTTP .
Включите параметры Безопасные входы и Безопасные выходы в настройках, а затем выберите Готово. Включение этих параметров обеспечивает, чтобы входные и выходные данные действия не отображались в истории выполнения потока.
Выберите Сохранить , чтобы создать поток.
Вручную выполните поток, чтобы проверить его.
Используя историю выполнения потока, можно проверить выходные данные.
Используйте секреты переменных окружения в Microsoft Copilot Studio
Секреты переменных окружения в Microsoft Copilot Studio работают немного иначе. Вам необходимо выполнить шаги, описанные в разделах Настройка Azure Key Vault и Создание новой переменной среды для секрета Key Vault , чтобы использовать секреты с переменными среды.
Предоставьте Copilot Studio доступ к Azure Key Vault
Выполните следующие действия:
Вернитесь в свое хранилище ключей Azure.
Copilot Studio необходим доступ к хранилищу ключей. Чтобы предоставить Copilot Studio возможность использовать секрет, выберите Управление доступом (IAM) на левой навигационной панели, выберите Добавить, а затем выберите Добавить назначение роли.
Выберите роль Key Vault Secrets User , а затем нажмите Далее.
Выберите Выбрать участников, найдите Power Virtual Agents Услугу, выберите ее, а затем выберите Выбрать.
Выберите Обзор + назначение в нижней части экрана. Проверьте информацию и выберите Просмотреть + назначить еще раз, если все правильно.
Добавьте тег, чтобы разрешить помощник доступ к секрету в Azure Key Vault
Выполнив предыдущие шаги в этом разделе, Copilot Studio теперь у вас есть доступ к хранилищу ключей Azure, но вы пока не можете им воспользоваться. Для выполнения задачи выполните следующие действия:
Перейдите по адресу Microsoft Copilot Studio и откройте агент, который вы хотите использовать для секретной переменной среды, или создайте новый.
Откройте агент тема или создайте новый.
Выберите значок + , чтобы добавить узел, а затем выберите Отправить сообщение.
Выберите опцию Вставить переменную {x} в узле Отправить сообщение .
Выберите вкладку Окружение . Выберите секрет переменной среды, созданный вами в Создание новой переменной среды для секрета Key Vault шаг.
Выберите Сохранить , чтобы сохранить ваш тема.
На тестовой панели проверьте ваш тема, используя одну из начальных фраз тема, куда вы только что добавили узел Отправить сообщение с секретной переменной среды. Вы должны столкнуться с ошибкой, которая выглядит примерно так:
Это означает, что вам нужно вернуться в хранилище ключей Azure и отредактировать секрет. Оставьте Copilot Studio открытым, потому что вы вернетесь сюда позже.
Перейдите в хранилище ключей Azure. В левой навигационной панели выберите Секреты в разделе Объекты. Выберите секрет, который вы хотите сделать доступным в Copilot Studio , выбрав его имя.
Выберите версию секрета.
Выберите 0 тегов рядом с Тегами. Добавьте Имя тега и Значение тега. Сообщение об ошибке в Copilot Studio должно предоставить вам точные значения этих двух свойств. В поле Имя тега необходимо добавить Разрешенные боты , а в поле Значение тега необходимо добавить значение, которое отображалось в сообщении об ошибке. Это значение форматируется как
{envId}/{schemaName}
. Если необходимо разрешить присутствие нескольких вторых пилотов, разделите значения запятой. При готовности выберите ОК.Выберите Применить , чтобы применить тег к секрету.
Вернуться к Copilot Studio. Выберите Обновить на панели Проверка вашего помощник .
На тестовой панели снова проверьте тема, используя одну из начальных фраз тема.
Ценность вашего секрета должна быть отображена на тестовой панели.
Добавьте тег, чтобы разрешить всем вторым пилотам в среде доступ к секрету в хранилище ключей Azure
В качестве альтернативы вы можете разрешить всем вторым пилотам в среде доступ к секрету в хранилище ключей Azure. Для выполнения задачи выполните следующие действия:
- Перейдите в хранилище ключей Azure. В левой навигационной панели выберите Секреты в разделе Объекты. Выберите секрет, который вы хотите сделать доступным в Copilot Studio , выбрав его имя.
- Выберите версию секрета.
- Выберите 0 тегов рядом с Тегами. Добавьте Имя тега и Значение тега. В разделе Имя тега добавьте Разрешенные среды , а в разделе Значение тега добавьте идентификатор среды, которую вы хотите разрешить. Когда закончите, нажмите ОК
- Выберите Применить , чтобы применить тег к секрету.
Ограничение
Переменные среды, ссылающиеся на Azure Секреты Key Vault в настоящее время ограничены для использования с Power Automate потоками, Copilot Studio агентами и пользовательскими коннекторами.
См. также
Использование переменных среды источника данных в приложениях на основе холста
Использование переменных среды в облачных потоках решения Power Automate
Обзор переменных среды.