Поделиться через


GDPR для SharePoint Server

Применимо к:

  • SharePoint Server 2013
  • SharePoint Server 2016
  • SharePoint Server 2019
  • SharePoint Server по подписке

Ниже перечислены рекомендуемые меры по обеспечению безопасности персональных данных.

Контент, создаваемый пользователями

Основной рекомендуемый подход для контента, создаваемого пользователями и содержащегося на сайтах и в библиотеках SharePoint Server:

Рекомендуемый подход для общих папок, а также сайтов и библиотек SharePoint включает следующие действия:

  1. Установите и настройте сканер Azure Information Protection.

    • Выберите необходимые типы конфиденциальных данных.

    • Укажите необходимые сайты SharePoint.

  2. Выполните цикл обнаружения.

    • Запустите сканер в режиме обнаружения и проверьте обнаруженные данные.

    • При необходимости оптимизируйте условия и типы конфиденциальной информации.

    • Оцените ожидаемое воздействие автоматического применения меток.

  3. Запустите сканер Azure Information Protection для применения меток к соответствующим документам.

  4. Для защиты:

    А. Настройте правила защиты от потери данных в Exchange, чтобы защитить документы с нужной меткой.

    Б. Убедитесь, что разрешения ограничивают доступ к файлам.

    c. Для SharePoint используйте защиту IRM для библиотек.

  5. Интегрируйте журналы Windows Server с помощью средства SIEM для мониторинга.

    А. Чтобы найти персональные данные для запросов субъектов данных, используйте Центр поиска или обнаружение электронных данных.

При применении меток к конфиденциальным данным используйте метку, которая не настроена для защиты. Защита включает шифрование, которое не позволяет службам обнаруживать конфиденциальные данные в файлах.

