Comparteix via


Configura la identitat gestionada de Power Platform per a plug-ins o paquets de plug-in de Dataverse

La identitat gestionada de Power Platform permet que plug-ins o paquets de plug-in Dataverse es connectin amb recursos Azure per donar suport a la identitat gestionada sense necessitat de credencials. Aquest article us ajuda a configurar la identitat administrada als vostres Power Platform entorns.

Requisits previs

  • Una subscripció de l'Azure amb accés per proveir la identitat administrada assignada per l'usuari (UAMI) o el registre d'aplicacions.
  • Eines per a plug-ins o paquets de plug-in:
  • Certificat vàlid per signar l'assemblatge del connector.

Configurar la identitat administrada

Per configurar la identitat gestionada de Power Platform per a connectors o paquets de plug-ins de Dataverse, completeu els següents passos.

  1. Creeu un registre d'aplicació o una identitat administrada assignada per l'usuari.
  2. Configureu les credencials d'identitat federada.
  3. Crea i registra plug-ins o paquets de plug-ins de Dataverse.
    Assegura't de construir el conjunt de connectors i registrar el connector o el paquet de connectors.
  4. Creeu un registre d'identitat administrada al Dataverse.
  5. Concediu accés als recursos de l'Azure a l'aplicació o a la identitat administrada assignada per l'usuari (UAMI).
  6. Valideu la integració del connector.

Crear un registre d'aplicació o una identitat administrada assignada per l'usuari

Podeu crear una identitat administrada assignada per l'usuari o una aplicació a l'ID del Microsoft Entra en funció dels escenaris següents.

  • Si vols una identitat d'aplicació associada al connector que connecta amb recursos d'Azure, com Azure Key Vault, utilitza el registre d'aplicacions. Amb la identitat de l'aplicació, podeu aplicar polítiques de l'Azure al complement accedint als recursos de l'Azure.
  • Si vols que un principal de servei accedeixi als recursos d'Azure, com Azure Key Vault, pots provisionar una identitat gestionada assignada per l'usuari.

Nota

Assegura't de capturar els següents IDs, a mesura que els utilitzis en passos posteriors.

  • ID de l'aplicació (client)
  • Identificador d'inquilí de l'

Configurar les credencials d'identitat federada

Per configurar la identitat administrada, obriu l'aplicació d'identitat o identificador Microsoft Entra administrada assignada per l'usuari al portal de l'Azure que heu creat a la secció anterior.

  1. Aneu al portal de l'Azure.
  2. Aneu a l'ID Microsoft Entra .
  3. Seleccioneu Registres d'aplicacions.
  4. Obriu l'aplicació que heu creat a Configurar la identitat administrada.
  5. Aneu a Certificats i secrets.
  6. Seleccioneu la pestanya Credencials federades i seleccioneu Afegeix credencials.
  7. Seleccioneu l'emissor com a Un altre emissor.
  8. Introduïu la informació següent:

Emissor

Utilitza l'emissor v2.0 del llogater:

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

Exemple

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

Tipus

Trieu Identificador de tema explícit.

Identificador de subjecte

Trieu el format que coincideixi amb el vostre tipus de certificat:

  • Certificat autosignat (només desenvolupament):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Certificat d'emissor de confiança (recomanat per a producció):

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

Referència del segment

Segment Descripció
EID1 Versió del format d'identitat
c/pub Codi de núvol per al núvol públic, Government Community Cloud (GCC) i la primera estació de llançament al GCC.
t/{encodedTenantId} Identificador d'inquilí de l'
a/qzXoWDkuqUa3l6zM5m0Rw/ Només ús intern. No modifiquis.
n/plugin Component plug-in
e/{environmentId} ID de l'entorn
h/{hash} SHA-256 del certificat (només autosignat)
i/{emissor}
s/{certificateSubject}
Detalls de l'emissor de confiança

Generar un certificat autosignat

Cada connector ha de tenir una identitat verificable, i el certificat de signatura actua com la empremta digital única del connector. El codi següent és un exemple de fragment de PowerShell que pots utilitzar per generar un certificat autosignat per a escenaris de desenvolupament o proves. Per referència, pots seguir l'exemple 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

Codificació per a {encodedTenantId}

  1. Converteix GUID → hexadecimal.
  2. Converteix Hex → Base64URL (no Base64 estàndard).

Hash autosignat

  • Calcula SHA-256 al .cer. Si teniu un .pfx, exporteu primer un .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Entorns cloud especialitzats en Azure

Definiu explícitament elprefix Públic, URL de l'emissor i Tema quan implementeu fora del núvol públic, GCC i la primera estació de llançament a GCC:

