Monitorar e-mails

Para configurar o monitoramento de e-mails com a API Email Audit, um administrador define um período para o auditor receber uma cópia dos e-mails enviados e recebidos de um determinado usuário como um anexo. O número máximo diário de solicitações de criação e exclusão de monitores é de 1.000. Esse limite é por domínio e inclui todas as solicitações feitas por qualquer administrador durante o dia.

Um cenário de e-mails monitorados inclui três tipos de usuários:

  • Administrador: qualquer administrador de domínio pode criar, recuperar, atualizar e excluir um monitor de e-mail usando o recurso de monitoramento da API Email Audit. Além disso, um administrador pode usar a API para fazer o download da caixa de e-mails. Essas operações só podem ser feitas no domínio sobre o qual o administrador tem controle.

  • Usuário de origem: o usuário de origem é o usuário que recebe ou envia mensagens que estão sendo auditadas pelo usuário de destino de monitoramento. Qualquer administrador de domínio ou usuário da conta pode ser um usuário de origem. O usuário de origem precisa estar no mesmo domínio que o administrador e o usuário de destino.

  • Usuário de destino: o usuário de destino é o auditor que recebe as mensagens de e-mail auditadas.

    • Recebe cópias de carbono (Cco) de todas as mensagens de e-mail recebidas e enviadas, incluindo anexos de entrada e saída, mensagens encaminhadas e mensagens de e-mail enviadas de dispositivos móveis.
    • Como opção, um administrador de domínio pode ativar outros recursos de auditoria para o usuário de destino. Os recursos opcionais incluem a auditoria de rascunhos de e-mail salvos e de chats do Hangouts arquivados com outros usuários que podem estar dentro ou fora do domínio.
    • Mesmo que o usuário de destino receba uma cópia Cco da mensagem, a associação Cco não fica visível nos cabeçalhos de mensagem que podem ser acessados na conta do usuário de origem.
    • Cada mensagem de e-mail auditada é enviada ao usuário de destino como um anexo de e-mail. O administrador do domínio pode configurar essas mensagens para serem a mensagem de e-mail completa ou apenas os cabeçalhos de mensagens.
    • Esse usuário de destino precisa ter uma conta de e-mail ativa no domínio monitorado. Precisa ser o mesmo domínio associado ao administrador e ao usuário de origem.
    • O usuário de destino pode ser um administrador ou um usuário no domínio. Além disso, esse usuário de destino pode alternar papéis para se tornar um usuário de origem auditado por outro usuário de destino que, por sua vez, recebe cópias de todas as mensagens de e-mail auditadas enviadas ao primeiro usuário de destino.
    • Um administrador de domínio cria um monitor de e-mails auditado para um par exclusivo "usuário de destino - usuário de origem". Em outras palavras, a relação de auditoria é de um usuário de destino para um usuário de origem. Cada auditoria é feita com um recurso de monitoramento de API. Com vários monitores de API, um usuário de destino pode auditar muitos usuários no domínio. Além disso, com vários monitores de API, muitos usuários de destino podem auditar um usuário de origem.
    • Se um monitor de API adicional for criado ou um monitor de API existente for atualizado para um par "usuário de destino - usuário de origem", o monitor que foi o último criado substituirá todos os monitores pré-existentes desse par. Basicamente, é assim que se atualiza um monitor de API. Para mais informações sobre como atualizar um monitor, consulte Atualizar um monitor de e-mail.

Criar um monitor de e-mail

Para criar um monitor de e-mail, envie a seguinte solicitação POST com o recurso de monitoramento de e-mail:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Substitua:

  • DOMAIN_NAME: o nome de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário que você quer monitorar.

A solicitação POST contém o seguinte cabeçalho Content-type:

Content-type: application/atom+xml

Veja uma lista completa dos parâmetros que podem ser usados em uma solicitação de monitoramento de e-mail em Recursos: monitor.

Exemplo de criação de um novo monitor

O exemplo usa os seguintes parâmetros:

  • O usuário a ser auditado é amal@example.com.
  • O valor da coluna destUserName é izumi.
  • O valor da coluna beginDate é June 15, 2022, 00:00 hours.
  • O valor da coluna endDate é June 30, 2022, 23:20 hours.
  • O valor da coluna incomingEmailMonitorLevel é FULL_MESSAGE.
  • O valor da coluna outgoingEmailMonitorLevel é HEADER_ONLY.
  • O valor da coluna draftMonitorLevel é FULL_MESSAGE.
  • O valor da coluna chatMonitorLevel é FULL_MESSAGE.

