Partager via


Gérer les rapports de gouvernance d’accès aux données à l’aide de SharePoint Online PowerShell

Bien que la gouvernance de l’accès aux données soit disponible dans le portail du centre d’administration SharePoint, les grandes organisations recherchent généralement la prise en charge de PowerShell pour gérer la mise à l’échelle via des scripts et l’automatisation. Cet article explique comment utiliser le module PowerShell SharePoint Online pour gérer les rapports de gouvernance de l’accès aux données.

Importante

  • La prise en charge de PowerShell pour la gouvernance de l’accès aux données est disponible à partir du module « Microsoft.Online.SharePoint.PowerShell » et de la version « 16.0.25409 ».
  • Exécutez la commande Connect-SPOServicesans le paramètre Credential . Nous ne prenons pas en charge la connexion à l’aide du paramètre Credential inline avec les dernières pratiques de sécurité.

De quoi ai-je besoin pour créer un rapport de gouvernance de l’accès aux données ?

Quelles sont les exigences de licence ?

Votre organization doit disposer de la licence appropriée et répondre à certaines autorisations ou rôles administratifs pour utiliser la fonctionnalité décrite dans cet article.

Tout d’abord, votre organization doit avoir l’une des licences de base suivantes :

  • Office 365 E3, E5 ou A5
  • Microsoft 365 E1, E3, E5 ou A5

En outre, vous avez besoin d’au moins une de ces licences :

  • Microsoft 365 Copilot licence : au moins un utilisateur de votre organization doit se voir attribuer une licence Copilot (cet utilisateur n’a pas besoin d’être administrateur SharePoint).
  • Licence Microsoft SharePoint Advanced Management : Disponible en tant qu’achat autonome.

Configuration requise pour l’administrateur

Vous devez être administrateur SharePoint ou disposer d’autorisations équivalentes.

Informations supplémentaires

Si votre organization dispose d’une licence Copilot et qu’au moins une personne de votre organization se voit attribuer une licence Copilot, les administrateurs SharePoint ont automatiquement accès aux fonctionnalités de gestion avancée sharePoint nécessaires au déploiement de Copilot.

Pour les organisations sans licence Copilot, vous pouvez utiliser les fonctionnalités de gestion avancée sharePoint en achetant une licence SharePoint Advanced Management autonome.

Que dois-je avoir avant de commencer ?

Vous devez être administrateur SharePoint ou disposer d’autorisations équivalentes dans Microsoft 365 pour exécuter les scripts d’administration PowerShell.

Avant d’utiliser les scripts PowerShell de cet article, vous devez effectuer les étapes suivantes :

  1. Si ce n’est pas le cas, téléchargez la dernière SharePoint Online Management Shell.

    Remarque

    Si vous avez installé une version antérieure de SharePoint Online Management Shell, accédez à Ajouter ou supprimer des programmes et désinstaller « SharePoint Online Management Shell ».

  2. Connectez-vous à SharePoint en tant qu’administrateur SharePoint ou avec des autorisations équivalentes dans Microsoft 365 dans Microsoft 365. Pour savoir comment procéder, reportez-vous à l’article Prise en main de SharePoint Online Management Shell.

Comment faire créer tous les rapports à l’aide de PowerShell ?

Utilisez la commande Start-SPODataAccessGovernanceInsight pour générer tous les rapports avec les filtres et paramètres appropriés

Comment faire générer un rapport d’état d’autorisation de site avec PowerShell ?

Vous devez comprendre la configuration des autorisations dans votre organization, en particulier à la suite de l’adoption de Copilot, car elle respecte les autorisations utilisateur et de contenu. Le risque d’exposition aux données de Copilot augmente avec le nombre d’utilisateurs disposant d’autorisations/accès. Ce rapport fournit des informations détaillées sur l'« exposition » (le nombre unique d’utilisateurs disposant d’autorisations) de chaque site SharePoint et OneDrive dans votre organization.

Nous vous recommandons d’exécuter ce rapport d’abord pour obtenir une vue d’ensemble rapide des autorisations dans votre organization.

Ce rapport est un rapport « instantané ». Il fournit les dernières instantané/status de l’ensemble du organization à la date de génération du rapport.

Pour générer un rapport pour tous vos sites SharePoint, exécutez la commande suivante :

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload SharePoint -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportSharePoint"

Pour générer un rapport pour tous vos comptes OneDrive Entreprise, exécutez la commande suivante :

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload OneDriveForBusiness -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportODB"

