Automatiser les droits d’accès aux éléments dans une liste SharePoint avec Power Automate.

Posté le : 12/09/2022

Partager

Lors de mes missions en tant que consultante Business App Maker Power Platform, je suis parfois amenée à gérer les autorisations dans SharePoint (accès aux listes et aux éléments selon les utilisateurs). Cette action peut se faire manuellement dans les paramètres de la liste du site SharePoint. Néanmoins, si le processus métier implique des personnes tierces, il faut qu’elles puissent également accéder et éditer le contenu des éléments. Ces droits doivent donc s’appliquer lors de la création d’un nouvel élément, c’est là que Power Automate va entrer en jeu.

Dans cet article, je vous propose un flux automatique via Power Automate qui va permettre d’automatiser les droits d’accès aux éléments dans une liste SharePoint. Je vais prendre l’exemple d’un cas de workflow de validation impliquant des données confidentielles. Ce processus de validation se fait à travers une application Power Apps basée sur des listes SharePoint pour le stockage des données.

Gérer les accès sur un élément SharePoint manuellement

Petit rappel, pour gérer les accès aux éléments SharePoint, aller dans les “Paramètres avancés” de la liste SharePoint et sélectionner “créés par l’utilisateur” pour les accès en lecture, création et modification.

Attention, il est obligatoire d’être propriétaire (contrôle total) du site SharePoint pour faire cette action.

Concrètement ça veut dire quoi ? L’utilisateur qui ouvre le site SharePoint ne verra que les lignes qu’il a créées et non celles des autres, que ce soit en lecture ou en édition.

L’action manuelle est intéressante pour les cas où il n’y a pas de personnes tierces qui doivent intervenir sur les lignes créées par l’utilisateur.

Pour le cas de notre workflow de validation, les personnes qui vont approuver les demandes doivent pouvoir intervenir sur ces lignes (que ce soit en lecture ou en écriture). Les connecteurs SharePoint dans Power Automate permettent de répondre à ce besoin.

Démonstration dans Power Automate

  • Créer un flux Power Automate qui récupère les éléments de la liste concernée.
  • Ajouter le connecteurEnvoyer une requête HTTP à SharePoint”, sélectionner la méthode POST et ajouter la requête suivante : “_api/lists/getByTitle(‘NOM_LISTE’)/items(@{triggerOutputs()?[ELEMENT_ID’]})/breakroleinheritance(copyRoleAssignments=false,clearSubscopes=true)
    • NOM_LISTE : Indiquer le nom de la liste concernée
    • ID : Mettre l’ID de la liste concernée
    • Cette requête permet de casser les autorisations d’origine des éléments SharePoint, comme une mise à zéro, afin de pouvoir donner des nouveaux droits par la suite.
  • Ajouter le connecteurAccorder l’accès à un élément ou un dossier”. Ce connecteur récent permet d’éviter de faire des requêtes HTTP en accordant plus simplement les accès aux éléments de la liste sélectionnée.
    • L’élément SharePoint est ici identifié par l’ID.
    • Le champ Destinataires permet d’ajouter les noms des personnes qui ont les droits sur cet élément. Cela peut être directement la sélection d’une ou plusieurs personnes ou alors une liste de personnes stockée dans une variable.
    • Le champ Rôles permet de définir le niveau d’accès à l’élément. Ici c’est “Can Edit” car les personnes doivent pouvoir modifier la ligne.

Tips

Si vous avez mis en place un flux d’archivage automatique d’une liste à une autre, il faut refaire cette action dans le flux Power Automate qui concerne la liste contenant les archives.

Il est important de préciser que l’utilisation de cette méthode ne doit pas être utilisée systématiquement mais doit répondre à un besoin spécifique lorsque les paramètres de base SharePoint ne permettent pas d’y répondre.

Expertime est là pour vous accompagner et vous coacher dans ces étapes, donc n’hésitez pas à nous contacter pour échanger ou demander conseil !

Laetitia Rémy 
Consultante digital – Business App Maker
Contactez-nous Postuler Nos offres d'emploi