Monitora le email

Per configurare il monitoraggio 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 ed eliminazione di monitor al giorno è 1000. 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 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 messaggi che vengono controllati dall'utente di destinazione del monitoraggio. Qualsiasi amministratore di dominio o utente dell'account può essere un utente di origine. L'utente di origine deve trovarsi nello stesso dominio dell'amministratore e dell'utente di destinazione.

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

    • Riceve copie carbone 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.
    • In alternativa, 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 del messaggio accessibili nell'account dell'utente di origine.
    • Ogni messaggio email sottoposto ad audit viene inviato all'utente di destinazione come allegato email. L'amministratore del dominio può configurare questi messaggi in modo che includano l'intero messaggio email o solo le intestazioni del messaggio.
    • L'utente di destinazione deve disporre di 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 controllato da un altro utente di destinazione che, a sua volta, riceve copie di tutti i messaggi email controllati inviati al primo utente di destinazione.
    • Un amministratore del dominio crea un monitoraggio email controllato per una coppia univoca "utente di destinazione - utente di origine". In altre parole, la relazione di controllo è di un utente di destinazione a un utente di origine. Ogni controllo viene eseguito utilizzando una risorsa di monitoraggio 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 monitor API aggiuntivo o se un monitor API esistente viene aggiornato per una coppia "utente di destinazione - utente di origine", il monitor creato per ultimo sostituisce tutti i monitor preesistenti per questa coppia. In sostanza, ecco come aggiornare un monitor API. Per saperne di più sull'aggiornamento di un monitor, vedi Aggiornare un monitor email.

Creare un 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 del 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 di 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);

Aggiornare un monitoraggio email

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

Per aggiornare la configurazione di controllo in un monitor email, invia una richiesta POST all'URI del feed del monitor 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 del 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 monitor creato nell'esempio per la creazione di un monitor 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.
  • Il chatMonitorLevel ora è HEADER_ONLY.
  • L'utente da controllare rimane amal@example.com.
  • Il valore destUserName rimane izumi.

Le proprietà del monitor che non sono state aggiornate vengono ripristinate ai valori predefiniti. Ad esempio, in questo esempio, le proprietà incomingEmailMonitorLevel e outgoingEmailMonitorLevel vengono ripristinate su FULL_MESSAGE e la proprietà draftMonitorLevel viene ripristinata su 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 vengono ripristinate 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 monitoraggi 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 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 del 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, quindi il corpo XML è vuoto.

Esempio di recupero di tutti i monitoraggio 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");

Eliminazione monitoraggio email

Per eliminare un monitoraggio email, effettua 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 del dominio 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 sottoposti a revisione.

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