Comment choisir la méthode d’authentification ?
Microsoft SharePoint peut être utilisé pour récupérer des fichiers dans vos offres de données ou pour transférer automatiquement les fichiers acquis.
La solution accède à SharePoint à l’aide d’un contexte d’application (App-Only), qui lui permet de se connecter en son nom propre, et non au nom d’un utilisateur spécifique.
Les méthodes proposées sont :
- Azure AD App-Only : méthode recommandée avec SharePoint Online, car elle offre une gestion des permissions centralisée dans Office 365, et simplifiée dans le portail Azure.
- SharePoint App-Only : méthode à privilégier pour les versions « on-premise ».
Configurer via Azure AD App-Only
Consulter la documentation Microsoft sur Azure AD App-Only
Informations à fournir
- URL du site SharePoint : de type https://<tenantname>.sharepoint.com/sites/<sitename> ou https://<tenantname>.sharepoint.com
- URL de l’autorité d’authentification : de type https://login.microsoftonline.com/<tenantname>.onmicrosoft.com
- Client ID : ID de l’application, disponible dans la partie « Inscriptions d’applications » de Microsoft Entra ID (lien vers la documentation).
- Certificat X.509 : certificat enregistré avec l’application dans Azure AD, au format PEM. Il commence par -----BEGIN CERTIFICATE-----.
- Clé privée : clé privée au format RSA, associée au certificat X.509, utilisée pour signer les demandes d’authentification. Elle commence par -----BEGIN PRIVATE KEY-----.
Le certificat et la clé privée doivent provenir de la même paire. Si vous régénérez l’un, régénérez aussi l’autre.
Donner les permissions à l’application
Consulter la documentation Microsoft sur les permissions SharePoint
Le connecteur accède au site SharePoint au nom de l’application. Celle-ci doit donc avoir les droits de lecture et d’écriture sur le site renseigné.
Dans Microsoft Entra ID, allez dans Inscriptions d’applications > votre application > Autorisations d’API > Ajouter une autorisation, puis choisissez l’une des deux options ci-dessous.
Option 1 : Accès limité au site (recommandée)
- Choisissez SharePoint > Autorisations d’application > Sites.Selected.
- Cliquez sur Accorder le consentement administrateur.
- Donnez explicitement à l’application le droit d’écriture sur le site. Un administrateur SharePoint peut le faire avec PnP PowerShell :
Grant-PnPAzureADAppSitePermission -AppId <Client ID> -DisplayName "<nom de l'application>" -Site https://<tenantname>.sharepoint.com/sites/<sitename> -Permissions Write
Option 2 : Accès à tous les sites du tenant
- Choisissez SharePoint > Autorisations d’application > Sites.ReadWrite.All.
- Cliquez sur Accorder le consentement administrateur.
Points de vigilance
- La permission doit être ajoutée sous l’API SharePoint. Une permission portant le même nom existe sous Microsoft Graph, mais elle n’est pas utilisée par le connecteur.
- Elle doit être de type Application, et non "Déléguée".
- Le statut doit indiquer "Accordé pour <nom de votre organisation>".
- Un changement de permission peut prendre jusqu’à une quinzaine de minutes à être pris en compte. Attendez avant de retester.
Configurer via SharePoint App-Only
Consulter la documentation Microsoft sur SharePoint App-Only
Informations à fournir
- URL du site SharePoint : de type https://<tenantname>.sharepoint.com/sites/<sitename> ou https://<tenantname>.sharepoint.com
- URL de l’autorité d’authentification : dépend de votre installation. Exemple : https://accounts.accesscontrol.windows.net/<tenantId>/tokens/OAuth/2
- Client ID : fourni lors de la création de l’application dans le SharePoint admin center. Disponible dans la partie « Inscriptions d’applications » de Microsoft Entra ID (lien vers la documentation).
- Client secret : fourni lors de la création de l’application dans le SharePoint admin center. Disponible dans la partie « Inscriptions d’applications » de Microsoft Entra ID (lien vers la documentation).
Donner les permissions à l’application
Consulter la documentation Microsoft sur les permissions SharePoint
Les permissions de l’application sont définies dans un XML à renseigner dans le SharePoint admin center (cf. documentation). Ce XML doit contenir au minimum :
- les permissions Read et Write sur le scope http://sharepoint/content/sitecollection/web ;
- le paramètre AllowAppOnlyPolicy="true".
Exemple de XML
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Write"/>
</AppPermissionRequests>