Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

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]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 10 juillet 2014 11:35 par ROMELARD Fabrice

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01