Дополнительные сведения об использовании сканера Information Protection Azure для поиска и маркировки персональных данных см. в статье Microsoft GDPR Data Discovery Toolkit (https://aka.ms/gdprpartners).

Сведения о настройке сканера для условий и использовании типов конфиденциальной информации Защита от потери данных Microsoft Purview (DLP) см. в статье Настройка условий для автоматической и рекомендуемой классификации для Azure Information Protection. Обратите внимание, что новые Office 365 типы конфиденциальной информации не будут сразу доступны для использования со сканером, а пользовательские типы конфиденциальной информации нельзя использовать со сканером.

Удаление личных сведений из файлов Office

Удаление личной информации (например, метаданных или комментариев в документе Word) из файлов Office, хранящихся в библиотеке документов SharePoint, должно выполняться вручную. Выполните следующие действия:

  1. Скачайте копию документа с сервера SharePoint Server на локальный диск.

  2. Удалите документ из библиотеки документов SharePoint.

  3. Выполните действия, описанные в статье Удаление скрытых и персональных данных при проверке документов.

  4. Отправьте документ обратно в библиотеку документов SharePoint.

Телеметрия и файлы журналов

Журналы ULS

Единая служба ведения журнала (ULS) и ведение журнала использования в SharePoint Server отслеживают различные системные функции и могут содержать сведения о пользователях. Журналы ULS и журналы использования — это текстовые файлы, и их можно искать с помощью различных средств поиска. Командлет PowerShell Merge-SPLogFile позволяет возвращать записи из журналов ULS на нескольких серверах фермы.

Рассмотрите возможность установки политик хранения журналов в минимальное значение, необходимое для ваших бизнес-целей. Сведения о настройке ведения журнала в SharePoint Server см . в статье Настройка ведения журнала диагностики в SharePoint Server.

Обратите внимание, что некоторые события системы также регистрируются в журнале событий Windows.

База данных использования

База данных об использовании SharePoint Server (имя по умолчанию WSS_Logging) содержит подмножество сведений, найденных в журналах ULS. Максимальный срок хранения данных в этой базе данных составляет 30 дней. Рекомендуется настроить его на кратчайшее время, допустимое вашими бизнес-потребностями. в статье Настройка журнала ведения диагностики в SharePoint Server.

Журнал поисковых запросов и записи об использовании содержат ссылки на имена пользователей.

Журнал запросов и избранные запросы

В SharePoint Server срок действия журналов запросов и избранных запросов автоматически истекает через 365 дней. Если пользователь покидает вашу организацию, можно удалить ссылки на имя пользователя из журнала запросов, выполнив приведенные ниже действия.

Следующие SQL-запросы применяются к SharePoint Server и позволяют:

  • Экспортировать журнал запросов или избранные запросы пользователя.

  • Удалять ссылки на имена пользователей в журнале запросов.

Примечание.

Добавление хранимых процедур в базу данных SharePoint Server обычно не поддерживается. Корпорация Майкрософт сделает исключение из этой политики для поддержки добавления и выполнения хранимых процедур, описанных в этой статье, в базу данных SharePoint Server.

Экспорт запросов пользователя начиная с определенной даты

Используйте следующую процедуру для экспорта запросов из таблиц журналов запросов хранилища ссылок, выполняемых с @StartTimeпомощью @UserName .

[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 

Экспорт запросов пользователя за последние 100 дней

DECLARE @FROMDATE datetime 
SET @FROMDATE = DATEADD(day, -100, GETUTCDATE()) 
EXECUTE proc_MSS_GetQueryTermsForUser '0#.w|domain\username', @FROMDATE 

Экспорт избранных запросов пользователя

Используйте следующую процедуру для экспорта избранных запросов пользователя из таблиц личных результатов поиска Администратор базы данных, выполняемых с помощью @UserName.<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 

Экспорт избранных запросов пользователя за последние 100 дней

DECLARE @FROMDATE datetime 
SET @FROMDATE = DATEADD(day, -100, GETUTCDATE()) 
EXECUTE proc_MSS_GetPersonalFavoriteQueries '0#.w|domain\username', @FROMDATE 

Удаление ссылок на имена пользователей, которые старше X дней

Используйте следующую процедуру, чтобы удалить ссылки на все имена пользователей, которые являются более @Days старыми, из таблиц журнала запросов хранилища ссылок. Процедура удаляет ссылки только назад во времени, пока не достигнет @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 

Удаление ссылок на определенное имя пользователя, которые старше X дней

Используйте следующую процедуру, чтобы удалить ссылки на определенное имя пользователя из таблиц журналов запросов хранилища ссылок, где ссылки более старых @Days . Процедура удаляет ссылки только назад во времени, пока не достигнет @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 

Удаление ссылок на все имена пользователей в журнале запросов за последние несколько (до 30) дней начиная с определенной даты

EXECUTE proc_MSS_QLog_Cleanup_Users '1-1-2017', 30 

Удаление записей об использовании

SharePoint Server автоматически удаляет записи об использовании через 3 года. Вы можете вручную удалить такие записи, выполнив следующую процедуру:

Чтобы удалить все записи об использовании, связанные с удаленными документами:

  1. Убедитесь, что у вас установлено последнее обновление SharePoint. 

  2. Запустите командную консоль SharePoint.

  3. Остановите аналитику использования и очистите ее данные:

    $tj = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.UsageAnalyticsJobDefinition 
    $tj.DisableTimerjobSchedule()
    $tj.StopAnalysis() 
    $tj.ClearAnalysis() 
    $tj.EnableTimerjobSchedule()
    
  4. Подождите, пока аналитика не запустится снова (может потребоваться до 24 часов). 

  5. При следующем запуске анализа все записи из базы данных отчетов Аналитики будут дампами. Этот полный дамп может занять некоторое время для большой базы данных с большим количеством записей.

  6. Подождите 10 дней. Анализ выполняется ежедневно, и записи, связанные с удаленными документами, будут удалены после выполнения 10^th^. Этот запуск может занять больше времени, чем обычно, если требуется удалить много записей. 

Персональные данные и поиск в SharePoint Server 2010

FAST Search Server 2010 для SharePoint

Помимо хранения файлов в индексе, FAST Search Server 2010 Add-On также хранит файлы в промежуточном формате FixML. Файлы FiXML сжимаются регулярно, по умолчанию с 3 утра до 5 утра каждую ночь. Сжатие автоматически удаляет удаленные файлы из файлов FiXML. Чтобы обеспечить своевременное удаление сведений, принадлежащих удаленным пользователям или документам, убедитесь, что сжатие всегда включено.

Рекомендуемые действия для гибридных решений поиска такие же, как для поиска в SharePoint Server или SharePoint Online. Существует два гибридных решения для поиска:

Облачное решение для гибридного поиска. С помощью облачного решения гибридного поиска для SharePoint все содержимое для обхода контента, включая локальное содержимое, индексируется в индексе поиска в Office 365. Отправляя запросы к индексу поиска Office 365:, пользователи получают результаты поиска, включающие локальный контент и содержимое Office 365:. При удалении документов из среды SharePoint Server они также удаляются из индекса поиска в Office 365. Узнайте больше о решении облачного гибридного поиска и о взаимодействии компонентов и баз данных поиска в облачном гибридном поиске , чтобы лучше понять, как GDPR влияет на гибридную среду.

Решение гибридного федеративного поиска . В гибридном решении федеративного поиска вы используете индекс в SharePoint Server и индекс в Office 365. Службы поиска SharePoint Server и SharePoint Online могут отправлять запросы к индексу поиска в другой среде и возвращать федеративные результаты. Когда пользователи выполняют поиск в центре поиска, результаты поступают из поисковых индексов как в SharePoint Server, так и в Office 365. Ознакомьтесь с дополнительными сведениями о решении гибридного федеративного поиска , чтобы лучше понять, как GDPR влияет на гибридную среду.

Перенос локальных данных в облако

При переносе данных из SharePoint Server в SharePoint Online повторяющиеся данные могут существовать в обоих расположениях в течение некоторого времени. Если у вас есть данные, которые необходимо удалить в середине миграции, рекомендуется сначала завершить миграцию, а затем удалить данные из обоих расположений. Вы можете запросить данные для экспорта из любого расположения.

Данные профиля пользователя

Служба профилей пользователей позволяет импортировать данные профиля из различных внешних источников. Запросы и обновление таких данных профиля пользователя должны обрабатываться в системах, в которых данные обрабатываются. При внесении обновлений во внешнюю систему обязательно синхронизируйте профили пользователей в SharePoint Server еще раз.

Выполните следующие действия, чтобы удалить персональные данные пользователя из его профиля в SharePoint Server:

  1. Удалите сведения о пользователе из любых внешних систем, которые передаются в профиль пользователя SharePoint Server. Если вы используете синхронизацию каталогов, пользователь должен быть удален из среды локальная служба Active Directory.

  2. Запустите синхронизацию профилей на SharePoint Server.

  3. Удалите профиль из SharePoint Server. После этого SharePoint Server полностью удалит профиль из базы данных профилей пользователей через 30 дней. Страница профиля пользователя и личный сайт будут удалены.

После удаления профиля пользователя некоторые ограниченные сведения (например, идентификатор пользователя) по-прежнему могут быть записаны в семействах веб-сайтов, которые посетил пользователь. Если вы решили удалить эти данные из данного семейства веб-сайтов, это можно сделать с помощью CSOM. Ниже приведен пример скрипта:

$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()