Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’utilisation de l’entité Documents SharePoint dans une organisation Dynamics 365 en dehors de la grille de documents dans une application Dynamics 365 Customer Engagement (on-premises) nécessite une application Azure pour accorder l’accès. Un exemple de cet accès inclut l’utilisation dans les appels d’API de Dynamics 365 Customer Engagement. La configuration utilise les identités managées Power Platform avec Azure pour accorder l’accès.
Important
À partir de mars 2025, l’accès actuel est supprimé pour améliorer la protection du système. Pour garantir un accès continu, suivez ces étapes pour créer une application Azure avec les autorisations SharePoint nécessaires, configurer des identités managées dans votre organisation Dynamics 365 Customer Engagement (on-premises) et configurer les informations d’identification fédérées.
Créer une application Azure avec des autorisations SharePoint
Créez un enregistrement d’application avec une autorisation d’API dans SharePoint. Pour en savoir plus sur l’enregistrement d’une application et l’accès SharePoint, consultez Démarrage rapide Azure : Enregistrer une application et Accès SharePoint via l’application Azure AD uniquement.
Ouvrez le Portail Azure.
Sous Services Azure, sélectionnez Inscriptions d’applications.
Sélectionnez Nouvelle inscription.
Entrez un Nom pour l’application.
Sous Types de comptes pris en charge, sélectionnez Comptes dans ce répertoire organisationnel uniquement.
Nonte
Les autres types de comptes ne sont actuellement pas pris en charge.
Sélectionnez Enregistrer pour créer l’Enregistrement d’application.
Notez l’ID d’application (client) et l’ID de répertoire (client).
- Dans la liste de navigation, sélectionnez Vue d’ensemble.
- Sous Essentials, copiez les valeurs ID d’application (client) et ID de répertoire (client) à utiliser dans la section suivante.
Dans la liste de navigation, sélectionnez Gérer>Autorisations d’API.
Sous Autorisations configurées, sélectionnez Ajouter une autorisation pour ouvrir le volet Demander des autorisations d’API.
- Sélectionnez SharePoint.
- Sous Quel type d’autorisations votre application requiert-elle ?, sélectionnez Autorisations d’application.
- Sous Sélectionner des autorisations, sélectionnez Sites.FullControl.All.
- Sélectionnez Ajouter des autorisations pour créer l’autorisation SharePoint.
- Sélectionnez Accorder le consentement administrateur pour
<tenant name>
.
Conditions préalables à la configuration du serveur
Téléchargez le package NuGet pour l’assembly « Microsoft.Identity.Client » version 4.11.0.
- Ouvrir https://www.nuget.org/packages/Microsoft.Identity.Client/4.11.0#readme-body-tab
- Sous À propos, sélectionnez Télécharger le package
Renommez le package téléchargé de « microsoft.identity.client.4.11.0.nupkg » à microsoft.identity.client.4.11.0.zip.
Exécutez l’extraction de microsoft.identity.client.4.11.0.zip.
Dans le répertoire extrait, ouvrez le dossier lib/net45 et recherchez les fichiers « Microsoft.Identify.Client.dll » et « Microsoft.Identify.Client.xml » à utiliser dans une étape ultérieure.
Sur le serveur Windows Server sur lequel le rôle Serveur d’applications web Dynamics 365 Customer Engagement (on-premises) s’exécute, ouvrez le Gestionnaire des services IIS.
- Ouvrez l’invite Exécuter à partir du menu Démarrer de la barre des tâches Windows.
- Tapez inetmgr, puis appuyez sur Entrée.
Développez la section Sites dans le volet Connexions.
Cliquez avec le bouton droit sur le site Microsoft Dynamics CRM, sélectionnez Explorer, puis ouvrez le dossier CRMWeb.
Ouvrez le dossier corbeille.
Copiez les deux fichiers « Microsoft.Identity.Client.dll » et « Microsoft.Identity.Client.xml » à partir du répertoire du package NuGet extrait, puis collez-les tous les deux dans le dossier corbeille.
Créer un enregistrement d’application Azure dans la table PartnerApplicationBase de la base de données de l’organisation Dynamics 365 Customer Engagement
- Ouvrez SQL Server Management Studio et copiez-y ce script SQL.
IF (SELECT COUNT(*)
FROM OrganizationBase WITH (NOLOCK)) <> 1
THROW 51000, 'Organization records does not equal 1', 1
DECLARE @organizationId UNIQUEIDENTIFIER = (SELECT OrganizationId
FROM OrganizationBase WITH (NOLOCK));
DECLARE @utcNow DATETIME = GetUtcDate();
DECLARE @principalId UNIQUEIDENTIFIER = '00000003-0000-0ff1-ce00-000000000000';
DECLARE @applicationName NVARCHAR(100) = 'Microsoft SharePoint Online';
DECLARE @byoaAppId UNIQUEIDENTIFIER = '<appId>';
--Customer need to provide the app id.
DECLARE @tenantId UNIQUEIDENTIFIER = '<tenantId';
BEGIN TRANSACTION InsertRows
INSERT INTO [dbo].[PartnerApplicationBase]
([PrincipalId]
,[StateCode]
,[Name]
,[UseAuthorizationServer]
,[PartnerApplicationId]
,[StatusCode]
,[ApplicationRole]
,[OrganizationId]
,[CreatedOn]
,[ModifiedOn]
,[TenantId])
VALUES
(@principalId
, 0
, @applicationName
, 1
, @byoaAppId
, 1
, 1
, @organizationId
, @utcNow
, @utcNow
, @tenantId)
COMMIT TRANSACTION InsertRows
Dans le script, mettez à jour les variables @byoaAppId et @tenantId avec les valeurs ID d’application et ID de client que vous avez copiées précédemment à partir du portail Microsoft Azure dans la section Créer une application Azure avec des autorisations SharePoint de cet article.
Vérifiez la base de données, puis exécutez le script.
Confirmez en exécutant la requête
SELECT * FROM [PartnerApplicationBase]
et en vérifiant les champs PartnerApplicationId et TenantId.
Charger le certificat dans les certificats de l’application Azure
Récupérez le certificat Dynamics 365 Customer Engagement (on-premises) existant à l’aide de ce script.
cd $PSScriptRoot
$OutputFilePath = $PSScriptRoot + "\certificates\existing_crmsharepoints2s.cer"
$RemoveSnapInWhenDone = $False
if (-not (Get-PSSnapin -Name Microsoft.Crm.PowerShell -ErrorAction SilentlyContinue)) {
Add-PSSnapin Microsoft.Crm.PowerShell
$RemoveSnapInWhenDone = $True
}
try {
# Ensure the directory exists
$directory = [System.IO.Path]::GetDirectoryName($OutputFilePath)
if (-not (Test-Path -Path $directory)) {
New-Item -ItemType Directory -Path $directory | Out-Null
}
# Fetch existing certificate using Get-CrmCertificate and filter by CertificateType
$existingCert = Get-CrmCertificate | Where-Object { $_.CertificateType -eq "S2STokenIssuer" }
if ($null -eq $existingCert) {
Write-Error "No certificate found with CertificateType 'S2STokenIssuer'."
return
}
# Store the certificate in the specified path
$certBytes = [Convert]::FromBase64String($existingCert.Data)
[System.IO.File]::WriteAllBytes($OutputFilePath, $certBytes)
Write-Output "Certificate saved to $OutputFilePath"
}
catch {
Write-Error "An error occurred: $_"
}
finally {
if ($RemoveSnapInWhenDone) {
Remove-PSSnapin Microsoft.Crm.PowerShell
}
}
Chargez le certificat existant dans les certificats de l’application Azure
Ouvrez un navigateur web et accédez au portail Azure de l’application Azure AD qui a été créée dans la première section.
Développez Gérer, puis sélectionnez Certificats et secrets.
Chargez le fichier de certificat créé.
Sous la section Certificats, sélectionnez Charger un certificat.
Utilisez l’option Charger un certificat pour sélectionner le fichier de certificat créé à partir du script PowerShell.
Ajoutez la Description, puis sélectionnez Ajouter.
Le certificat nouvellement créé s’affiche dans la liste Certificats.