Monitora le email

Per configurare il monitoraggio delle email con l'API Email Audit, un amministratore imposta un intervallo di date in modo che il revisore riceva una copia delle email inviate e ricevute da un determinato utente come allegato. Il numero massimo di richieste di creazione e cancellazione di monitor al giorno è 1000. Questo limite si applica a ogni dominio e include tutte le richieste effettuate da qualsiasi amministratore durante il giorno.

Uno scenario di email monitorato include tre tipi di utenti:

  • Amministratore: qualsiasi amministratore di dominio può creare, recuperare, aggiornare ed eliminare un monitoraggio email utilizzando la risorsa di monitoraggio dell'API Email Audit. Inoltre, un amministratore può utilizzare l'API per scaricare la cassetta postale. Queste operazioni possono essere eseguite solo all'interno del dominio su cui l'amministratore esercita il controllo.

  • Utente di origine: l'utente di origine è l'utente che riceve o invia i messaggi sottoposti a controllo dall'utente di destinazione del monitoraggio. Qualsiasi amministratore del dominio o utente dell'account può essere un utente di origine. L'utente di origine deve appartenere allo stesso dominio dell'amministratore e dell'utente di destinazione.

  • Utente di destinazione: l'utente di destinazione è l'auditor che riceve i messaggi email sottoposti a controllo.

    • Riceve le copie nascoste (Ccn) di tutti i messaggi email in entrata e in uscita, inclusi gli allegati in entrata e in uscita, i messaggi inoltrati e i messaggi email inviati da dispositivi mobili.
    • Se vuoi, un amministratore di dominio può attivare funzionalità di controllo aggiuntive per l'utente di destinazione. Le funzionalità facoltative includono il controllo delle bozze di email salvate, il controllo delle chat di Hangouts archiviate con altri utenti che possono trovarsi all'interno o all'esterno del dominio.
    • Anche se l'utente di destinazione riceve una copia Ccn del messaggio, l'associazione Ccn non è visibile nelle intestazioni dei messaggi accessibili nell'account dell'utente di origine.
    • Ogni messaggio email sottoposto a controllo viene inviato all'utente di destinazione come allegato email. L'amministratore del dominio può configurare questi messaggi in modo che siano il messaggio email completo o solo le intestazioni del messaggio.
    • Questo utente di destinazione deve avere un account email attivo nel dominio monitorato. Deve essere lo stesso dominio associato all'amministratore e all'utente di origine.
    • Un utente di destinazione può essere un amministratore o un utente all'interno del dominio. Inoltre, questo utente di destinazione può cambiare ruolo e diventare un utente di origine sottoposto a controllo da parte di un altro utente di destinazione che, a sua volta, riceve copie di tutti i messaggi email sottoposti a controllo inviati al primo utente di destinazione.
    • Un amministratore di dominio crea un monitoraggio email sottoposto a controllo per una singola coppia "utente di destinazione - utente di origine". In altre parole, il rapporto di controllo è un utente di destinazione e un utente di origine. Ogni controllo viene eseguito utilizzando una risorsa di monitoraggio dell'API. Utilizzando più monitor API, un utente di destinazione può controllare molti utenti nel dominio. Inoltre, utilizzando più monitor API, molti utenti di destinazione possono controllare un utente di origine.
    • Se viene creato un altro monitoraggio API o se viene aggiornato un monitoraggio API esistente per una coppia "utente di destinazione - utente di origine", il monitoraggio che è stato creato per ultimo sostituisce tutti i monitor preesistenti per questa coppia. In sostanza, è così che aggiorni un monitoraggio API. Per ulteriori informazioni sull'aggiornamento di un monitoraggio, consulta Aggiornare un monitoraggio email.

Creare un monitoraggio email

Per creare un monitoraggio email, invia la seguente richiesta POST con la risorsa monitoraggio email:

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

Sostituisci quanto segue:

  • DOMAIN_NAME: il nome di dominio Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente che vuoi monitorare.

La richiesta POST contiene la seguente intestazione Content-type:

Content-type: application/atom+xml

