Partajați prin


Configurați identitatea gestionată Power Platform pentru plug-in-uri sau pachete de plug-in Dataverse

Power Platform managed identity permite plug-in-urilor sau pachetelor plug-in Dataverse să se conecteze cu resursele Azure pentru a susține identitatea gestionată fără a fi nevoie de acreditări. Acest articol vă ajută să configurați identitatea gestionată în mediile dvs. Power Platform

Cerințe preliminare

Configurați identitatea gestionată

Pentru a configura identitatea gestionată Power Platform pentru plug-in-urile sau pachetele plug-in Dataverse, parcurgeți următorii pași.

  1. Creați o nouă înregistrare a aplicației sau o identitate gestionată atribuită de utilizator.
  2. Configurați acreditările de identitate federative.
  3. Creează și înregistrează plug-in-uri sau pachete plug-in Dataverse.
    Asigură-te că construiești ansamblul plug-in și înregistrezi plug-in-ul sau pachetul plug-in.
  4. Creați o înregistrare de identitate gestionată în Dataverse.
  5. Acordați acces la resursele Azure aplicației sau identității gestionate atribuite de utilizator (UAMI).
  6. Validați integrarea pluginului.

Creați o nouă înregistrare a aplicației sau o identitate gestionată atribuită de utilizator

Puteți crea fie o identitate gestionată atribuită de utilizator, fie o aplicație în Microsoft Entra ID pe baza următoarelor scenarii.

  • Dacă vrei o identitate de aplicație asociată cu plug-in-ul care se conectează la resursele Azure, cum ar fi Azure Key Vault, folosește înregistrarea aplicației. Cu identitatea aplicației, puteți aplica politici Azure asupra pluginului care accesează resursele Azure.
  • Dacă doriți ca un principal de serviciu să acceseze resursele Azure, cum ar fi Azure Key Vault, puteți furniza o identitate gestionată atribuită de utilizator.

Notă

Asigură-te că surprinzi următoarele ID-uri, pe măsură ce le folosești în pașii următori.

  • ID aplicație (client)
  • ID entitate găzduită

Configurați acreditările de identitate federative

Pentru a configura identitatea gestionată, deschideți aplicația de identitate gestionată sau ID atribuită de utilizator în portalul Azure pe care l-ați creat în secțiunea anterioară. Microsoft Entra

  1. Accesați portalul Azure.
  2. Navigați la Microsoft Entra ID.
  3. Selectați Înregistrări aplicații.
  4. Deschideți aplicația pe care ați creat-o în secțiunea *Configurarea identității gestionate*. ...
  5. Navigați la Certificate și secrete.
  6. Selectați fila Acreditări federate și selectați Adăugare acreditare.
  7. Selectați emitentul ca Alt emitent.
  8. Introduceţi informaţiile următoare:

Emitentul

Folosește emițătorul v2.0 al chiriașului:

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

Exemplu

https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0

Tip

Alegeți Identificator subiect explicit.

Identificator de subiect

Alegeți formatul care corespunde tipului de certificat:

  • Certificat autosemnat (numai dezvoltare):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Certificat de emitent de încredere (recomandat pentru producție):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
    

Referință segment

Segmentul Descriere
EID1 Versiunea formatului de identitate
c/pub Cod cloud pentru cloud public, Government Community Cloud (GCC) și prima stație de lansare din GCC.
t/{encodedTenantId} ID entitate găzduită
a/qzXoWDkuqUa3l6zM5m0Rw/ Numai uz intern. Nu modifica.
n/plugin Componentă plug-in
e/{environmentId} ID mediu
h/{hash} SHA-256 al certificatului (doar auto-semnat)
i/{issuer}
s/{certificateSubject}
Detalii despre emitentul de încredere

Generarea certificatului auto-semnat

Fiecare plug-in trebuie să aibă o identitate verificabilă, iar certificatul de semnare acționează ca amprenta unică a plug-in-ului. Următorul cod este un exemplu de fragment PowerShell pe care îl poți folosi pentru a genera un certificat auto-semnat pentru scenarii de dezvoltare sau testare. Ca referință, poți urma exemplul 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

Notă

Codificare pentru {encodedTenantId}

  1. Convertiți GUID → hexadecimal.
  2. Convertiți Hex → Base64URL (nu Base64 standard).

