DSGVO für SharePoint Server

Gilt für:

  • SharePoint Server 2013
  • SharePoint Server 2016
  • SharePoint Server 2019
  • SharePoint Server-Abonnementedition

Im Rahmen des Schutzes persönlicher Informationen empfehlen wir Folgendes:

Durch Benutzer erstellte Inhalte

Der empfohlene grundlegende Ansatz für die von Benutzern erstellten Inhalte auf Websites und in Bibliotheken von SharePoint Server lautet:

  • Verwenden Sie Azure Information Protection, um vertrauliche Daten zu beschriften.

  • Verwenden Sie die SharePoint Server-Suche und eDiscovery, um vertrauliche Daten abzurufen.

Die empfohlene Vorgehensweise für Dateifreigaben, Websites und Bibliotheken von SharePoint und umfasst die folgenden Schritte:

  1. Installieren und konfigurieren Sie den Azure Information Protection-Scanner.

    • Entscheiden Sie, welche vertraulichen Datentypen Sie verwenden möchten.

    • Geben Sie an, welche SharePoint-Websites verwendet werden sollen.

  2. Führen Sie einen Suchzyklus durch.

    • Führen Sie den Scanner im Suchmodus aus und überprüfen Sie die Ergebnisse.

    • Falls erforderlich, optimieren Sie die Bedingungen und vertraulichen Datentypen.

    • Bewerten Sie die erwarteten Auswirkungen einer automatischen Anwendung von Beschriftungen.

  3. Führen Sie den Azure Information Protection-Scanner aus, um Beschriftungen für berechtigende Dokumente anzuwenden.

  4. Zum Schutz:

    a. Konfigurieren Sie Regeln zum Schutz vor Datenverlust in Exchange, um Dokumente mit der gewünschten Beschriftung zu schützen.

    b. Stellen Sie sicher, dass Berechtigungen zum Einschränken der Zugriffe auf Dateien erforderlich sind.

    c. Verwenden Sie für SharePoint IRM-Schutz für Bibliotheken.

  5. Integrieren Sie zur Überwachung Windows Server-Protokolle mit einem SIEM-Tool.

    a. Um personenbezogene Daten für Anträge betroffener Personen zu finden, verwenden Sie das Suchcenter oder eDiscovery.

Achten Sie beim Anwenden von Bezeichnungen auf vertrauliche Daten darauf, dass Sie eine Bezeichnung verwenden, die nicht mit Schutz konfiguriert ist. Der Schutz umfasst die Verschlüsselung, die verhindert, dass Dienste vertrauliche Daten in den Dateien erkennen.

