Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
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
- Un abonament Azure cu acces la furnizarea de identități gestionate atribuite de utilizator (UAMI) sau la înregistrarea aplicațiilor.
- Unelte pentru plug-in-uri sau pachete plug-in:
- Mediu de dezvoltare integrat (IDE), precum Visual Studio, pentru a construi plugin-uri
- Instrument de înregistrare a pluginurilor
- SignTool.exe (Instrument de semnare) pentru a semna ansamblul pluginului
- Power Platform Interfață de comandă (CLI)
- Un certificat valid pentru semnarea ansamblului plug-in-ului.
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.
- Creați o nouă înregistrare a aplicației sau o identitate gestionată atribuită de utilizator.
- Configurați acreditările de identitate federative.
- 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. - Creați o înregistrare de identitate gestionată în Dataverse.
- Acordați acces la resursele Azure aplicației sau identității gestionate atribuite de utilizator (UAMI).
- 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
- Accesați portalul Azure.
- Navigați la Microsoft Entra ID.
- Selectați Înregistrări aplicații.
- Deschideți aplicația pe care ați creat-o în secțiunea *Configurarea identității gestionate*. ...
- Navigați la Certificate și secrete.
- Selectați fila Acreditări federate și selectați Adăugare acreditare.
- Selectați emitentul ca Alt emitent.
- 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}
- Convertiți GUID → hexadecimal.
- 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
Creați un plugin folosind Visual Studio. În timpul construirii pluginului, utilizați ID-ul chiriașului din Creați o nouă înregistrare a aplicației sau o identitate gestionată atribuită de utilizator și domeniile de aplicare ca URL-ul organizației, cum ar fi
https://{OrgName}.crm*.dynamics.com/.defaultsau domenii de aplicare chiar mai detaliate.Folosește IManagedIdentityService și obține o metodă de token pentru a solicita un token cu domeniul de aplicare dat.
Semnătura metodei:
string AcquireToken(IEnumerable<string> scopes);
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
Instalează instrumentul de înregistrare plug-in dacă nu îl ai deja pe calculator. Pentru mai multe informații, consultați Dataverse instrumente de dezvoltare.
Înregistrați pluginul. Pentru mai multe informații, consultați Înregistrare plugin.
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.
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/managedidentitiesAsigurați-vă că înlocuiți orgURL cu adresa URL a organizației.
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 }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:
Asigurați-vă că FIC este configurat și salvat corect.
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.