RGPD para SharePoint Server

Aplicável a:

  • SharePoint Server 2013
  • SharePoint Server 2016
  • SharePoint Server 2019
  • Edição de Assinatura do SharePoint Server

Como parte da proteção de informações pessoais, recomendamos o seguinte:

Conteúdo gerado pelo usuário

A abordagem básica recomendada para o conteúdo gerado pelo usuário em sites e bibliotecas do SharePoint Server é a seguinte:

A abordagem recomendada para compartilhamentos de arquivos e sites do SharePoint inclui estas etapas:

  1. Instale e configure o verificador da Proteção de Informações do Azure.

    • Decida quais tipos de dados confidenciais usar.

    • Especifique quais sites do SharePoint usar.

  2. Execute um ciclo de descoberta.

    • Execute o verificador no modo de descoberta e valide os resultados.

    • Se necessário, otimize as condições e os tipos de informações confidenciais.

    • Avalie o impacto esperado de aplicar rótulos automaticamente.

  3. Execute o verificador da Proteção de Informações do Azure para aplicar rótulos a documentos qualificados.

  4. Para a proteção:

    a. Configure regras de prevenção contra a perda de dados do Exchange para proteger documentos com o rótulo desejado.

    b. Certifique-se de que as permissões limitem quem pode acessar arquivos.

    c. Para o SharePoint, use a proteção IRM para bibliotecas.

  5. Para monitorar, integre os logs do Windows Server com uma ferramenta SIEM.

    a. Para localizar dados pessoais para solicitações de titulares de dados, use o Centro de Pesquisa ou a descoberta eletrônica.

Ao aplicar rótulos a dados confidenciais, use um rótulo que não esteja configurado com proteção. A proteção inclui criptografia que impede que os serviços detectem dados confidenciais nos arquivos.

