Compartir a través de


Configurar la identidad gestionada de Power Platform para complementos o paquetes de complementos de Dataverse

La identidad administrada de Power Platform permite que los complementos o paquetes de complementos de Dataverse se conecten con recursos de Azure para admitir la identidad administrada sin necesidad de credenciales. Este artículo le ayuda a configurar la identidad administrada en sus entornos de Power Platform.

Requisitos previos

  • Una suscripción Azure con acceso para aprovisionar la identidad administrada asignada por el usuario (UAMI) o el registro de aplicaciones.
  • Herramientas para complementos o paquetes de complementos:
  • Certificado válido para firmar el ensamblado del complemento.

Configurar identidad administrada

Para configurar la identidad administrada de Power Platform para complementos o paquetes de complementos de Dataverse, complete los pasos siguientes.

  1. Cree un nuevo registro de aplicación o una identidad administrada asignada por el usuario.
  2. Configure las credenciales de identidad federada.
  3. Cree y registre complementos o paquetes de complementos de Dataverse.
    Asegúrese de compilar el ensamblado del complemento y registrar el complemento o el paquete de complemento.
  4. Cree un registro de identidad administrada en Dataverse.
  5. Conceda acceso a los recursos de Azure a la aplicación o a la identidad administrada asignada por el usuario (UAMI).
  6. Valide la integración del complemento.

Cree un nuevo registro de aplicación o una identidad administrada asignada por el usuario

Puede crear una identidad administrada asignada por el usuario o una aplicación en microsoft Entra ID en función de los escenarios siguientes.

  • Si quiere una identidad de aplicación asociada al complemento que se conecta a recursos de Azure, como Azure Key Vault, use el registro de aplicaciones. Con la identidad de la aplicación, puede aplicar directivas de Azure en el complemento que accede a los recursos de Azure.
  • Si quiere que una entidad de servicio acceda a los recursos de Azure, como Azure Key Vault, puede aprovisionar una identidad administrada asignada por el usuario.

Nota

Asegúrese de anotar los siguientes identificadores, ya que los usará en pasos posteriores.

  • Id. de aplicación (cliente)
  • Id. de inquilino

Configure las credenciales de identidad federada

Para configurar una identidad administrada, abra la identidad administrada asignada por el usuario o la aplicación Microsoft Entra ID en Azure Portal que ha creado en la sección anterior.

  1. Vaya a Azure Portal.
  2. Vaya a Microsoft Entra ID.
  3. Seleccione App registrations (Registros de aplicaciones).
  4. Abra la aplicación que creó en Configurar identidad administrada.
  5. Vaya a Certificados y secretos.
  6. Seleccione la pestaña Credenciales federadas y seleccione Agregar credencial.
  7. Seleccione emisor como Otro emisor.
  8. Especifique la siguiente información:

Emisor

Utilice el emisor v2.0 del inquilino

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

Example

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

Tipo

Elija Identificador de asunto explícito.

Identificador del sujeto

Elija el formato que coincida con el tipo de certificado:

  • Certificado autofirmado (solo para desarrollo):

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

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

Referencia de segmento

Segmento Description
eid1 Versión del formato de identidad
c/pub Código en la nube para la nube pública, Government Community Cloud (GCC) y la primera estación de lanzamiento en GCC.
t/{encodedTenantId} Id. de inquilino
a/qzXoWDkuqUa3l6zM5mM0Rw/ Solo para uso interno. No modifiques.
n/plugin Componente de complemento
e/{environmentId} Id. de entorno
h/{hash} SHA-256 de certificado (solo autofirmado)
i/{issuer}
s/{certificateSubject}
Detalles del emisor de confianza

Generación de un certificado autofirmado

Cada complemento debe tener una identidad verificable y el certificado de firma actúa como huella digital única del complemento. El código siguiente es un fragmento de código de PowerShell de ejemplo que puede usar para generar un certificado autofirmado para escenarios de desarrollo o pruebas. Como referencia, puede seguir el ejemplo 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. Convertir GUID → hexadecimal.
  2. Convierta Hexadecimal → Base64URL (no Base64 estándar).