Protocolo

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
   <apps:property name='destUserName' value='izumi'/>
   <apps:property name='beginDate' value='2022-06-15 00:00'/>
   <apps:property name='endDate' value='2022-06-30 23:20'/>
   <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
   <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/>
   <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
   <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
</atom:entry>

Se for bem-sucedido, o servidor retornará um código de status 201 CREATED e uma entrada AtomPub com o elemento entry mostrando as novas configurações do monitor:

<entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/id</id>
    <updated>2022-04-17T15:02:45.646Z</updated/>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/id'/>
    <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/id'/>
    <apps:property name='destUserName' value='izumi'/>
    <apps:property name='beginDate' value='2022-06-15 00:00'/>
    <apps:property name='endDate' value='2022-06-30 23:20'/>
    <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
    <apps:property name='outgoingEmailMonitorLevel' value='HEADER_ONLY'/>
    <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
    <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
</entry>

Java

import java.util.Calendar;
import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
import com.google.gdata.client.appsforyourdomain.audit.MailMonitor;
...

MailMonitor monitor = new MailMonitor();
Calendar beginDate = Calendar.getInstance();
beginDate.set(2022, Calendar.JUNE, 15, 0, 0)
monitor.setBeginDate(beginDate.getTime());
Calendar endDate = Calendar.getInstance();
endDate.set(2022, Calendar.JUNE, 30, 23, 20);
monitor.setEndDate(endDate.getTime());
monitor.setIncomingEmailMonitorLevel("FULL_MESSAGE");
monitor.setOutgoingEmailMonitorLevel("HEADER_ONLY");
monitor.setDraftMonitorLevel("FULL_MESSAGE");
monitor.setChatMonitorLevel("FULL_MESSAGE");
monitor.setDestUserName("izumi");

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry entry = service.createMailMonitor("amal", monitor);

.NET

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

MailMonitor monitor = new MailMonitor();
monitor.BeginDate = new DateTime(2022, 6, 15);
monitor.EndDate = new DateTime(2022, 6, 30, 23, 20, 0);
monitor.IncomingEmailMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.OutgoingEmailMonitorLevel = MonitorLevel.HEADER_ONLY;
monitor.DraftMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.ChatMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.DestinationUserName = "izumi";

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailMonitor monitorEntry = service.CreateMailMonitor("amal", monitor);

Atualizar um monitor de e-mail

Ao atualizar um monitor com o mesmo usuário de origem e usuário de destino, as configurações de propriedade do monitor inicial são substituídas pelas novas configurações.

Para atualizar a configuração de auditoria em um monitor de e-mail, envie uma solicitação POST para o URI do feed de monitoramento e inclua o cabeçalho Authorization:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Substitua:

  • DOMAIN_NAME: o nome de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário do monitor de e-mail que você quer atualizar.

Exemplo de atualização de um monitor de e-mail

Este exemplo atualiza o monitor criado no exemplo para criar um monitor de e-mail com a atualização da propriedade obrigatória endDate e da propriedade opcional chatMonitorLevel. Neste exemplo, usamos os seguintes parâmetros:

  • O novo endDate é August 30, 2022, 23:20 hours.
  • chatMonitorLevel agora é HEADER_ONLY
  • O usuário a ser auditado permanece amal@example.com.
  • O destUserName continua sendo izumi.

As propriedades do monitor que não foram atualizadas serão revertidas para os valores padrão. Por exemplo, neste exemplo, as propriedades incomingEmailMonitorLevel e outgoingEmailMonitorLevel são revertidas para FULL_MESSAGE, e draftMonitorLevel, para NONE.

Protocolo

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal

<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <apps:property name='destUserName' value='izumi'/>
    <apps:property name='endDate' value='2022-08-30 23:20'/>
    <apps:property name='chatMonitorLevel' value='HEADER_ONLY'/>
</atom:entry>

Se for bem-sucedido, o servidor retornará um código de status 201 CREATED e uma entrada AtomPub com os elementos entry atualizados. As propriedades que não foram atualizadas e mostradas na resposta são revertidas para os valores padrão.

<entry>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi</id>
    <updated>2022-08-20T00:28:57.319Z</updated>
    <link rel='self' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi" />
    <link rel='edit' type='application/atom+xml' href="https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi" />
    <apps:property name='chatMonitorLevel' value='HEADER_ONLY' />
    <apps:property name='destUserName' value='izumi' />
    <apps:property name='endDate' value='2022-08-30 23:20' />