Hash autosemnat

  • Calculează SHA-256 pe .cer. Dacă aveți un .pfx, exportați mai întâi un .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Medii cloud Azure specializate

Setați în mod explicit prefixul Audience, Issuer URL și Subject atunci când implementați în afara cloud-ului public, GCC și prima stație de lansare în GCC:

Cloud Public Adresa URL a emitentului Prefix subiect
GCC High și DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Mooncake (China) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
Național american (USNAT) api://AzureADTokenExchangeUSNat https://login.microsoftonline.eaglex.ic.gov /eid1/c/uss
US Secure (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Notă

Valoarea Audience este sensibilă la majuscule și minuscule și trebuie să se potrivească exact.
Pentru cloud-ul public, GCC și prima stație de lansare din GCC (și alte cloud-uri nelistate), valorile implicite sunt:
Audiență api://AzureADTokenExchange, Emitent https://login.microsoftonline.com, Prefix /eid1/c/pubsubiect .

Creează și înregistrează plug-in-uri Dataverse sau pachete plug-in

Construiți ansamblul plugin-urilor

Ambalare și semnare

Semnarea unui pachet plug-in

Dacă construiești un pachet plug-in, folosește CLI NuGet Sign pentru a genera un pachet fie dintr-un fișier .nuspec, fie din unul .csproj. După generarea pachetului, semnează-l cu certificatul tău.

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

Semnarea unui ansamblu plug-in

Dacă înregistrezi un plug-in (asamblare), semnează DLL-ul cu un certificat folosind SignTool.exe (Sign Tool).

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

Poți adăuga opțional marcaj temporal furnizând URL-ul unui server de marcaj temporal conform RFC 3161.

Notă

Folosește un certificat auto-semnat doar pentru dezvoltare sau testare. Nu folosi certificate auto-semnate în mediile de producție.

Înregistrați pluginul

Creați o înregistrare de identitate gestionată în Dataverse

Pentru a furniza o înregistrare de identitate gestionată în Dataverse, finalizați următorii pași.

  1. Creează o identitate gestionată trimițând o cerere HTTP POST cu un client REST (cum ar fi Insomnia). Folosiți un URL și un corp de cerere în următorul format.

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

    Asigurați-vă că înlocuiți orgURL cu adresa URL a organizației.

  2. Asigurați-vă că credentialsource este setat la 2 în sarcina utilă, subjectscope este setat la 1 pentru scenariile specifice mediului și version este setat la 1 în sarcina utilă.

    Sarcina utilă a eșantionului

    {
      "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. Actualizează pachetul plug-in sau înregistrarea de asamblare a plug-in-ului emitând o cerere HTTP PATCH pentru a o asocia cu identitatea gestionată creată în pasul 1.

    Ansamblu plug-in

    PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)
    

    Pachet plug-in

    PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)
    

    Sarcina utilă a eșantionului

    {
      "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)"
    }
    

    Asigură-te că înlocuiești orgURL,PluginAssemblyId (sau PluginPackageId) și ManagedIdentityGuid cu valorile tale.

Acordați acces la resursele Azure aplicației sau identității gestionate atribuite de utilizator

Dacă trebuie să acordați acces la un ID de aplicație pentru a accesa resursele Azure, cum ar fi Azure Key Vault, acordați acces la aplicație sau identitate gestionată atribuită de utilizator acelei resurse.

Validați integrarea pluginului

Verificați dacă pluginul dvs. poate solicita în siguranță acces la resursele Azure care acceptă identitatea gestionată, eliminând necesitatea unor acreditări separate.

Întrebări frecvente (FAQ)

Cum pot rezolva această eroare?

Dacă primiți următoarea eroare:
Primirea erorii – O problemă de configurare împiedică autentificarea.
AADSTS700213: Nu s-a găsit nicio înregistrare de identitate federativă care să corespundă

Parcurgeți următorii pași pentru a rezolva problema:

  1. Asigurați-vă că FIC este configurat și salvat corect.

  2. Verifică dacă emițătorul/subiectul corespunde formatului specificat anterior.

    De asemenea, puteți găsi formatul așteptat în stiva de erori.

Cum rezolv eroarea "Nu se poate accesa sau conecta la Power Platform"?

Consultați URL-urile Power Platform și intervalele de adrese IP pentru a vă asigura că punctele finale Power Platform sunt accesibile și permise.