Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управляемая идентичность Power Platform позволяет модулям или пакетам модулей Dataverse подключаться к ресурсам Azure, чтобы поддерживать управляемую идентичность без необходимости использования учетных данных. Из этой статьи вы узнаете, как настроить управляемое удостоверение в средах Power Platform.
Необходимые компоненты
- Подписка Azure с доступом к подготовке управляемого удостоверения, назначаемого пользователем (UAMI), или регистрации приложений.
- Инструменты для подключаемых модулей или пакетов модулей:
- Интегрированная среда разработки (IDE), например Visual Studio, для создания подключаемого модуля
- Инструмент регистрации подключаемого модуля
- SignTool.exe (Инструмент подписи) для подписания сборки подключаемого модуля
- Интерфейс командной строки Power Platform
- Действительный сертификат для подписи сборки подключаемого модуля.
Настройка управляемого удостоверения
Чтобы настроить управляемое удостоверение Power Platform для подключаемых модулей или пакетов подключаемых модулей Dataverse, выполните следующие действия.
- Создание новой регистрации приложения или управляемого удостоверения, назначаемого пользователем.
- Настройка учетных данных федеративного удостоверения.
- Создавайте и регистрируйте подключаемые модули Dataverse или их пакеты.
Обязательно создайте сборку подключаемого модуля и зарегистрируйте подключаемый модуль или пакет подключаемого модуля. - Создайте запись управляемой идентификации в Dataverse.
- Предоставление доступа к ресурсам Azure приложению или управляемому удостоверению, назначаемому пользователем (UAMI).
- Проверьте интеграцию подключаемого модуля.
Создание новой регистрации приложения или управляемого удостоверения, назначаемого пользователем
В зависимости от следующих сценариев, вы можете создать либо управляемое удостоверение, назначаемое пользователем, либо приложение в Microsoft Entra ID.
- Если вы хотите, чтобы удостоверение приложения было связано с подключаемым модулем, который подключается к ресурсам Azure, таким как Azure Key Vault, используйте регистрацию приложения. С помощью удостоверения приложения вы можете применять политики Azure к подключаемому модулю, обращающемуся к ресурсам Azure.
- Если вы хотите предоставить субъекту-службе доступ к ресурсам Azure, таким как Azure Key Vault, вы можете подготовить управляемое удостоверение, назначаемое пользователем.
Заметка
Не забудьте записать следующие идентификаторы, так как вы используете их в последующих шагах.
- Идентификатор приложения (клиента)
- Идентификатор клиента
Настройка учетных данных федеративного удостоверения
Чтобы настроить управляемое удостоверение, откройте приложение управляемого удостоверения, назначаемого пользователем, или приложение Microsoft Entra ID на портале Azure, которое вы создали в предыдущем разделе.
- Переход на портал Azure.
- Перейдите к Microsoft Entra ID.
- Щелкните Регистрация приложений.
- Откройте приложение, созданное в разделе Настройка управляемого удостоверения.
- Перейдите к Сертификаты & секреты.
- Перейдите на вкладку "Федеративные учетные данные" и нажмите кнопку "Добавить учетные данные".
- Выберите издателя как Другой издатель.
- Введите следующие данные:
Issuer
Используйте издатель клиента версии 2.0:
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Тип
Выберите явный идентификатор субъекта.
Идентификатор субъекта
Выберите формат, соответствующий типу сертификата:
Самозаверяющий сертификат (только для разработки):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Доверенный сертификат издателя (рекомендуется для эксплуатации):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Справочник по сегментам
| Сегмент | Description |
|---|---|
| eid1 | Версия формата идентификатора |
| c/pub | Облачный код для общедоступного облака, облака сообщества для государственных организаций (GCC), а также для первой станции выпуска в GCC. |
| t/{encodedTenantId} | Идентификатор клиента |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Только для внутреннего применения. Не изменяйте. |
| n/плагин | Компонент подключаемого модуля |
| e/{environmentId} | Идентификатор среды |
| h/{hash} | SHA-256 сертификата (только для самоподписанных) |
| i/{issuer} s/{certificateSubject} |
Сведения о доверенном издателе |
Создание самозаверяющего сертификата
Каждый подключаемый модуль должен иметь проверяемое удостоверение, а сертификат подписи действует как уникальный отпечаток подключаемого модуля. Следующий код — это пример фрагмента кода PowerShell, который можно использовать для создания самозаверяющего сертификата для сценариев разработки или тестирования. Для справки можно использовать пример 3.
$params = @{
Type = 'Custom'
Subject = 'E=admin@contoso.com,CN=Contoso'
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.4',
'2.5.29.17={text}email=admin@contoso.com' )
KeyAlgorithm = 'RSA'
KeyLength = 2048
SmimeCapabilities = $true
CertStoreLocation = 'Cert:\CurrentUser\My'
}
New-SelfSignedCertificate @params
Заметка
Кодировка для {encodedTenantId}
- Преобразуйте GUID → шестнадцатеричный формат.
- Преобразуйте шестнадцатеричный код → Base64URL (не стандартный Base64).
Самоподписанный хэш
- Вычислите SHA-256 по .cer. Если у вас есть .pfx, сначала экспортируйте .cer:
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Специализированные облачные среды Azure
Явно задайте аудиторию, URL-адрес издателя и префикс субъекта при развертывании вне общедоступного облака, GCC и первой станции выпуска в GCC:
| Облако | Аудитория | URL-адрес издателя | Префикс субъекта |
|---|---|---|---|
| GCC High и DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Китай) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Американский национальный (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| Безопасность США (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Заметка
Значение Audienceчувствительно к регистру и должно точно соответствовать.
Для общедоступного облака, GCC и первой станции выпуска в GCC (и других не перечисленных облаках) используется по умолчанию:
Аудиторияapi://AzureADTokenExchange, Издательhttps://login.microsoftonline.com, префикс темы/eid1/c/pub.
Создайте и зарегистрируйте подключаемые модули Dataverse или пакеты подключаемых модулей
Сборка сборки подключаемого модуля
Создайте подключаемый модуль с помощью Visual Studio. При создании подключаемого модуля используйте идентификатор клиента из раздела Создание новой регистрации приложения или управляемого удостоверения, назначаемого пользователем и такие области, как URL-адрес организации, такой как
https://{OrgName}.crm*.dynamics.com/.default, или даже более детальные области.Используйте IManagedIdentityService и получите метод токена для получения токена с заданной областью.
Сигнатура метода:
string AcquireToken(IEnumerable<string> scopes);
Упаковка и подпись
Подписывание пакета плагина
Если вы создаете пакет подключаемых модулей, используйте интерфейс командной строки для подписи NuGet, чтобы создать пакет из файла .nuspec или .csproj. После создания пакета подпишите его с помощью сертификата.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Подписывание сборки подключаемого модуля
Если вы регистрируете подключаемый модуль (сборку), подпишите библиотеку DLL с помощью сертификата, используя файл SignTool.exe (инструмент подписи).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
При необходимости можно добавить метку времени, указав URL-адрес сервера метки времени, совместимого с RFC 3161.
Заметка
Используйте самозаверяющий сертификат только для целей разработки или тестирования. Не используйте самозаверяющий сертификат в рабочих средах.
Регистрация подключаемого модуля
Установите средство регистрации подключаемых модулей, если на компьютере его еще нет. Дополнительные сведения см. в разделе Инструменты разработки Dataverse.
Зарегистрируйте подключаемый модуль. Дополнительные сведения см. в разделе Регистрация подключаемого модуля.
Создание записи управляемого удостоверения в Dataverse
Чтобы подготовить запись управляемого удостоверения в Dataverse, выполните следующие действия.
Создайте управляемое удостоверение, отправив HTTP-запрос POST через клиент REST (например, Insomnia). Используйте URL-адрес и текст запроса в следующем формате.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesОбязательно замените orgURL на URL-адрес организации.
Убедитесь, что в полезных данных для параметра credentialsource задано значение 2, для параметра subjectscope задано значение 1 в сценариях конкретной среды, а для параметра version задано значение 1 в полезных данных.
Пример нагрузки
{ "applicationid": "<<appId>>", //Application Id, or ClientId, or User Managed Identity "managedidentityid": "<<anyGuid>>", "credentialsource": 2, // Managed client "subjectscope": 1, //Environment Scope "tenantid": "<<tenantId>>", //Entra Tenant Id "version": 1 }Обновите пакет подключаемых модулей или запись сборки подключаемых модулей путем выдачи HTTP-запроса PATCH, чтобы связать его с управляемым удостоверением, созданным на шаге 1.
Сборка подключаемого модуля
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Пакет подключаемого модуля
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Пример нагрузки
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Обязательно замените orgURL, PluginAssemblyId (или PluginPackageId) и ManagedIdentityGuid своими значениями.
Предоставление доступа к ресурсам Azure приложению или управляемому удостоверению, назначаемому пользователем
Если вам нужно предоставить доступ к идентификатору приложения для доступа к ресурсам Azure, таким как Azure Key Vault, предоставьте доступ к приложению или управляемому удостоверению, назначаемого пользователем, для этого ресурса.
Проверка интеграции подключаемого модуля
Убедитесь, что ваш подключаемый модуль может безопасно запрашивать доступ к ресурсам Azure, поддерживающим управляемое удостоверение, устраняя необходимость в отдельных учетных данных.
Часто задаваемые вопросы
Как устранить эту ошибку?
Если вы получите следующую ошибку:
Ошибка при получении – проблема конфигурации мешает аутентификации.
AADSTS700213: не найдена соответствующая запись федеративного удостоверения
Выполните следующие действия, чтобы устранить проблему:
Убедитесь, что FIC правильно настроен и сохранен.
Убедитесь, что издатель или тема соответствуют указанному ранее формату.
Вы также можете найти ожидаемый формат в стеке ошибок.
Как устранить ошибку "Не удается достичь или подключиться к Power Platform"?
Ознакомьтесь с URL-адресами и диапазонами IP-адресов Power Platform, чтобы конечные точки Power Platform были доступны и включены в список разрешенных.