Accéder au contenu principal

SharePoint : Bug sur la gestion des permissions et la synchronisation Office

 Nous avons vu dans un précédent message comment supprimer les accès depuis Office vers des listes SharePoint :

Tout ceci fonctionne parfaitement sauf dans un contexte particulier que je vais présenter.

Attention:
Il faut noter que ce cas a été constaté sur SharePoint 2007, mais qu’il persiste avec SharePoint 2013 (et très certainement avec 2010). Il est fort probable qu’il soit aussi présent dans SharePoint OnLine.


Définition du besoin des utilisateurs

Les utilisateurs souhaitent un cas assez simple :

  • Permettre à des utilisateurs de contribuer à une liste de type TaskList sans pour autant laisser ces mêmes “Contributeurs” la synchronisation via Outlook

La solution pour répondre à ce besoin est bien sur d’utiliser la procédure présentée dans l’article précédent :


Mise en place de la réponse à ce besoin

On édite ainsi le niveau de permissions “Edit” dans SharePoint 2013 (qui est associé avec les Membres)

image

On désactive les cases (dans le groupe Site Permissions):

  • Use Remote Interfaces
  • Use Client Integration Features

image

On enregistre alors cette configuration et on ajoute l’utilisateur souhaité dans les membres de ce site, qui est de base associé au niveau de permissions “Edit”

image

Mon compte est donc ajouté dans les membres contributeurs de ce site, sans bénéficier de la synchronisation avec Office (et Outlook)

image

En se connectant sur le site avec mon compte membre, je vois dans la liste “Mytask” créée pour l’occasion, héritant des permissions du site, que les boutons Office sont désactivés

image

Jusqu’ici, tout se passe parfaitement comme le souhaitent les utilisateurs.


Cas du bug

Toujours sur ce même site, le responsable souhaite ajouter une librairie documentaire afin de mettre à la disposition des contributeurs la documentation d’utilisation de ce site et de la liste des taches.

Cette documentation ne doit être disponible qu’en lecture pour ces utilisateurs et il est donc évident que l’héritage des permissions ne peut pas être conservé pour ces membres.

Nous allons donc dans les paramètres de la librairie des documentations (créée pour l’occasion)

image

Puis, il faut éditer les permissions de cette liste

image

Et casser l’héritage des permissions du parent (donc du site)

image

On choisi le groupe membre et on clique sur “Edit User Permission”

image

On change les permission de ce groupe avec uniquement le droit “Read” sur cette liste et on valide par OK

image

Maintenant, si on retourne sur le site, et la liste des taches, avec le compte utilisateur apartenant au groupe des membres

image

On voit apparaitre les boutons de synchronisation avec Office, alors que cela ne devrait pas arriver !!!


Explication du Bug

Le cas s’explique par un comportement natif de SharePoint suite à cette action de cassure d’héritage des permissions dans un niveau du site.

En effet, si on retourne dans les permissions à la racine du site pour le groupe “Membre”, on voit de base qu’il est censé avoir uniquement le niveau de permission “Edit”

image

Mais dans le détails, un second niveau de permissions apparaît alors “Limited Access”

image

Ce niveau de permission n’est pas supprimable, même si on annule la cassure d’héritage, il reste présent, comme dans la capture ci dessous

image

En allant dans les détails des niveaux de permissions, on retrouve ce niveau “Limited Access”

image

Et le détail des permissions associées à ce niveau nous montre qu’il est autorisé pour la synchronisation avec Office

image

L’interface graphique ne permet pas de changer ces options !!!

On trouve d’ailleurs les détails des permissions associées à ce niveau site le site Microsoft :

image


Work Around pour annuler cette effet

Il faut savoir qu’il n’y a pas de patch pour ce cas qui a aussi été constaté dans un autre contexte (les sites Web Publics basés sur SharePoint):

Cela ne nous aide pas dans notre contexte, car nous sommes uniquement sous SharePoint Foundation. Il n’est pas possible de supprimer le niveau de permission “Limited Access” en utilisant le code PowerShell disponible ici :

$web = Get-SPWeb -Identity http://MySharePointWebApp/sites/PermissionMgt $PermissionLevel=$web.RoleDefinitions $PermissionLevel.Delete("Limited Access")

Le retour d’erreur de cette commande est le suivant :

  • You cannot remove the Limited Access or Full Control permission levels

La solution est donc d’utiliser PowerShell pour modifier les permissions associées avec ce niveau et supprimer la synchronisation Office. Le code est le suivant :

function Change-Permission-Level([string]$SiteURL, [string]$PermissionName)
{
    $web = Get-SPWeb -Identity $SiteURL
    $PermissionLevels=$web.RoleDefinitions
    foreach($MyPermission in $PermissionLevels)
    {
        Write-Host " -------------------------------"
        Write-Host "Permission Name:", $MyPermission.Name
        Write-Host "  -> Permission Description:", $MyPermission.Description
        Write-Host "  -> Permission Hidden:", $MyPermission.Hidden
        Write-Host "  -> Permission BasePermissions:", $MyPermission.BasePermissions
        Write-Host " -------------------------------"

        if($MyPermission.Name -eq $PermissionName)
        {
            $MyPermission.BasePermissions = "ViewFormPages, Open, BrowseUserInfo"
            $MyPermission.Update()
            Write-Host "  -> Permission Changed remove Office Integration !!!"
        }
        Write-Host " -------------------------------"
    }

    $web.dispose()
}

Change-Permission-Level “http://MySharePointWebApp/sites/PermissionMgt” "Limited Access"

Une fois la commande exécutée, on peut retourner dans le site avec le compte membre et constater que les options Office ont disparu

image

Cette action semble changer les permissions du niveau “Limited Access” pour de bon et la synchronisation ne revient plus.


Conclusion

Ce bug a été constaté par des utilisateurs et expliquée avec le Support Microsoft, notamment Ovidiu Stefanescu que je remercie pour son aide.

Le Work Around est fonctionnel et il y a peu de chance qu’un patch soit développé pour palier à ce cas spécifique, il faut aussi savoir que ce script fonctionne aussi pour SharePoint 2007 (avec une petite adaptation pour le départ).

En vous souhaitant une bonne lecture.

Romelard Fabrice [MBA]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab