Para configurar o monitoramento de e-mails com a API Email Audit, um administrador define um intervalo de datas para que o auditor receba uma cópia dos e-mails enviados e recebidos de um usuário específico como anexo. O número máximo de solicitações de criação e exclusão de monitores por dia é 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-mail monitorado 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 monitor da API Email Audit. Além disso, um administrador pode usar a API para fazer o download da caixa de entrada. Essas operações só podem ser feitas no domínio sobre o qual o administrador exerce controle.
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 do administrador e do 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 ocultas (Bcc) 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 a auditoria de Hangouts arquivados com outros usuários que podem estar dentro ou fora do domínio.
- Embora o usuário de destino receba uma cópia da mensagem em Cco, a associação Cco não fica visível nos cabeçalhos de mensagem acessíveis 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 que sejam a mensagem de e-mail completa ou apenas os cabeçalhos da mensagem.
- Esse usuário de destino precisa ter uma conta de e-mail ativa no domínio monitorado. Ele precisa ser o mesmo domínio associado ao administrador e ao usuário de origem.
- Um usuário de destino pode ser um administrador ou um usuário no domínio. Esse usuário de destino pode mudar de função 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-mail auditado para um par "usuário de destino - usuário de origem" exclusivo. Em outras palavras, a relação de auditoria é de um usuário de destino para um usuário de origem. Cada auditoria é feita usando um recurso de monitoramento de API. Usando vários monitores de API, um usuário de destino pode auditar muitos usuários no domínio. E, usando 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 de "usuário de destino - usuário de origem", o monitor que foi criado por último substitui todos os monitores preexistentes para esse par. Basicamente, é assim que você 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 monitor 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
Para conferir uma lista completa de parâmetros a serem usados em uma solicitação de monitoramento de e-mail, consulte
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
.
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 vai retornar um código de status 201 CREATED
e
uma entrada do AtomPub com o elemento entry
mostrando novas configurações
de monitoramento:
<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>
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);
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 de destino, as configurações de propriedade do monitor inicial são substituídas pelas novas.
Para atualizar a configuração de auditoria em um monitor de e-mail, envie uma solicitação POST
para
o URI do feed do monitor 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 de como criar um monitor de e-mail
atualizado a propriedade obrigatória endDate
e a propriedade opcional
chatMonitorLevel
. Este exemplo usa os seguintes parâmetros:
- O novo
endDate
éAugust 30, 2022, 23:20 hours
. - O
chatMonitorLevel
agora éHEADER_ONLY
. - O usuário a ser auditado continua sendo
amal@example.com
. - O
destUserName
continua sendoizumi
.
As propriedades do monitor que não foram atualizadas são revertidas para os valores padrão. Por
exemplo, neste exemplo, as propriedades incomingEmailMonitorLevel
e
outgoingEmailMonitorLevel
revertem para FULL_MESSAGE
, e o
draftMonitorLevel
reverte para NONE
.
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 vai retornar um código de status 201 CREATED
e uma entrada do 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>
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);
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);
Extrair 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 HTTP GET
para o URI do feed de monitoração, usando o formato UTC para a data e incluindo
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.
Essa operação não tem parâmetros no corpo da solicitação. Portanto, o corpo do XML está vazio.
Exemplo de como recuperar todos os monitores de e-mail
Este exemplo recupera todos os monitores criados para o usuário amal@example.com
:
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
Se for bem-sucedido, o servidor vai retornar um código de status 201 CREATED
e
um feed AtomPub com os elementos entry
para dois monitores mostrando 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>
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");
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-mail, faça uma solicitação HTTP DELETE
para o URI de exclusão do feed do monitor 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
.
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi
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");
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");