Configurar a identidade xestionada de Power Platform para complementos ou paquetes de complementos Dataverse

A identidade xestionada de Power Platform permite que plug-ins ou paquetes de plug-ins Dataverse se conecten con recursos de Azure para soportar identidade xestionada sen necesidade de credenciais. Este artigo axúdache a configurar a identidade xestionada nos teus entornos. Power Platform

Requisitos previos

Configurar a identidade xestionada

Para configurar a identidade xestionada de Power Platform para complementos ou paquetes de plug-ins Dataverse, completa os seguintes pasos.

  1. Crea un novo rexistro de aplicación ou unha identidade xestionada asignada polo usuario.
  2. Configurar as credenciais de identidade federadas.
  3. Crea e rexistra complementos ou paquetes de plug-ins de Dataverse.
    Asegúrate de construír o conxunto do enchufe e rexistrar o enchufe ou paquete de enchufes.
  4. Crear un rexistro de identidade xestionado en Dataverse.
  5. Conceder acceso aos recursos de Azure á aplicación ou á identidade xestionada asignada polo usuario (UAMI).
  6. Valida a integración do complemento.

Crear un novo rexistro de aplicación ou unha identidade xestionada asignada polo usuario

Podes crear unha identidade xestionada asignada polo usuario ou unha aplicación en Microsoft Entra ID baseada nos seguintes escenarios.

  • Se queres unha identidade de aplicación asociada ao complemento que se conecte con recursos Azure, como Azure Key Vault, usa application registration. Coa identidade da aplicación, podes aplicar políticas de Azure no complemento accedendo aos recursos de Azure.
  • Se queres que un principal de servizo acceda a Azure recursos, como Azure Key Vault, podes provisionar identidade xestionada asignada polo usuario.

Nota

Asegúrate de capturar os seguintes IDs a medida que os uses en pasos posteriores.

  • ID da aplicación (cliente)
  • Id. de arrendatario de

Configurar as credenciais de identidade federadas

Para configurar a identidade xestionada, abre a identidade xestionada asignada polo usuario ou a aplicación Microsoft Entra ID no portal de Azure que creaches na sección anterior.

  1. Vai ao portal Azure.
  2. Navega ata Microsoft Entra ID.
  3. Selecciona App registrations.
  4. Abre a aplicación que creaches en Configurar identidade xestionada.
  5. Navega a Certificados e segredos.
  6. Seleccione a pestana Credenciais federadas e seleccione Engadir credenciais.
  7. Selecciona o emisor como Outro emisor.
  8. Introduza a seguinte información:

Emisor

Usa o emisor v2.0 do inquilino:

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

Exemplo

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

Tipo

Escolla Identificador de asunto explícito.

Identificador do suxeito

Escolla o formato que coincida co tipo de certificado:

  • Certificado autoasinado (só desenvolvemento):

    /eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}
    
  • Certificado de emisor de confianza (recomendado para a produción):

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

Referencia do segmento

Segmento Descripción
EID1 Versión do formato de identidade
c/pub Código na nube para nube pública, Nube Comunitaria do Goberno (GCC) e a primeira estación de lanzamento no CCG.
t/{encodedTenantId} Id. de arrendatario de
a/qzXoWDkuqUa3l6zM5m0Rw/ Só para uso interno. Non modifiques.
n/plugin Compoñente enchufable
e/{environmentId} ID do ambiente
h/{hash} SHA-256 do certificado (só autoasinado)
i/{emisor}
s/{certificateSubject}
Detalles do emisor de confianza

Xerar certificado autoasinado

Cada complemento debe ter unha identidade verificable, e o certificado de sinatura actúa como a pegada dixital única do complemento. O seguinte código é un exemplo de fragmento de PowerShell que podes usar para xerar un certificado autoasinado para escenarios de desenvolvemento ou probas. Para referencia, podes seguir o exemplo 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ón para {encodedTenantId}

  1. Converte o GUID → hexadecimal.
  2. Converte hexadecimal → Base64URL (non Base64 estándar).

Hash autoasinado

  • Calcula SHA-256 ao longo do .cer. Se tes un .pfx, exporta primeiro un .cer :
    CertUtil -hashfile <CertificateFilePath> SHA256
    
    $cert = Get-PfxCertificate -FilePath "path	o\your.pfx"
    $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
    