Passez en revue les informations importantes suivantes sur les exécutions de rapports.

  • Étant donné que ces rapports sont complets et qu’ils sont susceptibles de couvrir toutes les données de votre locataire, le nombre maximal de rapports autorisés est de 2 ; un par charge de travail.
  • Le premier rapport prend toujours jusqu’à cinq jours, quelle que soit la taille du organization. Les rapports suivants se terminent dans les 24 heures.
  • Ces rapports capturent les données jusqu’à 48 heures avant la génération du rapport.
  • Une fois générés, ils peuvent être réexécuter tous les 30 jours.

Ces commandes génèrent une liste de tous les sites où au moins un utilisateur peut accéder à n’importe quel contenu du site. Vous trouverez ici plus d’informations sur la liste des sites et sur la façon d’interpréter les résultats.

Une fois que vous avez compris l’étendue du surpartage dans votre locataire, vous pouvez suivre d’autres écarts spécifiquement par rapport aux sites actifs au cours des 28 derniers jours. Vous pouvez générer des rapports sur les sites qui sont actifs dans des facteurs clés de surpartage potentiel, tels que le « Partage de liens » ou le contenu partagé avec « Tout le monde sauf les utilisateurs externes », au cours des 28 derniers jours.

Comment faire générer une étiquette de confidentialité dans le rapport de fichiers avec PowerShell ?

Exécutez cette commande PowerShell pour déclencher le rapport afin de répertorier les sites où des éléments spécifiques ont été étiquetés avec une « étiquette » donnée, à la date de génération du rapport.

Tout d’abord, récupérez le nom d’étiquette ou le GUID d’étiquette à l’aide du module PowerShell « Sécurité et conformité ».

Get-Label | Format-Table -Property DisplayName, Name, GUID, ContentType

Ensuite, utilisez le nom et le GUID pour récupérer des sites avec des fichiers étiquetés avec le nom d’étiquette ou guid donné.

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret

Remarque

Actuellement, le rapport pour les comptes « OneDriveForBusiness » avec des fichiers étiquetés n’est pas pris en charge.

Vous pouvez utiliser des rapports d’activité de lien de partage pour identifier les sites qui sont actifs dans la collaboration et qui nécessitent une intervention plus rapide pour atténuer tout risque potentiel de surpartage. Ces rapports basés sur « RecentActivity » identifient les sites qui génèrent le plus de liens de partage au cours des 28 derniers jours.

Vous pouvez générer les rapports d’activité de lien de partage suivants :

  • Sites qui ont créé des liens de partage « Tout le monde » au cours des 28 derniers jours
  • Sites qui ont créé des liens de partage « Personnes dans votre organization » au cours des 28 derniers jours
  • Sites qui ont créé des liens de partage de personnes spécifiques (invités) au cours des 28 derniers jours

Importante

Si vous n’avez pas de licence Microsoft SharePoint Advanced Management, vous devez activer la collecte de données pour les rapports basés sur « RecentActivity » afin que le produit commence à collecter les données d’audit pertinentes pour générer ce rapport. Une fois que vous l’avez activé, les données sont collectées et stockées pendant 28 jours. Vous pouvez générer les rapports 24 heures plus tard et ils contiennent des données à partir du point de collecte. Si vous ne générez pas de rapports, même une fois tous les trois mois, la collecte de données est suspendue et vous devez l’activer à nouveau. Pour activer la collecte de données pour ces rapports, consultez Comment faire gérer la collecte de données pour les rapports récents basés sur des activités ?.

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity

Indiquez la valeur de charge de travail « OneDriveForBusiness » pour obtenir tous les comptes OneDrive avec les mêmes critères.

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity

Indiquez la valeur de charge de travail « OneDriveForBusiness » pour obtenir tous les comptes OneDrive avec les mêmes critères.

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity

Indiquez la valeur de charge de travail « OneDriveForBusiness » pour obtenir tous les comptes OneDrive avec les mêmes critères.

Comment faire identifier le contenu partagé avec Tout le monde à l’exception des utilisateurs externes au cours des 28 derniers jours avec PowerShell ?

Bien que le partage de liens soit une contributeur possible pour le surpartage potentiel, un autre contributeur clé est « Tout le monde sauf les utilisateurs externes » (EEEU). EEEU rend le contenu « public » (visible par l’ensemble de l’organization) et permet à d’autres personnes de découvrir facilement le contenu et d’y accéder. Ces rapports identifient les sites qui ont activement utilisé l’EEEU à différentes étendues au cours des 28 derniers jours.

