Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
L’identité managée Power Platform permet aux plug-ins Dataverse ou aux packages de plug-ins de se connecter aux ressources Azure pour prendre en charge l’identité managée sans avoir besoin d’informations d’identification. Cet article vous aide à configurer l’identité gérée dans vos environnements Power Platform.
Configuration requise
- Un abonnement Azure avec accès pour approvisionner l’identité managée affectée par l’utilisateur (UAMI) ou l’enregistrement d’application.
- Outils pour les plug-ins ou les packages de plug-ins :
- Environnement de développeur intégré (IDE), par exemple Visual Studio, pour créer un plug-in
- Outil d’enregistrement de plug-in
- SignTool.exe (outil de signature) pour signer l’assemblage de plug-in
- Power Platform CLI
- Certificat valide pour signer l'assemblage du plug-in.
Configurer l’identité gérée
Pour configurer l’identité managée Power Platform pour les plug-ins Dataverse ou les packages de plug-ins, procédez comme suit.
- Créez un enregistrement d’application ou une identité managée attribuée par l’utilisateur.
- Configurez les informations d’identification de l’identité fédérée.
- Créez et inscrivez des plug-ins Dataverse ou des packages de plug-ins.
Assurez-vous de créer l’assembly de plug-in et d’enregistrer le plug-in ou le package du plug-in. - Créez un enregistrement d’identité managée dans Dataverse.
- Accordez l’accès aux ressources Azure à l’application ou à l’identité managée affectée par l’utilisateur (UAMI).
- Validez l’intégration du plug-in.
Créer un enregistrement d’application ou une identité managée attribuée par l’utilisateur
Vous pouvez créer une identité managée affectée par l’utilisateur ou une application dans Microsoft Entra ID en fonction des scénarios suivants.
- Si vous souhaitez qu’une identité d’application soit associée au plug-in qui se connecte aux ressources Azure, telles qu’Azure Key Vault, utilisez l’inscription d’application. Avec l’identité de l’application, vous pouvez appliquer des stratégies Azure sur le plug-in qui accède aux ressources Azure.
- Si vous souhaitez qu’un principal de service accède aux ressources Azure, telles qu’Azure Key Vault, vous pouvez approvisionner une identité managée affectée par l’utilisateur.
Note
Veillez à capturer les ID suivants, car vous les utilisez dans les étapes ultérieures.
- ID d’application (client)
- ID locataire
Configurer les informations d’identification de l’identité fédérée
Pour configurer l’identité gérée, ouvrez l’identité gérée affectée par l’utilisateur ou l’application Microsoft Entra ID dans le portail Azure que vous avez créée dans la section précédente.
- Accédez au portail Azure.
- Accédez à Microsoft Entra ID.
- Sélectionnez Inscriptions d’applications.
- Ouvrez l’application que vous avez créée dans Configurer l’identité managée.
- Accédez à Certificats & secrets.
- Sélectionnez l’onglet Informations d’identification fédérées et sélectionnez Ajouter des informations d’identification.
- Sélectionnez l’émetteur comme Autre émetteur.
- Saisissez les informations suivantes :
Issuer
Utilisez l’émetteur v2.0 du locataire :
https://login.microsoftonline.com/{tenantID}/v2.0
Example
https://login.microsoftonline.com/5f8a1a9f-2e1a-415f-b10c-84c3736a21b9/v2.0
Type
Choisissez l’identificateur d’objet explicite.
Identificateur de l’objet
Choisissez le format correspondant à votre type de certificat :
Certificat auto-signé (développement uniquement) :
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/h/{hash}Certificat émetteur approuvé (recommandé pour la production) :
/eid1/c/pub/t/{encodedTenantId}/a/qzXoWDkuqUa3l6zM5mM0Rw/n/plugin/e/{environmentId}/i/{issuer}/s/{certificateSubject}
Référence de segment
| Segment | Descriptif |
|---|---|
| eid1 | Version du format d’identité |
| c/pub | Code cloud pour le cloud public, le cloud de la communauté du secteur public (GCC) et la station de première publication dans GCC. |
| t/{encodedTenantId} | ID locataire |
| a/qzXoWDkuqUa3l6zM5mM0Rw/ | Utilisation interne uniquement. Ne modifiez pas. |
| n/plugin | Composant de module d'extension |
| e/{environmentId} | ID environnement |
| h/{hash} | SHA-256 du certificat (auto-signé uniquement) |
| i/{issuer} s/{certificateSubject} |
Détails de l’émetteur approuvé |
Générer un certificat auto-signé
Chaque plug-in doit avoir une identité vérifiable et le certificat de signature agit comme empreinte digitale unique du plug-in. Le code suivant est un exemple d’extrait de code PowerShell que vous pouvez utiliser pour générer un certificat auto-signé pour les scénarios de développement ou de test. Pour référence, vous pouvez suivre 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
Note
Encodage pour {encodedTenantId}
- Convertissez GUID → Hex.
- Convertissez hex → Base64URL (pas base64 standard).
Hachage auto-signé
-
Calculez SHA-256 sur le .cer. Si vous avez un .pfx, exportez d’abord un .cer :
CertUtil -hashfile <CertificateFilePath> SHA256 $cert = Get-PfxCertificate -FilePath "path o\your.pfx" $cert.RawData | Set-Content -Encoding Byte -Path "extracted.cer"
Environnements cloud Azure spécialisés
Définissez explicitement audience, URL de l’émetteur et préfixe objet lors du déploiement en dehors du cloud public, du GCC et de la première station de publication dans GCC :
| Cloud | Public visé | URL de l’émetteur | Préfixe de l’objet |
|---|---|---|---|
| GCC High et DoD | api://AzureADTokenExchangeUSGov |
https://login.microsoftonline.us |
/eid1/c/usg |
| Mooncake (Chine) | 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 |
Note
La valeur Audience est sensible à la casse et doit correspondre exactement.
Pour le cloud public, GCC et la première station de publication dans GCC (et d’autres clouds non répertoriés), les valeurs par défaut sont les suivantes :
Audience api://AzureADTokenExchange, Émetteur https://login.microsoftonline.com, Objet /eid1/c/pub.
Créer et inscrire des plug-ins Dataverse ou des packages de plug-in
Créer un assembly de plug-in
Créez un plug-in à l’aide de Visual Studio. Lors de la création du plug-in, utilisez l’ID de locataire dans Créer un enregistrement d’application ou une identité managée affectée par l’utilisateur et les étendues comme URL d’organisation
https://{OrgName}.crm*.dynamics.com/.defaultou même des étendues plus granulaires.Utilisez IManagedIdentityService et acquérez une méthode de jeton pour demander un jeton avec une étendue donnée.
Signature de méthode :
string AcquireToken(IEnumerable<string> scopes);
Empaquetage et signature
Signature d’un package de plug-in
Si vous créez un package de plug-in, utilisez l’interface CLI de signature NuGet pour générer un package à partir d’un fichier .nuspec ou d’un fichier .csproj. Après avoir généré le package, signez-le avec votre certificat.
nuget sign YourPlugin.nupkg `
-CertificatePath MyCert.pfx `
-CertificatePassword "MyPassword" `
-Timestamper http://timestamp.digicert.com
Signature d’un assembly de plug-in
Si vous inscrivez un plug-in (assembly), signez la DLL avec un certificat à l’aide de SignTool.exe (outil de signature).
signtool sign /f MyCert.pfx /p MyPassword /t http://timestamp.digicert.com /fd SHA256 MyAssembly.dll
Vous pouvez éventuellement ajouter un horodatage en fournissant l’URL d’un serveur d’horodatage conforme À RFC 3161.
Note
Utilisez un certificat auto-signé uniquement à des fins de développement ou de test. N’utilisez pas de certificats auto-signés dans des environnements de production.
Enregistrer le plug-in
Installez l’outil d’inscription du plug-in si vous ne l’avez pas déjà sur votre ordinateur. Pour plus d’informations, consultez Outils de développement Dataverse.
Enregistrez le plug-in. Pour plus d’informations, voir Enregistrer le plug-in.
Créer un enregistrement d’identité gérée dans Dataverse
Pour approvisionner un enregistrement d’identité managée dans Dataverse, procédez comme suit.
Créez une identité managée en envoyant une requête HTTP POST avec un client REST (par exemple, Insomnie). Utilisez une URL et un corps de requête au format suivant.
POST https://<<orgURL>>/api/data/v9.0/managedidentitiesVeillez à remplacer orgURL par l’URL de l’organisation.
Vérifiez que la source d’informations d’identification est définie sur 2 dans la charge utile, subjectscope est défini sur 1 pour les scénarios spécifiques à l’environnement, et la version est définie sur 1 dans la charge utile.
Exemple de charge utile
{ "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 }Mettez à jour votre package de plug-in ou votre enregistrement d’assembly plug-in en émettant une requête HTTP PATCH pour l’associer à l’identité managée créée à l’étape 1.
Assemblage de module
PATCH https://<<orgURL>>/api/data/v9.0/pluginassemblies(<<PluginAssemblyId>>)Package de plug-in
PATCH https://<<orgURL>>/api/data/v9.0/pluginpackages(<<PluginPackageId>>)Exemple de charge utile
{ "managedidentityid@odata.bind": "/managedidentities(<<ManagedIdentityGuid>>)" }Veillez à remplacer orgURL, PluginAssemblyId (ou PluginPackageId) et ManagedIdentityGuid par vos valeurs.
Accorder l’accès aux ressources Azure à l’application ou à l’identité managée affectée par l’utilisateur
Si vous devez accorder l’accès à un ID d’application pour accéder aux ressources Azure, telles qu’Azure Key Vault, accordez l’accès à l’application ou à l’identité managée affectée par l’utilisateur à cette ressource.
Valider l’intégration du plug-in
Vérifiez que votre plug-in peut demander en toute sécurité l’accès aux ressources Azure qui prennent en charge l’identité managée, éliminant ainsi le besoin d’informations d’identification distinctes.
Questions Fréquemment Posées (FAQ)
Comment résoudre cette erreur ?
Si vous recevez l’erreur suivante :
Obtention d’une erreur : un problème de configuration empêche l’authentification.
AADSTS700213 : aucun enregistrement d’identité fédérée correspondant trouvé
Effectuez les étapes suivantes pour résoudre le problème :
Vérifiez que le FIC est correctement configuré et enregistré.
Vérifiez que l’émetteur/objet correspond au format spécifié précédemment.
Vous pouvez également trouver le format attendu dans la pile d’erreurs.
Comment résoudre l’erreur « Impossible d’atteindre ou de se connecter à Power Platform » ?
Reportez-vous aux URL Power Platform et aux plages d’adresses IP pour vous assurer que les points de terminaison Power Platform sont accessibles et autorisés.