Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
L'identità gestita di Power Platform consente ai plug-in dataverse o ai pacchetti plug-in di connettersi con le risorse di Azure per supportare l'identità gestita senza la necessità di credenziali. Questo articolo ti aiuta a configurare l'identità gestita negli ambienti Power Platform.
Prerequisiti
- Una sottoscrizione Azure con accesso al provisioning dell'identità gestita assegnata dall'utente (UAMI) o alla registrazione dell'applicazione.
- Strumenti per plug-in o pacchetti di plug-in:
- Ambiente di sviluppo integrato (IDE), ad esempio Visual Studio, per creare i plug-in
- Plugin Registration Tool
- SignTool.exe (strumento Firma) per firmare l'assembly plug-in
- CLI Power Platform
- Certificato valido per firmare l'assembly plug-in.
Configurare l'identità gestita
Per configurare l'identità gestita di Power Platform per i plug-in dataverse o i pacchetti plug-in, completare la procedura seguente.
- Creare una nuova registrazione dell'app o una nuova identità gestita assegnata dall'utente.
- Configurare le credenziali di identità federate.
- Creare e registrare plug-in per il Dataverse o pacchetti plug-in.
Assicurarsi di compilare l'assembly del plug-in e di registrare il plug-in o il pacchetto di plug-in. - Creare un record di identità gestito in Dataverse.
- Concedere l'accesso alle risorse di Azure all'applicazione o all'identità gestita assegnata dall'utente.Grant access to the Azure resources to the application or user-assigned managed identity (UAMI).
- Convalida l'integrazione del plug-in.
Creare una nuova registrazione dell'app o una nuova identità gestita assegnata dall'utente
È possibile creare un'identità gestita assegnata dall'utente o un'applicazione in Microsoft Entra ID in base agli scenari seguenti.
- Se si vuole un'identità dell'app associata al plug-in che si connette alle risorse di Azure, ad esempio Azure Key Vault, usare la registrazione dell'applicazione. Con l'identità dell'app, puoi applicare i criteri Azure al plug-in che accede alle risorse Azure.
- Se desideri un'entità servizio per accedere alle risorse di Azure, ad esempio Azure Key Vault, puoi effettuare il provisioning dell'identità gestita assegnata dall'utente.
Nota
Assicurarsi di acquisire gli ID seguenti, perché vengono usati nei passaggi successivi.
- ID applicazione (cliente)
- ID tenant
Configurare le credenziali di identità federate
Per configurare l'identità gestita, apri l'applicazione Microsoft Entra ID o l'identità gestita assegnata dall'utente nel portale Azure come creato nella sezione precedente.
- Vai al portale di Azure.
- Passa a Microsoft Entra ID.
- Selezionare Registrazioni app.
- Apri l'app che hai creato in Configura l'identità gestita.
- Passa a Certificati e segreti.
- Selezionare la scheda Credenziali federate e selezionare Aggiungi credenziali.
- Seleziona Emittente come Altro emittente.
- Immetti le informazioni seguenti:
Emittente
Usa l'emittente v2.0 del tenant:
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
TIPO
Scegliere Identificatore dell'oggetto esplicito.
Identificatore del soggetto
Scegliere il formato corrispondente al tipo di certificato:
Certificato autofirmato (solo sviluppo):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Certificato dell'autorità emittente attendibile (consigliato per la produzione):
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Riferimento al segmento
| Segmento | Description |
|---|---|
| eid1 | Versione del formato di identità |
| c/pub | Codice cloud per cloud pubblico, Government Community Cloud (GCC) e prima stazione di rilascio in GCC. |
| t/{encodedTenantId} | ID tenant |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Solo per uso interno. Non modificare. |
| n/plug-in | Componente plug-in |
| e/{environmentId} | ID ambiente |
| h/{hash} | SHA-256 del certificato (solo autofirmato) |
| i/{issuer} s/{certificateSubject} |
Dettagli degli emittenti attendibili |
Generare un certificato autofirmato
Ogni plug-in deve avere un'identità verificabile e il certificato di firma funge da impronta digitale univoca del plug-in. Il codice seguente è un frammento di esempio di PowerShell che è possibile usare per generare un certificato autofirmato per scenari di sviluppo o test. Per riferimento, è possibile seguire l'esempio 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
Nota
Codifica per {encodedTenantId}
- Convertire GUID → hex.
- Convert Hex → Base64URL (non Standard Base64).
Hash con firma automatica
- Calcolare SHA-256 nel .cer. Se si dispone di un file con estensione pfx, esportare prima un .cer :
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Ambienti cloud di Azure specializzati
Impostare il prefisso Audience, Issuer URL e Subject in modo esplicito quando si distribuisce all'esterno del cloud pubblico, GCC e prima stazione di rilascio in GCC:
| Cloud | Partecipanti | URL dell'emittente | Prefisso soggetto |
|---|---|---|---|
| GCC High & DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Cina) | api://AzureADTokenExchangeChina |
https://login.partner.microsoftonline.cn |
/eid1/c/chn |
| Us National (USNAT) | api://AzureADTokenExchangeUSNat |
https://login.microsoftonline.eaglex.ic.gov |
/eid1/c/uss |
| US Secure (USSec) | api://AzureADTokenExchangeUSSec |
https://login.microsoftonline.scloud |
/eid1/c/usn |
Nota
Il valore Audience fa distinzione tra maiuscole e minuscole e deve corrispondere esattamente.
Per il cloud pubblico, GCC e la prima stazione di rilascio in GCC (e altri cloud non elencati), le impostazioni predefinite sono:
Pubblico api://AzureADTokenExchange, Emittente https://login.microsoftonline.com, Prefisso soggetto /eid1/c/pub.
Creare e registrare plug-in o pacchetti plug-in Dataverse
Creare assembly di plug-in
Creare un plug-in con Visual Studio. Durante la creazione del plug-in, usa l'ID tenant da Creare una nuova registrazione dell'app o identità gestita assegnata dall'utente e gli ambiti come URL dell'organizzazione, ad esempio
https://{OrgName}.crm*.dynamics.com/.defaulto ambiti più granulari.Usa IManagedIdentityService e acquisisci un metodo token per richiedere un token con un ambito specificato.
Firma del metodo:
string AcquireToken(IEnumerable<string> scopes);
Creazione di pacchetti e firma
Firma di un pacchetto plug-in
Se stai creando un pacchetto di plug-in, utilizza l'interfaccia della riga di comando NuGet Sign per generare un pacchetto da un file con estensione .nuspec o .csproj. Dopo aver generato il pacchetto, firmarlo con il certificato.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Firma di un assembly del plug-in
Se stai registrando un plug-in (assembly), firma la DLL con un certificato usando SignTool.exe (strumento di firma).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Facoltativamente, è possibile aggiungere timestamp specificando l'URL di un server timestamp conforme a RFC 3161.
Nota
Usare un certificato autofirmato solo a scopo di sviluppo o test. Non usare certificati autofirmato negli ambienti di produzione.
Registrare il plug-in
Installare lo strumento di registrazione del plug-in se non è già presente nel computer. Per altre informazioni, consulta Strumenti di sviluppo Dataverse.
Registrare il plug-in. Per ulteriori informazioni, vedi Registrare plug-in.
Creare record di identità gestita in Dataverse
Per effettuare il provisioning di un record di identità gestito in Dataverse, seguire questa procedura.
Creare un'identità gestita inviando una richiesta HTTP POST con un client REST ,ad esempio Insonnia. Usare un URL e il corpo della richiesta nel formato seguente.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesAssicurati di sostituire orgURL con l'URL dell'organizzazione.
Assicurarsi che l'origine credenziali sia impostata su 2 nel payload, l'ambito soggetto sia impostato su 1 per gli scenari specifici dell'ambiente e che la versione sia impostata su 1 nel payload.
Payload di esempio
{ "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 }Aggiornare il pacchetto plug-in o il record di assembly plug-in inviando una richiesta HTTP PATCH per associarlo all'identità gestita creata nel passaggio 1.
Assembly plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Pacchetto plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Payload di esempio
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Assicurarsi di sostituire orgURL, PluginAssemblyId (o PluginPackageId) e ManagedIdentityGuid con i valori.
Concedere l'accesso alle risorse Azure all'identità gestita assegnata dall'utente o all'applicazione
Se è necessario concedere l'accesso a un ID applicazione per accedere alle risorse di Azure, ad esempio Azure Key Vault, concedere l'accesso all'applicazione o all'identità gestita assegnata dall'utente a tale risorsa.
Convalida l'integrazione del plug-in
Verifica che il plug-in sia in grado di richiedere in modo sicuro l'accesso alle risorse Azure che supportano l'identità gestita, eliminando la necessità di credenziali separate.
Domande frequenti
Come si risolve questo errore?
Se ricevi il seguente errore:
Errore: un problema di configurazione impedisce l'autenticazione.
AADSTS700213: nessun record di identità federato corrispondente trovato
Completare i passaggi seguenti per risolvere il problema:
Verificare che il FIC sia configurato e salvato correttamente.
Verificare che l'emittente/soggetto corrisponda al formato specificato in precedenza.
È anche possibile trovare il formato previsto nello stack di errori.
Come si risolve l'errore "Impossibile raggiungere o connettersi a Power Platform"?
Fare riferimento a URL e intervalli di indirizzi IP di Power Platform per garantire che gli endpoint di Power Platform siano raggiungibili e in lista consentita.