Споделяне чрез


Настройте управляваната идентичност на Power Platform за плъгини или пакети от плъгини на Dataverse

Управляваната идентичност на Power Platform позволява на Dataverse плъгини или пакети за плъгини да се свързват с ресурси на Azure, за да поддържат управлявана идентичност без необходимост от идентификационни данни. Тази статия ви помага да настроите управлявана самоличност във вашите Power Platform среди.

Предварителни изисквания

  • Абонамент за Azure с достъп до осигуряване на назначена от потребителя управлявана самоличност (UAMI) или регистрация на приложение.
  • Инструменти за плъгини или пакети с плъгини:
  • Валиден сертификат за подписване на модула на плъгина.

Настройване на управлявана самоличност

За да конфигурирате управляваната идентичност на Power Platform за Dataverse плъгини или пакети, изпълнете следните стъпки.

  1. Създайте нова регистрация на приложение или зададена от потребителя управлявана самоличност.
  2. Конфигуриране на обединени идентификационни данни за самоличност.
  3. Създавайте и регистрирайте Dataverse плъгини или пакети с плъгини.
    Уверете се, че сте сглобили плъгин комплекта и регистрирайте пакета за плъгин или плъгин.
  4. Създайте запис на управляван самоличност в Dataverse.
  5. Предоставяне на достъп до ресурсите на Azure на приложението или присвоената от потребителя управлявана самоличност (UAMI).
  6. Проверете интеграцията на приставката.

Създаване на нова регистрация на приложение или зададена от потребител управлявана самоличност

Можете да създадете или присвоена от потребителя управлявана самоличност, или приложение в Microsoft Entra ID въз основа на следните сценарии.

  • Ако искате идентификация на приложението, свързана с плъгина, който се свързва с ресурси на Azure, като Azure Key Vault, използвайте регистрация на приложение. Със самоличността на приложението можете да приложите правила на Azure към добавката, която има достъп до ресурсите на Azure.
  • Ако искате принципал на услуга да има достъп до ресурси на Azure, като Azure Key Vault, можете да осигурите управлявана идентичност, назначена от потребителя.

Бележка

Уверете се, че записвате следните ID-та, докато ги използвате в следващите стъпки.

  • Идентификационен номер на приложението (клиента)
  • ИД на клиент

Конфигуриране на федерирани идентификационни данни за самоличност

За да конфигурирате управлявана самоличност, отворете зададеното от потребителя приложение за управлявана самоличност или Microsoft Entra ИД в портала на Azure, който създадохте в предишния раздел.

  1. Отидете на портала наAzure.
  2. Отидете до Microsoft Entra ID.
  3. Изберете Регистрации на приложения.
  4. Отворете приложението, което сте създали в Настройване на управлявана самоличност.
  5. Отидете до Сертификати и тайни.
  6. Изберете раздела Обединени идентификационни данни и изберете Добавяне на идентификационни данни.
  7. Изберете издателя като Друг издател.
  8. Въведете следната информация:

Issuer

Използвайте издателя на наемателя v2.0:

https://login.microsoftonline.com/{tenantID}/v2.0

Пример

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}
    

Референция на сегмента

Сегмент Описание
EID1 Версията за идентичност
c/pub Облачен код за публичен облак, Government Community Cloud (GCC) и първа издание на станция в GCC.
t/{encodedTenantId} ИД на клиент
a/qzXoWDkuqUa3l6zM5mM0Rw/ Само вътрешна употреба. Не модифицирай.
n/plugin Компонент за плъгин
e/{environmentId} ИД на среда
h/{hash} SHA-256 за сертификат (само със самостоятелен подпис)
i/{издавач}
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}

  1. Преобразуване на GUID → Hex.
  2. Конвертирайте Hex → 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
US Secure (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Бележка

Стойността на аудиторията е чувствителна към малки и големи букви и трябва да съвпада точно.
За публичен облак, GCC и станция за първа версия в GCC (и други облаци, които не са включени в списъка), настройките по подразбиране са:
Аудитория api://AzureADTokenExchange, Издател https://login.microsoftonline.com, Префикс /eid1/c/pubза тема .

Създаване и регистрация на Dataverse плъгини или пакети

Изграждане на плъгин монтаж

Опаковане и подписване

Подписване на плъгин пакет

Ако създавате плъгин пакет, използвайте NuGet Sign CLI , за да генерирате пакет от .nuspec или .csproj файл. След като генерирате пакета, подпишете го с вашия сертификат.

 nuget sign YourPlugin.nupkg `
   -CertificatePath MyCert.pfx `
   -CertificatePassword "MyPassword" `
   -Timestamper http://timestamp.digicert.com

Подписване на плъгин асамблея

Ако регистрирате плъгин (асемблер), подпишете DLL със сертификат чрез SignTool.exe (Sign Tool).

signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll

По желание можете да добавите времеви печати, като предоставите URL адрес на сървър за времеви печати, съвместим с RFC 3161.

Бележка

Използвайте самоподписан сертификат само за разработка или тестване. Не използвайте самоподписани сертификати в производствени среди.

Регистрирайте приставката

  • Инсталирай инструмента за регистрация на плъгина, ако вече не го имаш на машината си. За повече информация вижте Dataverse Инструменти за разработка.

  • Регистрирайте приставката. За повече информация вижте Регистрация на добавка.

Създаване на запис на управлявана самоличност в Dataverse

За да осигурите управляван запис за идентичност в Dataverse, изпълнете следните стъпки.

  1. Създайте управлявана идентичност чрез изпращане на HTTP POST заявка с REST клиент (като Insomnia). Използвайте URL адрес и тяло на заявката в следния формат.

    POST https://<<orgURL>>/api/data/v9.0/managedidentities
    

    Не забравяйте да замените orgURL с URL адреса на организацията.

  2. Уверете се, че credentialsource е зададен на 2 в полезния товар, subjectscope е зададен на 1 за специфични за средата сценарии, а версията е зададена на 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
    }
    
  3. Актуализирайте вашия плъгин пакет или запис за асемблер на плъгин, като изпратите заявка за 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: Не е открит съвпадащ запис на обединена самоличност

Изпълнете следните стъпки, за да разрешите проблема:

  1. Уверете се, че FIC е правилно конфигуриран и запазен.

  2. Проверете дали издателят/субектът отговаря на формата, посочен по-рано.

    Можете също да намерите очаквания формат в стека с грешки.

Как да разреша грешката "Не мога да достигна или да се свържа с Power Platform"?

Вижте URL адресите и IP адресите на Power Platform , за да сте сигурни, че крайните точки на Power Platform са достъпни и включени в списъка с разрешени данни.