Vous pouvez générer les rapports d’activité EEEU suivants :

  • Sites partagés avec tout le monde sauf les utilisateurs externes au cours des 28 derniers jours
  • Éléments partagés avec Tout le monde sauf les utilisateurs externes au cours des 28 derniers jours

Importante

Actuellement, le rapport EEEU pour OneDriveForBusiness prend uniquement en charge le niveau d’élément. Le rapport EEEU pour OneDriveForBusiness au niveau du site n’est pas pris en charge. Si vous n’avez pas de licence Microsoft SharePoint Advanced Management, vous devez activer la collecte de données pour les rapports basés sur « RecentActivity » afin que le produit commence à collecter les données d’audit pertinentes pour générer ce rapport. Une fois que vous l’avez activé, les données sont collectées et stockées pendant 28 jours. Vous pouvez générer les rapports 24 heures plus tard et ils contiennent des données à partir du point de collecte. Si vous ne générez pas de rapports, même une fois tous les trois mois, la collecte de données est suspendue et vous devez l’activer à nouveau. Pour activer la collecte de données pour ces rapports, consultez Comment faire gérer la collecte de données pour les rapports récents basés sur des activités ?.

Comment faire identifier les sites partagés avec Tout le monde, à l’exception des utilisateurs externes au cours des 28 derniers jours avec PowerShell ?

Lorsque vous ajoutez EEEU à une appartenance au site (propriétaires, membres ou visiteurs), l’intégralité du contenu du site devient public et plus sujette au surpartage. Exécutez la commande PowerShell suivante pour déclencher le rapport afin de capturer ces sites au cours des 28 derniers jours pour les sites SharePoint :

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

Comment faire identifier les éléments partagés avec Tout le monde à l’exception des utilisateurs externes au cours des 28 derniers jours avec PowerShell ?

Exécutez la commande PowerShell suivante pour déclencher le rapport afin de capturer des éléments spécifiques (fichiers/dossiers/listes) qui ont été partagés avec EEEU au cours des 28 derniers jours pour les sites SharePoint :

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

Remarque

Remplacez la valeur de la charge de travail par « OneDriveForBusiness » pour obtenir les éléments partagés avec Tout le monde à l’exception des utilisateurs externes pour tous les comptes OneDrive avec les mêmes critères.

Comment faire gérer la collecte de données pour les rapports récents basés sur les activités ?

Importante

Si vous n’avez pas de licence Microsoft SharePoint Advanced Management, vous devez activer la collecte de données pour les rapports basés sur « RecentActivity » afin que le produit commence à collecter les données d’audit pertinentes pour générer ce rapport. Une fois que vous l’avez activé, vous pouvez générer les rapports 24 heures plus tard et ils contiennent les données du point de collecte. Les données sont stockées pendant 28 jours. Si vous ne générez pas de rapports, même une fois tous les trois mois, la collecte de données est suspendue et vous devez l’activer à nouveau.

Comment faire activer la collecte de données pour les rapports basés sur les activités récentes ?

Cette commande PowerShell commence à collecter des données d’audit pour les rapports sur les activités des 28 derniers jours.

Start-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

Les valeurs applicables au paramètre ReportEntity sont SharingLinksAnyone, SharingLinksPeopleInYourOrg, SharingLinksGuests, EveryoneExceptExternalUsersAtSite, EveryoneExceptExternalUsersForItems, CopilotAppInsights

Comment faire désactiver la collecte de données pour les rapports basés sur les activités récentes ?

Cette commande PowerShell arrête la collecte des données d’audit pour les rapports sur les activités des 28 derniers jours.

Stop-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

Comment faire case activée les status de collecte de données pour les rapports basés sur les activités récentes ?

Une fois la collecte de données activée, les rapports peuvent être générés après 24 heures. Pour case activée si des rapports peuvent être générés, utilisez la commande PowerShell Get-SPOAuditDataCollectionStatusForActivityInsights. La commande retourne la collection de données actuelle status, qui peut être NotInitiated, InProgress ou Paused. Des rapports peuvent être générés lorsque le status est InProgress.

Get-SPOAuditDataCollectionStatusForActivityInsights -ReportEntity SharingLinks_Anyone

Comment faire suivre les rapports à l’aide de PowerShell ?

Importante

Toutes les créations de rapports génèrent un GUID en tant que sortie qui peut être utilisé pour suivre les status de rapport.

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
ReportId                             Status
--------                             ------
a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 NotStarted

