Monitora le email

Per configurare il monitoraggio delle email con l'API Email Audit, un amministratore imposta un intervallo di date entro il quale il revisore deve ricevere una copia delle email inviate e ricevute come allegato di un determinato utente. Il numero massimo di richieste di creazione ed eliminazione di monitoraggio al giorno è 1000 richieste. Questo limite è per dominio e include tutte le richieste effettuate da qualsiasi amministratore durante il giorno.

Uno scenario di email monitorate 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 casella di posta. 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 controllati dall'utente di destinazione del monitoraggio. Qualsiasi amministratore di dominio o utente con 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 controllati.

    • Riceve le copie per conoscenza 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.
    • Come opzione, 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 e il controllo delle chat di Hangouts archiviate con altri utenti che possono essere interni o esterni al dominio.
    • Anche se l'utente di destinazione riceve una copia del messaggio in Ccn, l'associazione in Ccn non è visibile nelle intestazioni del messaggio accessibili nell'account dell'utente di origine.
    • Ogni messaggio email controllato viene inviato all'utente di destinazione come allegato email. Inoltre, l'amministratore di dominio può configurare questi messaggi in modo che siano il messaggio email completo o solo le intestazioni dei messaggi.
    • 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, l'utente di destinazione può cambiare i ruoli per diventare un utente di origine controllato da un altro utente di destinazione che, a sua volta, riceve una copia di tutti i messaggi email controllati inviati al primo utente di destinazione.
    • Un amministratore di dominio crea un monitoraggio email controllato per una coppia univoca "utente di destinazione - utente sorgente". In altre parole, la relazione di controllo è un utente di destinazione per un utente di origine. Ogni controllo viene eseguito utilizzando una risorsa di monitoraggio delle API. Utilizzando più monitor API, un utente di destinazione può controllare molti utenti del dominio. Inoltre, utilizzando più monitor API, molti utenti di destinazione possono controllare un solo utente di origine.
    • Se viene creato un monitoraggio API aggiuntivo o se viene aggiornato un monitoraggio API esistente per una coppia "utente di destinazione - utente di origine", il monitoraggio creato per ultimo sostituisce tutti i monitor preesistenti per questa coppia. Ecco come si aggiorna un monitoraggio API. Per ulteriori informazioni sull'aggiornamento di un monitor, consulta Aggiornare un monitoraggio email.

Crea monitoraggio email

Per creare un monitoraggio email, invia la seguente richiesta POST con la risorsa di 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 di 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>

In caso di esito positivo, il server restituisce un codice di stato 201 CREATED e una voce AtomPub con l'elemento entry che mostra le nuove impostazioni di 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);

Aggiorna monitoraggio email

Quando si aggiorna un monitor con lo stesso utente di origine e utente di destinazione, le impostazioni delle proprietà del monitoraggio iniziale vengono sostituite dalle nuove impostazioni.

Per aggiornare la configurazione dell'audit in una funzionalità di monitoraggio email, invia una richiesta POST all'URI del feed di 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 di 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. In questo esempio vengono utilizzati i seguenti parametri:

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

Vengono ripristinati i valori predefiniti delle proprietà di monitoraggio che non sono state aggiornate. Ad esempio, in questo esempio, le proprietà incomingEmailMonitorLevel e outgoingEmailMonitorLevel vengono ripristinate su FULL_MESSAGE e la proprietà draftMonitorLevel viene ripristinata 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. Vengono ripristinati i valori predefiniti delle proprietà che non sono state aggiornate e mostrate nella risposta.

<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, effettua una richiesta GET HTTP all'URI del feed di monitoraggio, utilizzando il formato UTC per la data, e includi 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 di Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente del monitoraggio email che vuoi recuperare.

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

Esempio per il recupero di tutti i monitor dell'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");

Elimina monitoraggio email

Per eliminare un monitoraggio email, effettua una richiesta HTTP DELETE all'URI di eliminazione del feed di 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 di Google Workspace, ad esempio example.com.
  • SOURCE_USERNAME: il nome utente del monitoraggio email che vuoi eliminare.
  • DESTINATION_USERNAME: il revisore che riceve i messaggi email controllati.

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