Weitere Informationen zur Verwendung von Azure Information Protection Scanner zum Suchen und Bezeichnen von personenbezogenen Daten finden Sie im Microsoft DSGVO Data Discovery Toolkit (https://aka.ms/gdprpartners).

Informationen zum Konfigurieren des Scanners für Bedingungen und zum Verwenden der typen vertraulicher Microsoft Purview Data Loss Prevention (DLP) finden Sie unter Konfigurieren von Bedingungen für die automatische und empfohlene Klassifizierung für Azure Information Protection. Beachten Sie, dass neue Office 365 Typen vertraulicher Informationen nicht sofort für die Verwendung mit dem Scanner verfügbar sind und benutzerdefinierte Typen vertraulicher Informationen nicht mit dem Scanner verwendet werden können.

Entfernen personenbezogener Daten aus Office-Dateien

Das Entfernen personenbezogener Informationen (z. B. Metadaten oder Kommentare in einem Word Dokument) aus Office-Dateien, die in einer SharePoint-Dokumentbibliothek gespeichert sind, muss manuell erfolgen. Gehen Sie folgendermaßen vor:

  1. Laden Sie eine Kopie des Dokuments aus SharePoint Server auf Ihren lokalen Datenträger herunter.

  2. Löschen Sie das Dokument aus der SharePoint-Dokumentbibliothek.

  3. Führen Sie die unter Entfernen von ausgeblendeten Daten und personenbezogenen Daten durch Prüfen von Dokumenten beschriebenen Schritte aus.

  4. Laden Sie das Dokument erneut in die SharePoint-Dokumentbibliothek hoch.

Telemetrie und Protokolldateien

ULS-Protokolle

Der Einheitliche Protokollierungsdienst (Unified Logging Service, ULS) und die Verwendungsprotokollierung in SharePoint Server verfolgen eine Vielzahl von Systemfunktionen nach und können Benutzerinformationen enthalten. ULS-Protokolle und Nutzungsprotokolle sind Textdateien und können mit einer Vielzahl von Suchtools durchsucht werden. Das PowerShell-Cmdlet Merge-SPLogFile bietet eine Möglichkeit, Datensätze aus den ULS-Protokollen auf mehreren Servern in einer Farm zurückzugeben.

Erwägen Sie, Protokollaufbewahrungsrichtlinien auf den mindestwert festzulegen, der für Ihre Geschäftszwecke erforderlich ist. Informationen zum Konfigurieren der Protokollierung in SharePoint Server finden Sie unter Konfigurieren der Diagnoseprotokollierung in SharePoint Server.

Beachten Sie, dass einige Systemereignisse auch im Windows-Ereignisprotokoll festgehalten werden.

Verwendungsdatenbank

Die SharePoint Server-Nutzungsdatenbank (Standardname WSS_Logging) enthält eine Teilmenge der Informationen in den ULS-Protokollen. Die maximale Aufbewahrungsdauer von Daten in dieser Datenbank beträgt 30 Tage. Es wird empfohlen, sie für die kürzeste Dauer zu konfigurieren, die für Ihre geschäftlichen Anforderungen zulässig ist. Weitere Informationen finden Sie unter Konfigurieren der Diagnoseprotokollierung in SharePoint Server.

Im Verlauf der Suchanfragen und in den Verwendungsprotokollen wird auf Benutzernamen Bezug genommen.

Verlauf der Suchabfragen und häufigste Abfragen

In SharePoint Server laufen Abfrageverläufe und "Favoriten"-Abfragen automatisch nach 365 Tagen ab. Wenn ein Benutzer Ihre organization verlässt, ist es möglich, Verweise auf den Namen eines Benutzers aus dem Abfrageverlauf zu entfernen, indem Sie die folgenden Schritte ausführen.

Die folgenden SQL-Abfragen gelten für SharePoint Server und ermöglichen folgendes:

  • Exportieren des Verlaufs der Suchabfragen und der am häufigsten genutzten Abfragen eines Benutzers

  • Entfernen von Verweisen auf Benutzernamen aus dem Verlauf der Suchabfragen

Hinweis

Das Hinzufügen gespeicherter Prozeduren zu einer SharePoint Server-Datenbank wird normalerweise nicht unterstützt. Microsoft macht eine Ausnahme von dieser Richtlinie, um das Hinzufügen und Ausführen der in diesem Artikel beschriebenen gespeicherten Prozeduren zu einer SharePoint Server-Datenbank zu unterstützen.

Exportieren aller Abfragen eines Benutzers ab einem bestimmten Datum

Verwenden Sie das folgende Verfahren, um Abfragen aus den Protokolltabellen der Linkspeicherabfrage zu exportieren, die von @UserName seit @StartTimeausgeführt werden.

[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 

Exportieren der Abfragen eines Benutzers für die letzten 100 Tage

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

Exportieren der am häufigsten genutzten Abfragen eines Benutzers

Verwenden Sie das folgende Verfahren, um die bevorzugten Abfragen eines Benutzers aus den persönlichen Such- Admin Db-Ergebnistabellen zu exportieren, die von ausgeführt werden@UserName, seit <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 

Exportieren der am häufigsten genutzten Abfragen eines Benutzers für die letzten 100 Tage

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

Entfernen von Verweisen auf Benutzernamen, die älter als X Tage sind

Verwenden Sie das folgende Verfahren, um Verweise auf alle Benutzernamen, die älter als @Days alt sind, aus den Abfrageprotokolltabellen des Linkspeichers zu entfernen. Die Prozedur entfernt Verweise nur rückwärts in der Zeit, bis sie erreicht @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 

Entfernen von Verweisen auf einen bestimmten Benutzernamen, die älter als X Tage sind

Verwenden Sie das folgende Verfahren, um Verweise auf einen bestimmten Benutzernamen aus den Links Store-Abfrageprotokolltabellen zu entfernen, in denen die Verweise mehr als @Days alt sind. Die Prozedur entfernt Verweise nur rückwärts in der Zeit, bis sie erreicht @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 

Entfernen von Verweisen auf alle Benutzernamen Verlauf der Suchabfragen ab einem bestimmten Datum und bis auf die letzten 30 Tage

EXECUTE proc_MSS_QLog_Cleanup_Users '1-1-2017', 30 

Löschen von Verwendungsprotokollen

SharePoint Server löscht Nutzungsdatensätze nach 3 Jahren automatisch. Sie können solche Datensätze manuell löschen, indem Sie das folgende Verfahren ausführen:

So löschen Sie alle die Verwendungsprotokolle, die gelöschten Dokumenten zugeordnet sind

  1. Stellen Sie sicher, dass das neueste SharePoint-Update installiert ist. 

  2. Starten Sie eine SharePoint-Verwaltungsshell.

  3. Beenden und löschen Sie die Verwendungsanalyse:

    $tj = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.UsageAnalyticsJobDefinition 
    $tj.DisableTimerjobSchedule()
    $tj.StopAnalysis() 
    $tj.ClearAnalysis() 
    $tj.EnableTimerjobSchedule()
    
  4. Warten Sie, bis die Analyse erneut gestartet wird (kann bis zu 24 Stunden dauern). 

  5. Bei der nächsten Ausführung der Analyse werden alle Datensätze aus der Analytics-Berichtsdatenbank gespeichert. Dieses vollständige Speicherabbild kann für eine große Datenbank mit vielen Einträgen eine Weile dauern.

  6. Warten Sie 10 Tage. Die Analyse wird täglich ausgeführt, und Datensätze, die gelöschten Dokumenten zugeordnet sind, werden nach der 10^n^ Ausführung entfernt. Diese Ausführung kann länger dauern als normal, wenn viele Datensätze gelöscht werden müssen. 

Personenbezogene Daten und Suche in SharePoint Server 2010

FAST Search Server 2010 for SharePoint

Zusätzlich zum Speichern von Dateien im Index speichert die FAST Search Server 2010 Add-On auch Dateien in einem Zwischenformat namens FixML. FiXML-Dateien werden regelmäßig komprimiert, standardmäßig zwischen 3:00 und 5:00 Uhr pro Nacht. Bei der Komprimierung werden gelöschte Dateien automatisch aus den FiXML-Dateien entfernt. Um das rechtzeitige Entfernen von Informationen zu gelöschten Benutzern oder Dokumenten sicherzustellen, stellen Sie sicher, dass die Komprimierung immer aktiviert ist.

Die empfohlenen Aktionen für Hybrid-Suchlösungen sind die gleichen wie für die Suche in SharePoint Server oder SharePoint Online. Es gibt zwei Lösungen für die hybride Suche:

Die Cloudhybridsuche-Lösung: Mit der Cloudhybridsuche-Lösung für SharePoint indizieren Sie ihren gesamten durchforsteten Inhalt, einschließlich lokaler Inhalte, in Ihrem Suchindex in Office 365. Wenn Benutzer den Suchindex in Office 365 abfragen, erhalten sie Suchergebnisse aus dem lokalen und dem Office 365-Inhalt. Wenn Dokumente aus der SharePoint Server-Umgebung gelöscht werden, werden sie auch aus dem Suchindex in Office 365 gelöscht. Erfahren Sie mehr über die Cloudhybrid-Suchlösung und die Interaktion von Suchkomponenten und Datenbanken in der Cloudhybridsuche , um besser zu verstehen, wie sich die DSGVO auf die Hybridumgebung auswirkt.

Die Hybrid-Verbundsuchlösung: Mit der Hybrid-Verbundsuchlösung verwenden Sie sowohl Ihren Index in SharePoint Server als auch Ihren Index in Office 365. Sowohl SharePoint Server- als auch SharePoint Online-Suchdienste können den Suchdienst in der jeweils anderen Umgebung abfragen und Verbundergebnisse zurückgeben. Wenn Benutzer in einem Suchcenter suchen, stammen die Suchergebnisse aus dem Suchindex in SharePoint Server und dem Suchindex in Office 365. Erfahren Sie mehr über die Hybrid-Verbundsuchlösung , um besser zu verstehen, wie sich die DSGVO auf die Hybridumgebung auswirkt.

Migrationen aus lokalen Installationen in die Cloud

Beim Migrieren von Daten von SharePoint Server zu SharePoint Online können an beiden Speicherorten eine Zeit lang doppelte Daten vorhanden sein. Wenn Sie Daten haben, die Sie während der Migration löschen müssen, empfiehlt es sich, zuerst die Migration abzuschließen und dann die Daten von beiden Speicherorten zu löschen. Sie können Daten für den Export von beiden Speicherorten abfragen.

Benutzerprofildaten

Der Benutzerprofildienst ermöglicht den Import von Profildaten aus einer Vielzahl von externen Quellen. Abfragen und Aktualisierungen solcher Benutzerprofildaten sollten in den Systemen verarbeitet werden, in denen die Daten gemastert werden. Wenn Sie Aktualisierungen am externen System vornehmen, müssen Sie die Benutzerprofile in SharePoint Server erneut synchronisieren.

Führen Sie die folgenden grundlegenden Schritte aus, um die personenbezogenen Daten eines Benutzers aus dem entsprechenden Benutzerprofil in SharePoint Server zu entfernen:

  1. Entfernen Sie die Benutzerinformationen aus allen externen Systemen, die in das SharePoint Server-Benutzerprofil eingespeist werden. Wenn Sie die Verzeichnissynchronisierung verwenden, muss der Benutzer aus der lokales Active Directory-Umgebung entfernt werden.

  2. Führen Sie eine Profilsynchronisierung in SharePoint Server aus.

  3. Löschen Sie das Profil aus SharePoint Server. Sobald dies geschehen ist, entfernt SharePoint Server das Profil in 30 Tagen vollständig aus der Benutzerprofildatenbank. Die Profilseite und die persönliche Website des Benutzers werden gelöscht.

Nach dem Löschen des Profils eines Benutzers werden möglicherweise noch einige eingeschränkte Informationen (z. B. Benutzer-ID) in Websitesammlungen aufgezeichnet, die der Benutzer besucht hat. Wenn Sie diese Daten aus einer bestimmten Websitesammlung löschen möchten, kann dies mithilfe von CSOM erfolgen. Im Folgenden finden Sie ein Beispielskript:

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