Entornos especializados de Azure cloud

Establece o prefixo Audiencia, URL do emisor e Tema explicitamente ao despregar fóra da nube pública, GCC e primeira estación de lanzamento en GCC:

Nube Público URL do emisor Prefixo do suxeito
GCC High & DoD api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Mooncake (China) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
Nacional dos Estados Unidos (USNAT) api://AzureADTokenExchangeUSNat https://login.microsoftonline.eaglex.ic.gov /eid1/c/uss
Seguro dos EUA (USSec) api://AzureADTokenExchangeUSSec https://login.microsoftonline.scloud /eid1/c/usn

Nota

O valor de audiencia é sensible ás maiúsculas e minúsculas e debe coincidir exactamente.
Para a nube pública, GCC e a primeira estación de lanzamento en GCC (e outras nubes non listadas), os valores predeterminados son:
Audiencia api://AzureADTokenExchange, Emisor https://login.microsoftonline.com, Prefixo /eid1/c/pubde asunto .

Crear e rexistrar complementos ou paquetes de complementos de Dataverse

Construír un ensamblado de complementos

Embalaxe e sinatura

Asinar un paquete de complementos

Se estás a construír un paquete de complementos, usa a CLI NuGet Sign para xerar un paquete a partir dun ficheiro .nuspec ou .csproj. Despois de xerar o paquete, asinao co teu certificado.

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

Asinar un ensamblaxe plug-in

Se estás rexistrando un complemento (ensamblador), asina o DLL cun certificado usando SignTool.exe (Sign Tool).

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

Opcionalmente, podes engadir marcas de tempo proporcionando a URL dun servidor con marca de tempo compatible coa RFC 3161.

Nota

Usa un certificado autoasinado só para fins de desenvolvemento ou probas. Non uses certificados autoasinados en ambientes de produción.

Rexistra o complemento

Crear rexistro de identidade xestionado en Dataverse

Para provisionar un rexistro de identidade xestionado en Dataverse, completa os seguintes pasos.

  1. Crea unha identidade xestionada enviando unha petición HTTP POST cun cliente REST (como Insomnia). Usa unha URL e o corpo da solicitude no seguinte formato.

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

    Asegúrate de substituír orgURL polo URL da organización.

  2. Asegúrese de que credentialsource está establecido en 2 na carga útil, subjectscope está establecido en 1 para escenarios específicos do ambiente e version está establecido en 1 na carga útil.

    Carga ú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. Actualiza o teu paquete ou rexistro ensamblador do complemento emitindo unha solicitude HTTP PATCH para asocialo coa identidade xestionada creada no paso 1.

    Montaxe enchufable

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

    Paquete plug-in

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

    Carga útil de mostra

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

    Asegúrate de substituír orgURL,PluginAssemblyId (ou PluginPackageId) e ManagedIdentityGuid polos teus valores.

Conceder acceso aos recursos de Azure á identidade xestionada da aplicación ou asignada polo usuario

Se necesitas dar acceso a un ID de aplicación para acceder a recursos de Azure, como Azure Key Vault, concede acceso á aplicación ou identidade xestionada asignada polo usuario a ese recurso.

Validar a integración do complemento

Verifica que o teu complemento poida solicitar acceso de forma segura a recursos de Azure que soportan identidade xestionada, eliminando a necesidade de credenciais separadas.

Preguntas máis frecuentes (PMF)

Como podo resolver este erro?

Se recibe o seguinte erro:
Obtención de erro: un problema de configuración impide a autenticación.
AADSTS700213: Non se atopou ningún rexistro de identidade federada correspondente

Completa os seguintes pasos para resolver o problema:

  1. Asegúrese de que o FIC estea correctamente configurado e gardado.

  2. Verifica que o emisor/suxeito cumpra o formato especificado anteriormente.

    Tamén podes atopar o formato esperado na pila de erros.

Como podo resolver o erro "Non foi posíbel acceder ou conectarse a Power Platform"?

Consulte as URLs e rangos de enderezos IP de Power Platform para garantir que os puntos finais de Power Platform sexan accesibles e permitidos.