Utilisez la commande Get-SPODataAccessGovernanceInsight pour récupérer la status actuelle d’un rapport de gouvernance d’accès aux données spécifique à l’aide de l’ID de rapport.

Get-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportId          : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportEntity      : SharingLinks_Anyone
Status            : InQueue
Workload          : SharePoint
TriggeredDateTime : 11/13/2024 19:32:34
CreatedDateTime   : 11/13/2024 20:09:23
ReportStartTime   : 10/17/2024 19:32:33
ReportEndTime     : 11/13/2024 19:32:33
ReportType        : RecentActivity
SitesFound        : 120

Les valeurs ReportStartTime et ReportEndTime indiquent la période de données pour générer le rapport. Le status est marqué comme « Terminé » lorsque la génération du rapport est terminée.

Vous pouvez également afficher la status actuelle des rapports DAG en utilisant le filtre ReportEntity au lieu de l’ID. Le reportID est répertorié dans la sortie et est nécessaire ultérieurement pour télécharger un rapport spécifique.

Get-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers
ReportId             : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportName           : PermissionReportFor1AsOfSept
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 09/18/2024 11:06:16
CreatedDateTime      : 09/22/2024 12:12:48
ReportType           : Snapshot
CountOfUsersMoreThan : 1
CountOfSitesInReport : 7
CountOfSitesInTenant : 22
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

ReportId             : b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2
ReportName           : PermissionReportFor1AsOfOct
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 10/09/2024 14:15:40
CreatedDateTime      : 10/09/2024 15:18:23
ReportType           : Snapshot
CountOfUsersMoreThan : 100
CountOfSitesInReport : 0
CountOfSitesInTenant : 26
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

Comment faire afficher et télécharger des rapports à l’aide de PowerShell ?

Pour télécharger un rapport spécifique, vous avez besoin du reportID. Récupérez le reportID à l’aide de la commande Get-SPODataAccessGovernanceInsight et utilisez la commande Export-SPODataAccessGovernanceInsight pour télécharger le rapport dans un chemin d’accès spécifié.

Export-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -DownloadPath "C:\Users\TestUser\Documents\DAGReports"

Cela télécharge un fichier CSV dans le chemin d’accès spécifié. Les détails du csv/de la vue pour chaque rapport sont présentés ici.

Remarque

Le chemin de téléchargement par défaut est le dossier « Téléchargements ».

Comment faire effectuer des actions correctives à l’aide de PowerShell ?

Après avoir généré des rapports de gouvernance de l’accès aux données, vous pouvez effectuer des actions correctives comme décrit dans Actions correctives à partir des rapports de gouvernance de l’accès aux données. La section suivante décrit les commandes PowerShell pour déclencher et suivre la « révision d’accès au site » en tant qu’action corrective.

Comment faire lancer la révision d’accès au site à l’aide de PowerShell ?

Utilisez la commande Start-SPOSiteReview pour lancer une révision d’accès au site pour un site spécifique, répertorié sous un rapport de gouvernance de l’accès aux données. Le rapport de gouvernance de l’accès aux données fournit le contexte dans lequel vous devez lancer la révision. Récupérez le reportID et l’ID de site à partir du fichier CSV et fournissez des commentaires pour clarifier l’objectif de la révision au propriétaire du site.

Start-SPOSiteReview -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -SiteID c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3 -Comment "Check for org wide access"
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company

Cela déclenche des e-mails au propriétaire du site, comme décrit ici.

Comment faire suivre les révisions d’accès aux sites à l’aide de PowerShell ?

Utilisez la commande Start-SPOSiteReview pour suivre la status des révisions d’accès au site. Pour des révisions spécifiques, vous pouvez utiliser la ReviewID valeur comme indiqué dans la sortie. Pour récupérer toutes les révisions liées à un module de création de rapports, utilisez le ReportEntity paramètre .

Get-SPOSiteReview -ReportEntity PermissionedUsers
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReviewCompletedDateTime :
ReportCreatedDateTime   : 13-11-2024 23:25:41
ReportEndDateTime       : 13-11-2024 23:25:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           :
ReviewerComment         :

ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 24-10-2024 11:07:39
ReviewCompletedDateTime : 15-11-2024 11:07:39
ReportCreatedDateTime   : 15-10-2024 09:24:47
ReportEndDateTime       : 15-10-2024 11:39:52
ReportEntity            : PermissionedUsers
Status                  : Completed
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           : Jon@contosofinance.com
ReviewerComment         : Removed EEEU for sensitive documents