Para obter mais informações sobre como usar o scanner de Proteção de Informações do Azure para localizar e rotular dados pessoais, consulte o Kit de Ferramentas de Descoberta de Dados do Microsoft GDPR (https://aka.ms/gdprpartners).

Para obter informações sobre como configurar o scanner para condições e usar os tipos de informações confidenciais de Prevenção Contra Perda de Dados do Microsoft Purview (DLP), consulte Como configurar condições para classificação automática e recomendada para o Azure Proteção de Informações. Observe que novos tipos de informações confidenciais Office 365 não estarão disponíveis imediatamente para uso com o scanner e os tipos de informações confidenciais personalizados não podem ser usados com o scanner.

Remover informações pessoais de arquivos do Office

A remoção de informações pessoais (como metadados ou comentários em um documento Word) de arquivos do Office armazenados em uma biblioteca de documentos do SharePoint deve ser feita manualmente. Siga estas etapas:

  1. Baixe uma cópia do documento do SharePoint Server para seu disco local.

  2. Exclua o documento da biblioteca de documentos do SharePoint.

  3. Siga as etapas em Remover dados ocultos e informações pessoais ao inspecionar documentos.

  4. Reenvie o documento para a biblioteca de documentos do SharePoint.

Telemetria e arquivos de log

Logs do ULS

O ULS (Serviço unificado de log) e o registro em log de uso no SharePoint Server acompanham várias funções do sistema e podem conter informações do usuário. Logs de ULS e logs de uso são arquivos de texto e podem ser pesquisados usando uma variedade de ferramentas de pesquisa. O cmdlet Do PowerShell merge-SPLogFile fornece uma maneira de retornar registros dos logs uls em vários servidores em um farm.

Considere definir políticas de retenção de log para o valor mínimo necessário para suas finalidades comerciais. Para obter informações sobre como configurar o log no SharePoint Server, consulte Configurar o log de diagnóstico no SharePoint Server.

Observe que alguns eventos de sistema também são registrados no Log de eventos do Windows.

Banco de dados de uso

O banco de dados de uso do SharePoint Server (nome padrão WSS_Logging) contém um subconjunto das informações encontradas nos logs do ULS. A retenção máxima de dados neste banco de dados é de 30 dias. Recomendamos que você configure-o para a menor duração permitida pelas suas necessidades de negócios. Para saber mais, confira o artigo Configurar o log de diagnóstico no SharePoint Server.

Os registros de uso e de histórico de consultas de pesquisa contêm referências a nomes de usuários.

Histórico de consultas e consultas favoritas

No SharePoint Server, os históricos de consulta e as consultas 'favoritas' expiram automaticamente após 365 dias. Se um usuário deixar sua organização, será possível remover referências ao nome de um usuário do histórico de consultas usando as etapas abaixo.

As consultas SQL a seguir aplicam-se ao SharePoint Server e permitem:

  • Exportar o histórico de consultas ou as consultas favoritas de um usuário

  • Remover referências a nomes de usuários do histórico de consultas

Observação

A adição de procedimentos armazenados a um banco de dados do SharePoint Server normalmente não tem suporte. A Microsoft abrirá uma exceção a essa política para dar suporte à adição e execução dos procedimentos armazenados descritos neste artigo a um banco de dados do SharePoint Server.

Exportar as consultas de um usuário desde uma data específica

Use o procedimento a seguir para exportar consultas das tabelas de log de consulta da Link Store, executadas por @UserName desde @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 

Exportar as consultas dos últimos 100 dias para um usuário

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

Exportar as consultas favoritas de um usuário

Use o procedimento a seguir para exportar as consultas favoritas de um usuário das tabelas de resultados pessoais do Search Administração DB, executadas por @UserName, desde <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 

Exportar as consultas favoritas dos últimos 100 dias para um usuário

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

Remover referências a nomes de usuários com mais de X dias

Use o procedimento a seguir para remover referências a todos os nomes de usuário mais antigos @Days , das tabelas de log de consulta da Loja de Links. O procedimento só remove as referências para trás no tempo até chegar ao @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 

Remover referências a um nome de usuário específico com mais de X dias

Use o procedimento a seguir para remover referências a um nome de usuário específico das tabelas de log de consulta da Loja de Links, em que as referências são mais antigas @Days . O procedimento só remove as referências para trás no tempo até chegar ao @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 

Remover referências a todos os nomes de usuário no histórico de consultas a partir de determinada data até os últimos 30 dias

EXECUTE proc_MSS_QLog_Cleanup_Users '1-1-2017', 30 

Excluir registros de uso

O SharePoint Server exclui automaticamente os registros de uso após 3 anos. Você pode excluir manualmente esses registros usando o procedimento abaixo:

Para excluir todos os registros de uso associados a documentos excluídos:

  1. Verifique se você tem a atualização mais recente do SharePoint. 

  2. Inicie um shell de Gerenciamento do SharePoint.

  3. Interrompa e desmarque a Análise de Uso:

    $tj = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.UsageAnalyticsJobDefinition 
    $tj.DisableTimerjobSchedule()
    $tj.StopAnalysis() 
    $tj.ClearAnalysis() 
    $tj.EnableTimerjobSchedule()
    
  4. Espere até que a análise seja iniciada novamente (pode levar até 24 horas). 

  5. Na próxima execução da análise, ele despejará todos os registros do banco de dados Analytics Reporting. Esse despejo completo pode demorar um pouco para um banco de dados grande com muitas entradas.

  6. Aguarde 10 dias. A análise é executada diariamente e os registros associados a documentos excluídos serão removidos após a execução de 10^th^. Essa execução pode levar mais tempo do que o normal se muitos registros precisarem ser excluídos. 

Informações pessoais e pesquisa no SharePoint Server 2010

Microsoft FAST Search Server 2010 para SharePoint

Além de armazenar arquivos no índice, o FAST Search Server 2010 Add-On também armazena arquivos em um formato intermediário chamado FixML. Os arquivos FiXML são compactados regularmente, por padrão entre 3h e 5h todas as noites. A compactação remove arquivos excluídos dos arquivos FiXML automaticamente. Para garantir a remoção oportuna de informações pertencentes a usuários ou documentos excluídos, verifique se a compactação está sempre habilitada.

As ações recomendadas para soluções de pesquisa híbrida são as mesmas para pesquisa no SharePoint Server ou no SharePoint Online. Há duas soluções de pesquisa híbrida:

A solução de pesquisa híbrida na nuvem - Com a solução de pesquisa híbrida em nuvem do SharePoint, você indexa todo o conteúdo rastreado, incluindo conteúdo local, no índice de pesquisa em Office 365. Quando os usuários consultam seu índice de pesquisa em Office 365, eles obtêm resultados de pesquisa do conteúdo local e Office 365. Quando os documentos são excluídos do ambiente do SharePoint Server, eles também são excluídos do índice de pesquisa em Office 365. Leia mais sobre a solução de pesquisa híbrida na nuvem e como os componentes e bancos de dados de pesquisa interagem na pesquisa híbrida na nuvem para entender melhor como o GDPR afeta o ambiente híbrido.

A solução de pesquisa federada híbrida – Com a solução de pesquisa federada híbrida, você usa o índice no SharePoint Server e o índice em Office 365. Os serviços de pesquisa do SharePoint Server e do SharePoint Online podem consultar o índice de pesquisa no outro ambiente e retornar resultados federados. Quando os usuários pesquisam em um Centro de Pesquisa, os resultados da pesquisa vêm do índice de pesquisa no SharePoint Server e do índice de pesquisa no Office 365. Leia mais sobre a solução de pesquisa federada híbrida para entender melhor como o GDPR afeta o ambiente híbrido.

Migrações do local para a nuvem

Ao migrar dados do SharePoint Server para o SharePoint Online, os dados duplicados podem existir em ambos os locais por um tempo. Se você tiver dados que precisa excluir que estão no meio da migração, recomendamos que você conclua a migração primeiro e exclua os dados de ambos os locais. Você pode consultar dados para exportação de qualquer local.

Dados de perfil do usuário

O Serviço de Perfil de Usuário permite a importação de dados de perfil de várias fontes externas. As consultas e a atualização desses dados de perfil de usuário devem ser tratadas nos sistemas nos quais os dados são dominados. Se você fizer atualizações no sistema externo, certifique-se de sincronizar os perfis de usuário no SharePoint Server novamente.

Siga estas etapas básicas para remover as informações pessoais de um usuário de seu perfil do SharePoint Server:

  1. Remova as informações do usuário de todos os sistemas externos que alimentam o perfil de usuário do SharePoint Server. Se você estiver usando a sincronização de diretório, o usuário deverá ser removido do ambiente Active Directory local.

  2. Execute uma sincronização de perfil no SharePoint Server.

  3. Exclua o perfil do SharePoint Server. Depois que isso for feito, o SharePoint Server removerá totalmente o perfil do Banco de Dados de Perfil de Usuário em 30 dias. A página de perfil e o site pessoal do usuário serão excluídos.

Depois de excluir o perfil de um usuário, algumas informações limitadas (como a ID do usuário) ainda poderão ser registradas em coleções de sites que o usuário visitou. Se você optar por excluir esses dados de uma determinada coleção de sites, isso poderá ser feito usando o CSOM. Um script de exemplo é fornecido abaixo:

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