Per un elenco completo dei parametri da utilizzare in una richiesta di monitoraggio email, consulta Risorse: monitor.

Esempio per la creazione di un nuovo monitor

L'esempio utilizza i seguenti parametri:

  • L'utente da controllare è amal@example.com.
  • Il valore destUserName è izumi.
  • Il valore beginDate è June 15, 2022, 00:00 hours.
  • Il valore endDate è June 30, 2022, 23:20 hours.
  • Il valore incomingEmailMonitorLevel è FULL_MESSAGE.
  • Il valore outgoingEmailMonitorLevel è HEADER_ONLY.
  • Il valore draftMonitorLevel è FULL_MESSAGE.
  • Il valore chatMonitorLevel è FULL_MESSAGE.

Protocollo

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 l'operazione riesce, il server restituisce un codice di stato 201 CREATED e una voce AtomPub con l'elemento entry che mostra le nuove impostazioni del monitoraggio:

<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);

Aggiornare un monitoraggio email

Quando aggiorni un monitoraggio con lo stesso utente di origine e lo stesso utente di destinazione, le impostazioni della proprietà del monitoraggio iniziale vengono sostituite dalle nuove impostazioni.

Per aggiornare la configurazione del controllo in un monitoraggio email, invia una richiesta POST all'URI del feed del monitoraggio e includi l'intestazione Authorization:

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

Sostituisci quanto segue:

  • DOMAIN_NAME: il nome di dominio Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente del monitoraggio email che vuoi aggiornare.

Esempio di aggiornamento di un monitoraggio email

Questo esempio aggiorna il monitoraggio creato nell'esempio per la creazione di un monitoraggio email aggiornando la proprietà obbligatoria endDate e la proprietà facoltativa chatMonitorLevel. Questo esempio utilizza i seguenti parametri:

  • Il nuovo endDate è August 30, 2022, 23:20 hours.
  • chatMonitorLevel ora è HEADER_ONLY.
  • L'utente da sottoporre a controllo rimane amal@example.com.
  • Il valore destUserName rimane izumi.

Le proprietà del monitoraggio che non sono state aggiornate tornano ai valori predefiniti. Ad esempio, in questo esempio le proprietà incomingEmailMonitorLevel e outgoingEmailMonitorLevel tornano a FULL_MESSAGE e draftMonitorLevel torna a NONE.

Protocollo

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>

In caso di esito positivo, il server restituisce un codice di stato 201 CREATED e una voce AtomPub con gli elementi entry aggiornati. Le proprietà che non sono state aggiornate e mostrate nella risposta tornano ai valori predefiniti.

<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);

Recuperare tutti i monitor email di un utente di origine

Per recuperare tutti i monitor associati a un utente di origine, invia una richiesta HTTP GET all'URI del feed del monitor, utilizzando il formato UTC per la data e includendo l'intestazione Authorization:

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

Sostituisci quanto segue:

  • DOMAIN_NAME: il nome di dominio Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente del monitoraggio email che vuoi recuperare.

Questa operazione non ha parametri nel corpo della richiesta, pertanto il corpo XML è vuoto.

Esempio per il recupero di tutti i monitor email

Questo esempio recupera tutti i monitor creati per l'utente amal@example.com:

Protocollo

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

In caso di esito positivo, il server restituisce un codice di stato 201 CREATED e un feed AtomPub con gli elementi entry per due monitor che mostrano le impostazioni per due utenti di destinazione (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");

Eliminare un monitoraggio email

Per eliminare un monitoraggio email, invia una richiesta HTTP DELETE all'URI di eliminazione del feed del monitoraggio e includi l'intestazione Authorization:

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

Sostituisci quanto segue:

  • DOMAIN_NAME: il nome di dominio Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente del monitoraggio email che vuoi eliminare.
  • DESTINATION_USERNAME: l'auditor che riceve i messaggi email sottoposti a controllo.

Esempio per l'eliminazione di un monitoraggio email

Questo esempio elimina i monitor creati per l'utente amal@example.com con destinationUserName come izumi.

Protocollo

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");