Sécurisez les éléments d’une liste SharePoint

Groupes de sécurité Azure AD, Groupes de sécurité SharePoint, liste de distribution Exchange, droits nominatifs … Il y a plusieurs façon de sécuriser les données d’une liste SharePoint.

Pour explorer ces différentes options, je vous invite à consulter la vidéo de Reza Dorrani, MVP et youtubeur Power Apps extrêmement pertinent que je vous conseille de suivre.

Il explique dans cette vidéo comment utiliser les différents groupes de sécurité disponibles et leurs impacts.

J’apporte un élément supplémentaire à sa vidéo en vous partageant un flow pour sécuriser vos données en se basant non pas sur le créateur, mais sur son rôle ou son équipe.

Partons du principe que votre application contienne des familles d’utilisateurs sectionnés par rôle ou pas équipe, vous souhaitez qu’un élément créé soit automatiquement partagé à l’ensemble des collaborateurs de la même famille sans que les autres puissent y accéder.

Nous allons passer par un flow Power Automate pour gérer ces différents droits.

Avant de commencer le Flow, les utilisateurs doivent être placés dans des groupes de sécurité SharePoint. Un groupe par rôle ou par équipe.

  1. créez un Flow automatisé avec pour déclencheur : « Lorsqu’un élément est créé ».

2. Arrêtez le partage de l’élément avec l’action : « Arrêter le partage d’un élément ou d’un fichier ».

3. Obtenez les groupes de l’utilisateur avec l’action : « Envoyer une requête HTTP à SharePoint ».

_api/web/SiteUsers/getbyemail('@{triggerBody()?['Author']?['Email']}')/Groups

4. Sélectionnez les groupes auxquels l’utilisateur appartient avec l’action : « Sélectionner ».


4.1 Placez dans « De » la réponse de l’action précédente avec le code suivant.

outputs('Envoyer_une_requête_HTTP_à_SharePoint')?['body']?['d']?['results']


4.2 Cliquez sur l’option « basculer carte en mode texte ».
4.3 Ajoutez « item()?[‘Id’] » dans le champ Carte

5. Dans un « Appliquer à chacun », avec pour valeur la sortie de l’action précédente, ajoutez l’action « Envoyer une requête HTTP à SharePoint ».

_api/lists/getByTitle('Demandes')/items(@{triggerOutputs()?['body/ID']})/roleAssignments/addroleassignment(principalId=@{item()}, roledefId=1073741827)

Pour rappel, voici les différents ID de rôle :


– Lecture : 1073741826
– Modification : 1073741827
– Contrôle total : 1073741829

Attention : Il peut il y avoir quelques secondes entre le moment où l’élément est créé et le lancement du Flow. Si vous souhaitez bloquer la visualisation de l’item pendant ce laps de temps, vous pouvez :

  1. Créer une colonne de type Boolean dans votre liste avec une valeur Non par défaut.
  2. Créer une vue de liste qui n’affiche que les éléments dont la valeur est vraie
  3. Empêcher les utilisateurs de créer des vues personnalisées
  4. Modifier le champs à Oui une fois la modification des droits effectuée

J’espère que cet article vous aidera à mieux sécuriser vos données. N’hésitez pas à partager en commentaire d’autres façons de faire. Comme dit Reza, partager, c’est aimer.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Créez un site ou un blog sur WordPress.com

Retour en haut ↑

%d blogueurs aiment cette page :