Hash autofirmado

  • Calcule SHA-256 en el .cer. Si tiene un archivo .pfx, exporte primero 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 en la nube de Azure

Establezca Audience, Dirección URL del emisor y Prefijo del asunto explícitamente al implementar fuera de la nube pública, GCC y la fase de primera liberación en GCC:

Nube Público Dirección URL del emisor Prefijo de asunto
GCC High y el Departamento de Defensa api://AzureADTokenExchangeUSGov https://login.microsoftonline.us /eid1/c/usg
Pastel de Luna (China) api://AzureADTokenExchangeChina https://login.partner.microsoftonline.cn /eid1/c/chn
Nacional de EE. UU. (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

El valor Audiencia es sensible a las mayúsculas y debe coincidir exactamente.
Para la nube pública, GCC y la primera estación de lanzamiento en GCC (y otras nubes no enumeradas), los valores predeterminados son:
Audiencia api://AzureADTokenExchange, Emisor https://login.microsoftonline.com, Prefijo de asunto /eid1/c/pub.

Creación y registro de complementos o paquetes de complementos de Dataverse

Crear ensamblado de complementos

Empaquetado y firma

Firma de un paquete de complemento

Si está construyendo un paquete de complemento, use la CLI de NuGet Sign para generar un paquete a partir de un archivo .nuspec o .csproj. Después de generar el paquete, firme con el certificado.

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

Firma de un ensamblaje de plugin

Si va a registrar un complemento (ensamblado), firme el archivo DLL con un certificado mediante SignTool.exe (Herramienta de firma).

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

Opcionalmente, puede agregar la marca de tiempo proporcionando la dirección URL de un servidor de marca de tiempo compatible con RFC 3161.

Nota

Use un certificado autofirmado solo con fines de desarrollo o pruebas. No use certificados autofirmados en entornos de producción.

Registrar el complemento

Crear registro de identidad administrada en Dataverse

Para aprovisionar un registro de identidad administrada en Dataverse, complete los pasos siguientes.

  1. Cree una identidad administrada enviando una solicitud HTTP POST con un cliente REST (como Insomnio). Use una dirección URL y un cuerpo de solicitud en el formato siguiente.

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

    Asegúrese de reemplazar orgURL por la URL de la organización.

  2. Asegúrese de que credentialsource está establecido en 2 en la carga, subjectscope está establecido en 1 para escenarios específicos del entorno y la versión está establecida en 1 en la carga.

    Carga de ejemplo

    {
      "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. Actualice el paquete del complemento o el registro de ensamblado del complemento mediante la emisión de una solicitud HTTP PATCH para asociarlo a la identidad administrada creada en el paso 1.

    Ensamblaje de plugin

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

    Paquete de complemento

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

    Carga de ejemplo

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

    Asegúrese de reemplazar orgURL, PluginAssemblyId (o PluginPackageId) y ManagedIdentityGuid por sus valores.

Conceda acceso a los recursos Azure a la aplicación o a la identidad administrada asignada por el usuario (UAMI)

Si necesita conceder acceso a un identificador de aplicación para acceder a los recursos de Azure, como Azure Key Vault, conceda acceso a la aplicación o a la identidad administrada asignada por el usuario a ese recurso.

Valide la integración del complemento

Compruebe que el complemento puede solicitar de forma segura acceso a los recursos Azure que admiten la identidad administrada, lo que elimina la necesidad de credenciales independientes.

Preguntas más frecuentes (FAQ)

¿Cómo se resuelve este error?

Si aparece el siguiente mensaje de error:
Error: un problema de configuración impide la autenticación.
AADSTS700213: no se encontró ningún registro de identidad federado coincidente

Complete los pasos siguientes para resolver el problema:

  1. Asegúrese de que el FIC está configurado y guardado correctamente.

  2. Compruebe que el emisor o asunto coincide con el formato especificado anteriormente.

    También puede encontrar el formato esperado en la pila de errores.

¿Cómo se resuelve el error "No se puede alcanzar o establecer conexión a Power Platform"?

Consulte Direcciones URL de Power Platform e intervalos de direcciones IP para asegurarse de que los puntos de conexión de Power Platform sean accesibles e incluidos en la lista de permitidos.