Attribuer des permissions site-scopées à une application sur SharePoint Online peut rapidement devenir complexe, même avec un compte Global Administrator.
Après plusieurs tentatives infructueuses (App-Only, Client Secret, Certificat, Sites.Selected, etc.), une seule méthode s’est révélée fonctionnelle, supportée et cohérente avec les contraintes de sécurité imposées par Microsoft.
Pré-requis
- Un compte Global Administrator
- Module : PnP.PowerShell
- Une app registration « cible » sur laquelle on souhaite accorder l’accès au site SharePoint
- Une app registration « admin » avec la permission delegated :
AllSites.FullControl
Connexion interactive via l’application admin
Connect-PnPOnline `
-Url "https://tenant.sharepoint.com/sites/MonSite" `
-ClientId "AppId_de_l_application_AllSites.FullControl" `
-Interactive
Se connecter ensuite avec son compte Global Admin sur la fenêtre.
Attribution de la permission write à l’application cible
Grant-PnPAzureADAppSitePermission `
-AppId "AppId_de_l_application_cible" `
-DisplayName "Nom_de_l_application" `
-Site "https://tenant.sharepoint.com/sites/MonSite" `
-Permissions Write
Permissions disponibles :
ReadWriteFullControlOwner
Vérification des permissions sur le site
Get-PnPAzureADAppSitePermission `
-Site "https://tenant.sharepoint.com/sites/MonSite"
L’AppId de l’application cible doit apparaître avec le rôle attribué.

0 commentaires