</entry>

Java

import java.util.Calendar;
import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.client.appsforyourdomain.audit.MailMonitor;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
...

MailMonitor monitor = new MailMonitor();
Calendar endDate = Calendar.getInstance();
endDate.set(2022, Calendar.AUGUST, 30, 23, 20);
monitor.setEndDate(endDate.getTime());
monitor.setChatMonitorLevel("HEADER_ONLY");
monitor.setDestUserName("izumi");

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericEntry entry = service.createMailMonitor("amal", monitor);

.NET

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

MailMonitor monitor = new MailMonitor();
monitor.EndDate = new DateTime(2022, 8, 30, 23, 20, 0);
monitor.ChatMonitorLevel = MonitorLevel.HEADER_ONLY;
monitor.DestinationUserName = "izumi";

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailMonitor monitorEntry = service.CreateMailMonitor("amal", monitor);

Recuperar todos os monitores de e-mail de um usuário de origem

Para recuperar todos os monitores associados a um usuário de origem, faça uma solicitação GET HTTP ao URI do feed do monitor usando o formato UTC para a data e inclua o cabeçalho Authorization:

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Substitua:

  • DOMAIN_NAME: o nome de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário do monitor de e-mail que você quer recuperar.

Como esta operação não tem parâmetros no corpo da solicitação, o corpo XML está vazio.

Exemplo para recuperar todos os monitores de e-mail

Este exemplo recupera todos os monitores criados para o usuário amal@example.com:

Protocolo

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal

Se funcionar, o servidor retornará um código de status 201 CREATED e um feed AtomPub com os elementos entry para dois monitores que mostram as configurações de dois usuários de destino (izumi@example.com, taylor@example.com).

<feed xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:apps='http://schemas.google.com/apps/2006'>
    <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal</id>
    <updated>2010-03-17T15:29:21.064Z</updated>
    <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/>
    <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/>
    <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal'/>
    <openSearch:startIndex>1</openSearch:startIndex>
    <entry>
        <id>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi</id>
        <updated>2022-04-17T15:29:21.064Z</updated>
        <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi&'/>
        <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/feeds/compliance/audit/mail/monitor/example.com/amal/izumi&'/>
        <apps:property name='requestId' value='53156'/>
        <apps:property name='destUserName' value='izumi'/>
        <apps:property name='beginDate' value='2022-06-15 00:00'/>
        <apps:property name='endDate' value='2022-06-30 23:20'/>
        <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
   </entry>
   <entry>
        <id>>https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor</id>
        <updated>2022-05-17T15:29:21.064Z</updated>
        <link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor'/>
        <link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/taylor'/>
        <apps:property name='requestId' value='22405'/>
        <apps:property name='destUserName' value='taylor'/>
        <apps:property name='beginDate' value='2022-06-20 00:00'/>
        <apps:property name='endDate' value='2022-07-30 23:20'/>
        <apps:property name='incomingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='outgoingEmailMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='draftMonitorLevel' value='FULL_MESSAGE'/>
        <apps:property name='chatMonitorLevel' value='FULL_MESSAGE'/>
    </entry>
</feed>

Java

import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.data.appsforyourdomain.generic.GenericFeed;
...

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
GenericFeed feed = service.retrieveMonitors("amal");

.NET

using System;
using System.Collections.Generic;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
GenericFeed<MailMonitor> monitors = service.RetrieveMailMonitors("amal");

Excluir um monitor de e-mail

Para excluir um monitor de e-mails, faça uma solicitação DELETE HTTP ao URI de exclusão do feed de monitoramento e inclua o cabeçalho Authorization:

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME

Substitua:

  • DOMAIN_NAME: o nome de domínio do Google Workspace, por exemplo, example.com.
  • SOURCE_USERNAME: o nome de usuário do monitor de e-mail que você quer excluir.
  • DESTINATION_USERNAME: o auditor que recebe as mensagens de e-mail auditadas.

Exemplo de exclusão de um monitor de e-mail

Este exemplo exclui os monitores criados para o usuário amal@example.com com destinationUserName como izumi.

Protocolo

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi

Java

import com.google.gdata.client.appsforyourdomain.audit.AuditService;
...

AuditService service = new AuditService("admin@example.com", "p@55w0rd", "example.com", "example.com-auditapp-v1");
service.deleteMonitor("amal", "izumi");

.NET

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
service.DeleteMailMonitor("amal", "izumi");