Núvol Públic URL de l'emissor Prefix del tema
GCC High i DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Mooncake (Xina) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
Nacional dels Estats Units (USNAT) api://AzureADTokenExchangeUSNat https://login.microsoftonline.eaglex.ic.gov /eid1/c/uss
Segur dels EUA (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Nota

El valor Públicdistingeix entre majúscules i minúscules i ha de coincidir exactament.
Per al núvol públic, GCC i la primera estació de llançament a GCC (i altres núvols no llistats), els valors predeterminats són:
Públic api://AzureADTokenExchange, Emissor https://login.microsoftonline.com, Prefix /eid1/c/pubdel tema .

Crear i registrar plug-ins o paquets de plug-in Dataverse

Crea un conjunt de connectors

  • Creeu un connector usant Visual Studio. Mentre creeu el complement, utilitzeu l'identificador d'inquilí de Crea un registre d'aplicació nou o una identitat i àmbits administrats assignats per l'usuari com a URL de l'organització o https://{OrgName}.crm*.dynamics.com/.default fins i tot àmbits més detallats.

  • Utilitzeu IManagedIdentityService i adquiriu un mètode de testimoni per sol·licitar un testimoni amb un abast determinat.

    Signatura del mètode:

    string AcquireToken(IEnumerable<string> scopes);
    

Embalatge i signatura

Signar un paquet de complement

Si estàs construint un paquet de connectors, utilitza la CLI NuGet Sign per generar un paquet a partir d'un fitxer .nuspec o .csproj. Després de generar el paquet, signa'l amb el teu certificat.

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

Signar un conjunt de connectors

Si estàs registrant un connector (assemblador), signa la DLL amb un certificat utilitzant SignTool.exe (Sign Tool).

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

Opcionalment, pots afegir marques d'hora proporcionant l'URL d'un servidor de marques de temps compatible amb la RFC 3161.

Nota

Utilitza un certificat autosignat només per a finalitats de desenvolupament o proves. No utilitzis certificats autosignats en entorns de producció.

Registrar el connector

  • Instal·la l'eina de registre de plugins si encara no la tens a la teva màquina. Per obtenir més informació, vegeu Dataverse eines de desenvolupament.

  • Registreu el connector. Per obtenir més informació, vegeu Registrar un complement.

Crear un registre d'identitat administrat a Dataverse

Per provisionar un registre d'identitat gestionat a Dataverse, completeu els passos següents.

  1. Crea una identitat gestionada enviant una petició HTTP POST amb un client REST (com Insomnia). Utilitza una URL i el cos de la sol·licitud en el format següent.

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

    Assegureu-vos de substituir orgURL per l'URL de l'organització.

  2. Assegureu-vos que credentialsource estigui definit a 2 a la càrrega, subjectscope estigui definit a 1 per a escenaris específics de l'entorn i version estigui definit a 1 a la càrrega útil.

    Càrrega útil de mostra

    {
      "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. Actualitza el teu paquet de plug-in o registre assemblador del plug-in emetent una petició HTTP PATCH per associar-lo amb la identitat gestionada creada al pas 1.

    Muntatge d'endolls

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

    Paquet de connectors

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

    Càrrega útil de mostra

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

    Assegura't de substituir orgURL,PluginAssemblyId (o PluginPackageId) i ManagedIdentityGuid pels teus valors.

Concedir accés als recursos de l'Azure a l'aplicació o a la identitat administrada assignada per l'usuari

Si necessiteu donar accés a un identificador d'aplicació per accedir als recursos de l'Azure, com ara l'Azure Key Vault, concediu accés a l'aplicació o a la identitat administrada assignada per l'usuari a aquest recurs.

Validar la integració del connector

Verifiqueu que el vostre complement pot sol·licitar de manera segura accés als recursos de l'Azure que admeten la identitat administrada, eliminant la necessitat de credencials separades.

Preguntes freqüents (FAQ)

Com puc resoldre aquest error?

Si rebeu l'error següent:
Obtenció d'error: un problema de configuració impedeix l'autenticació.
AADSTS700213: No s'ha trobat cap registre d'identitat federada coincident

Seguiu els passos següents per resoldre el problema:

  1. Assegureu-vos que el FIC estigui configurat i desat correctament.

  2. Verifica que l'emissor/subjecte coincideixi amb el format especificat anteriorment.

    També podeu trobar el format esperat a la pila d'errors.

Com puc resoldre l'error "No es pot accedir o connectar-se a Power Platform"?

Consulteu les URL i rangs d'adreces IP de Power Platform per assegurar-vos que els punts finals de Power Platform siguin accessibles i permès.