RGPD pour SharePoint Server
S’applique à :
- SharePoint Server 2013
- SharePoint Server 2016
- SharePoint Server 2019
- SharePoint Server Édition d’abonnement
Dans le cadre de la protection des informations personnelles, nous vous recommandons d’effectuer les tâches suivantes :
Classer vos données à l’aide d’Azure Information Protection.
Exécutez SharePoint Server dans une configuration avec privilèges minimum. Pour plus d’informations, voir Planifier l’administration avec les privilèges minimum dans SharePoint Server et Sécurité pour SharePoint Server .
Contenu généré par l’utilisateur
Voici l’approche à adopter concernant le contenu généré par l’utilisateur dans les bibliothèques et les sites SharePoint Server :
Attribuez des étiquettes aux données sensibles à l’aide d’Azure Information Protection.
Récupérez les données sensibles à l’aide des fonctions de recherche SharePoint Server et eDiscovery.
Voici la procédure recommandée à suivre concernant les partages de fichiers, ainsi que les bibliothèques et les sites SharePoint :
Installez et configurez le scanneur Azure Information Protection.
Déterminez les types de données sensibles à utiliser.
Spécifiez les sites SharePoint à utiliser.
Effectuez un cycle de détection.
Exécutez le scanneur en mode de détection et validez les résultats.
Si nécessaire, optimisez les conditions et les types d’informations sensibles.
Évaluez l’incidence que peut avoir l’application automatique d’étiquettes.
Exécutez le scanneur Azure Information Protection pour appliquer des étiquettes aux documents correspondants.
Pour une meilleure protection :
a. Configurez des règles de protection contre la perte de données Exchange pour protéger les documents avec l’étiquette souhaitée.
b. Veillez à limiter les personnes autorisées à accéder aux fichiers.
c. Pour SharePoint, utilisez la protection IRM pour les bibliothèques.
Pour la surveillance, intégrez un outil SIEM aux journaux Windows Server.
a. Pour rechercher des données personnelles pour les demandes des personnes concernées, utilisez le Centre de recherche ou eDiscovery.
Lorsque vous appliquez des étiquettes à des données sensibles, veillez à utiliser une étiquette qui n’est pas configurée avec la protection. La protection inclut le chiffrement qui empêche les services de détecter les données sensibles dans les fichiers.
Pour plus d’informations sur l’utilisation d’Azure Information Protection scanner pour rechercher et étiqueter des données personnelles, consultez microsoft RGPD Data Discovery Toolkit (https://aka.ms/gdprpartners).
Pour plus d’informations sur la configuration du scanneur pour les conditions et l’utilisation des types d’informations sensibles Protection contre la perte de données Microsoft Purview (DLP), consultez Comment configurer des conditions pour la classification automatique et recommandée pour Azure Information Protection. Notez que les nouveaux types d’informations sensibles Office 365 ne sont pas immédiatement disponibles pour être utilisés avec le scanneur et que les types d’informations sensibles personnalisés ne peuvent pas être utilisés avec le scanneur.
Suppression d’informations personnelles à partir de fichiers Office
La suppression des informations personnelles (telles que les métadonnées ou les commentaires dans un document Word) des fichiers Office stockés dans une bibliothèque de documents SharePoint doit être effectuée manuellement. Procédez comme suit :
Téléchargez une copie du document à partir de SharePoint Server sur votre disque local.
Supprimez le document de la bibliothèque de documents SharePoint.
Suivez la procédure indiquée dans l’article Supprimer des données masquées et des informations personnelles en inspectant des documents.
Téléchargez de nouveau le document vers la bibliothèque de documents SharePoint.
Télémétrie et fichiers journaux
Journaux ULS
Le service de journalisation unifiée (ULS) et la journalisation de l’utilisation dans SharePoint Server effectuent le suivi de diverses fonctions système et peuvent contenir des informations utilisateur. Les journaux ULS et les journaux d’utilisation sont des fichiers texte qui peuvent faire l’objet d’une recherche à l’aide de divers outils de recherche. L’applet de commande PowerShell Merge-SPLogFile permet de retourner des enregistrements à partir des journaux ULS sur plusieurs serveurs d’une batterie de serveurs.
Envisagez de définir les stratégies de rétention des journaux sur la valeur minimale nécessaire à vos besoins professionnels. Pour plus d’informations sur la configuration de la journalisation dans SharePoint Server, voir Configurer la journalisation des diagnostics dans SharePoint Server.
Notez que certains événements système sont également enregistrés pour le journal des événements Windows.
Base de données d’utilisation
La base de données d’utilisation de SharePoint Server (nom par défaut WSS_Logging) contient un sous-ensemble des informations trouvées dans les journaux ULS. La conservation maximale des données dans cette base de données est de 30 jours. Nous vous recommandons de le configurer pour la durée la plus courte autorisée par les besoins de votre entreprise. Pour plus d'informations, voir Configurer la journalisation des diagnostics dans SharePoint Server.
Informations personnelles et recherche
Les enregistrements d’utilisation et l’historique des requêtes de recherche contiennent des références à des noms d’utilisateur.
Historique de requêtes et requêtes favorites
Dans SharePoint Server, les historiques des requêtes et les requêtes « favorites » expirent automatiquement après 365 jours. Si un utilisateur quitte votre organization, il est possible de supprimer les références au nom d’un utilisateur de l’historique des requêtes en suivant les étapes ci-dessous.
Les requêtes SQL suivantes s’appliquent à SharePoint Server, et permettent d’effectuer les actions suivantes :
Exporter l’historique de requêtes et les requêtes favorites d’un utilisateur
Supprimer les références à des noms d’utilisateur dans l’historique de requêtes
Remarque
L’ajout de procédures stockées à une base de données SharePoint Server n’est normalement pas pris en charge. Microsoft fera une exception à cette stratégie pour prendre en charge l’ajout et l’exécution des procédures stockées décrites dans cet article à une base de données SharePoint Server.
Exporter les requêtes d’un utilisateur depuis une date spécifique
Utilisez la procédure suivante pour exporter des requêtes à partir des tables du journal des requêtes du Magasin de liens, effectuées par @UserName depuis @StartTime.
[In dbo].[LinkStore_<ID>]:
CREATE PROCEDURE proc_MSS_GetQueryTermsForUser
(
@UserName nvarchar(256),
@StartTime datetime
)
AS
BEGIN
SET NOCOUNT ON;
SELECT searchTime, queryString
FROM
dbo.MSSQLogPageImpressionQuery
WITH
(NOLOCK)
WHERE
userName = @UserName AND
searchTime > @StartTime
END
GO
Exporter les requêtes d’un utilisateur émises au cours des 100 derniers jours
DECLARE @FROMDATE datetime
SET @FROMDATE = DATEADD(day, -100, GETUTCDATE())
EXECUTE proc_MSS_GetQueryTermsForUser '0#.w|domain\username', @FROMDATE
Exporter les requêtes favorites d’un utilisateur
Utilisez la procédure suivante pour exporter les requêtes favorites d’un utilisateur à partir des tables de résultats personnels de la base de données search Administration, effectuées par @UserName, depuis <DateTime>
.
In [dbo].[Search_<ID>]:
CREATE PROCEDURE proc_MSS_GetPersonalFavoriteQueries
(
@UserName nvarchar(256),
@SearchTime datetime
)
AS
BEGIN
SET NOCOUNT ON;
SELECT max(queries.SearchTime) as SearchTime,
max(queries.querystring) as queryString,
max(url.url) as URL
FROM MSSQLogOwner owners WITH(NOLOCK)
JOIN MSSQLogPersonalResults results WITH(NOLOCK) on owners.OwnerId = results.OwnerId
JOIN MSSQLogUrl url WITH(NOLOCK) on results.ClickedUrlId = url.urlId
JOIN MSSQLogPersonalQueries queries WITH(NOLOCK) on results.OwnerId = queries.OwnerId
WHERE queries.SearchTime > @SearchTime
AND queries.UserName = @UserName
GROUP BY queries.QueryString,url.url
END
GO
Exporter les requêtes favorites d’un utilisateur émises au cours des 100 derniers jours
DECLARE @FROMDATE datetime
SET @FROMDATE = DATEADD(day, -100, GETUTCDATE())
EXECUTE proc_MSS_GetPersonalFavoriteQueries '0#.w|domain\username', @FROMDATE
Supprimer les références aux noms d’utilisateur qui datent de plus de X jours
Utilisez la procédure suivante pour supprimer des tables du journal des requêtes du Magasin de liens les références à tous les noms d’utilisateur qui sont plus anciens @Days . La procédure supprime uniquement les références vers l’arrière dans le temps jusqu’à ce qu’elle atteigne le @LastCleanupTime.
In [dbo].[LinksStore_<ID>]:
CREATE PROCEDURE proc_MSS_QLog_Cleanup_Users
(
@LastCleanupTime datetime,
@Days int
)
AS
BEGIN
DECLARE @TooOld datetime
SET @TooOld = DATEADD(day, -@Days, GETUTCDATE())
DECLARE @FromLast datetime
SET @FromLast = DATEADD(day, -@Days, @LastCleanupTime)
BEGIN TRANSACTION
UPDATE MSSQLogPageImpressionQuery
SET userName = 'NA'
WHERE @FromLast <= searchTime AND searchTime < @TooOld
UPDATE MSSQLogO14PageClick
SET userName = 'NA'
WHERE @FromLast <= searchTime AND searchTime < @TooOld
COMMIT TRANSACTION
END
GO
Supprimer les références à un nom d’utilisateur spécifique qui date de plus de X jours
Utilisez la procédure suivante pour supprimer les références à un nom d’utilisateur spécifique des tables de journal des requêtes du Magasin de liens, où les références sont plus que @Days anciennes. La procédure supprime uniquement les références vers l’arrière dans le temps jusqu’à ce qu’elle atteigne le @LastCleanupTime.
In [dbo].[LinksStore_<ID>]:
CREATE PROCEDURE proc_MSS_QLog_Cleanup_Users
(
@UserName nvarchar(256),
@LastCleanupTime datetime,
@Days int
)
AS
BEGIN
DECLARE @TooOld datetime
SET @TooOld = DATEADD(day, -@Days, GETUTCDATE())
DECLARE @FromLast datetime
SET @FromLast = DATEADD(day, -@Days, @LastCleanupTime)
BEGIN TRANSACTION
UPDATE MSSQLogPageImpressionQuery
SET userName = 'NA'
WHERE @FromLast <= searchTime AND searchTime < @TooOld AND userName = @UserName
UPDATE MSSQLogO14PageClick
SET userName = 'NA'
WHERE @FromLast <= searchTime AND searchTime < @TooOld AND userName = @UserName
COMMIT TRANSACTION
END
GO
Supprimer les références à tous les noms d’utilisateur dans l’historique de requêtes entre une date spécifique et jusqu’aux 30 derniers jours
EXECUTE proc_MSS_QLog_Cleanup_Users '1-1-2017', 30
Supprimer les enregistrements d’utilisation
SharePoint Server supprime automatiquement les enregistrements d’utilisation après 3 ans. Vous pouvez supprimer manuellement ces enregistrements à l’aide de la procédure ci-dessous :
Pour supprimer tous les enregistrements d’utilisation associés à des documents supprimés, procédez comme suit :
Assurez-vous que la dernière mise à jour de SharePoint est installée.
Démarrez SharePoint Management Shell.
Arrêtez et effacez l’analyse de l’utilisation :
$tj = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.UsageAnalyticsJobDefinition $tj.DisableTimerjobSchedule() $tj.StopAnalysis() $tj.ClearAnalysis() $tj.EnableTimerjobSchedule()
Attendez que l’analyse recommence (cela peut prendre jusqu’à 24 heures).
Lors de la prochaine exécution de l’analyse, il videra tous les enregistrements de la base de données de rapports d’analyse. Ce vidage complet peut prendre un certain temps pour une base de données volumineuse avec de nombreuses entrées.
Attendez 10 jours. L’analyse s’exécute quotidiennement et les enregistrements associés aux documents supprimés sont supprimés après l’exécution 10^th^ . Cette exécution peut prendre plus de temps que d’habitude si de nombreux enregistrements doivent être supprimés.
Informations personnelles et recherche dans SharePoint Server 2010
FAST Search Server 2010 for SharePoint
En plus de stocker des fichiers dans l’index, le FAST Search Server 2010 Add-On stocke également les fichiers dans un format intermédiaire appelé FixML. Les fichiers FiXML sont compactés régulièrement, par défaut entre 3h et 5h00 tous les soirs. Le compactage supprime automatiquement les fichiers supprimés des fichiers FiXML. Pour garantir la suppression en temps voulu des informations appartenant à des utilisateurs ou des documents supprimés, assurez-vous que le compactage est toujours activé.
Recherche hybride
Les actions recommandées pour les solutions de recherche hybride sont les mêmes que pour la recherche dans SharePoint Server ou SharePoint Online. Il existe deux solutions de recherche hybride :
La solution de recherche hybride cloud - Avec la solution de recherche hybride cloud pour SharePoint, vous indexez tout votre contenu analysé, y compris le contenu local, dans votre index de recherche dans Office 365. Quand les utilisateurs lancent une requête dans votre index de recherche dans Office 365, ils obtiennent des résultats de recherche provenant à la fois du contenu local et Office 365. Lorsque des documents sont supprimés de l’environnement SharePoint Server, ils sont également supprimés de l’index de recherche dans Office 365. En savoir plus sur la solution de recherche hybride dans le cloud et sur la façon dont les composants de recherche et les bases de données interagissent dans la recherche hybride dans le cloud pour mieux comprendre comment le RGPD affecte l’environnement hybride.
La solution de recherche fédérée hybride - Avec la solution de recherche fédérée hybride, vous utilisez votre index dans SharePoint Server et votre index dans Office 365. Les services de recherche SharePoint Server et SharePoint Online peuvent chacun interroger l’index de recherche de l’autre environnement et renvoyer des résultats fédérés. Quand les utilisateurs effectuent une recherche à partir d’un centre de recherche, les résultats de recherche sont extraits de vos index de recherche dans SharePoint Server et Office 365. En savoir plus sur la solution de recherche fédérée hybride pour mieux comprendre comment le RGPD affecte l’environnement hybride.
Migrations depuis votre ordinateur local vers le cloud
Lors de la migration de données de SharePoint Server vers SharePoint Online, des données en double peuvent exister dans les deux emplacements pendant un certain temps. Si vous avez des données à supprimer en cours de migration, nous vous recommandons d’effectuer d’abord la migration, puis de supprimer les données des deux emplacements. Vous pouvez interroger les données à exporter à partir de l’un ou l’autre emplacement.
Données des profils utilisateur
Le service de profil utilisateur permet d’importer des données de profil à partir de diverses sources externes. Les requêtes et la mise à jour de ces données de profil utilisateur doivent être gérées dans les systèmes dans lesquels les données sont maîtrisées. Si vous effectuez des mises à jour sur le système externe, veillez à synchroniser à nouveau les profils utilisateur dans SharePoint Server.
Suivez ces étapes de base pour supprimer les informations personnelles d’un utilisateur de son profil d’utilisateur SharePoint Server :
Supprimez les informations utilisateur de tous les systèmes externes qui alimentent le profil utilisateur SharePoint Server. Si vous utilisez la synchronisation d’annuaires, l’utilisateur doit être supprimé de l’environnement Active Directory local.
Exécutez une synchronisation des profils sur SharePoint Server.
Supprimez le profil de SharePoint Server. Une fois cette opération effectuée, SharePoint Server supprime complètement le profil de la base de données de profils utilisateur dans les 30 jours. La page de profil et le site personnel de l’utilisateur seront supprimés.
Après la suppression du profil d’un utilisateur, certaines informations limitées (telles que l’ID utilisateur) peuvent toujours être enregistrées dans les collections de sites que l’utilisateur a visitées. Si vous choisissez de supprimer ces données d’une collection de sites donnée, vous pouvez le faire à l’aide du modèle CSOM. Un exemple de script est fourni ci-dessous :
$username = "<admin@company.sharepoint.com>"
$password = "password"
$url = "<https://site.sharepoint.com>"
$securePassword = ConvertTo-SecureString $Password -AsPlainText -Force
# the path here might need to change if you use the SharePoint Server Client Components SDK in a different location.
Add-Type -Path "$env:CommonProgramFiles\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "$env:CommonProgramFiles\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
# connect/authenticate to SharePoint Online and get ClientContext object.
$clientContext = New-Object Microsoft.SharePoint.Client.ClientContext($url)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securePassword)
$clientContext.Credentials = $credentials
if (!$clientContext.ServerObjectIsNull.Value)
{
Write-Host "Connected to SharePoint Online site: '$Url'" -ForegroundColor Green
}
# Get user
$user = $clientContext.Web.SiteUsers.GetByLoginName("i:0#.f|membership|user@company.sharepoint.com")
# Redact user
$user.Email = "Redacted"
$user.Title = "Redacted"
$user.Update()
$clientContext.Load($user)
$clientContext.ExecuteQuery()
# Get users
$users = $clientContext.Web.SiteUsers
# Remove user from site
$users.RemoveById($user.Id)
$clientContext.Load($users)
$clientContext.ExecuteQuery()