GDPR для SharePoint Server
Применимо к:
- SharePoint Server 2013
- SharePoint Server 2016
- SharePoint Server 2019
- SharePoint Server по подписке
Ниже перечислены рекомендуемые меры по обеспечению безопасности персональных данных.
Классифицируйте свои данные, используя Azure Information Protection.
Запустите SharePoint Server в конфигурации с наименьшими привилегиями. Дополнительные сведения см. в разделах Планирование администрирования с минимальными привилегиями в SharePoint Server и Безопасность для SharePoint Server .
Контент, создаваемый пользователями
Основной рекомендуемый подход для контента, создаваемого пользователями и содержащегося на сайтах и в библиотеках SharePoint Server:
Используйте Azure Information Protection для пометки конфиденциальных данных.
Используйте поиск SharePoint Server и обнаружение электронных данных для извлечения конфиденциальных данных.
Рекомендуемый подход для общих папок, а также сайтов и библиотек SharePoint включает следующие действия:
Установите и настройте сканер Azure Information Protection.
Выберите необходимые типы конфиденциальных данных.
Укажите необходимые сайты SharePoint.
Выполните цикл обнаружения.
Запустите сканер в режиме обнаружения и проверьте обнаруженные данные.
При необходимости оптимизируйте условия и типы конфиденциальной информации.
Оцените ожидаемое воздействие автоматического применения меток.
Запустите сканер Azure Information Protection для применения меток к соответствующим документам.
Для защиты:
А. Настройте правила защиты от потери данных в Exchange, чтобы защитить документы с нужной меткой.
Б. Убедитесь, что разрешения ограничивают доступ к файлам.
c. Для SharePoint используйте защиту IRM для библиотек.
Интегрируйте журналы 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, должно выполняться вручную. Выполните следующие действия:
Скачайте копию документа с сервера SharePoint Server на локальный диск.
Удалите документ из библиотеки документов SharePoint.
Выполните действия, описанные в статье Удаление скрытых и персональных данных при проверке документов.
Отправьте документ обратно в библиотеку документов 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 года. Вы можете вручную удалить такие записи, выполнив следующую процедуру:
Чтобы удалить все записи об использовании, связанные с удаленными документами:
Убедитесь, что у вас установлено последнее обновление SharePoint.
Запустите командную консоль SharePoint.
Остановите аналитику использования и очистите ее данные:
$tj = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.UsageAnalyticsJobDefinition $tj.DisableTimerjobSchedule() $tj.StopAnalysis() $tj.ClearAnalysis() $tj.EnableTimerjobSchedule()
Подождите, пока аналитика не запустится снова (может потребоваться до 24 часов).
При следующем запуске анализа все записи из базы данных отчетов Аналитики будут дампами. Этот полный дамп может занять некоторое время для большой базы данных с большим количеством записей.
Подождите 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:
Удалите сведения о пользователе из любых внешних систем, которые передаются в профиль пользователя SharePoint Server. Если вы используете синхронизацию каталогов, пользователь должен быть удален из среды локальная служба Active Directory.
Запустите синхронизацию профилей на SharePoint Server.
Удалите профиль из 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()