Pour configurer la surveillance des e-mails avec l'API Email Audit, un administrateur définit une plage de dates pour que l'auditeur reçoive une copie des e-mails envoyés et reçus par un utilisateur particulier en pièce jointe. Le nombre maximal de requêtes de création et de suppression de moniteurs par jour est de 1 000. Cette limite s'applique par domaine et inclut toutes les requêtes effectuées par un administrateur au cours de la journée.
Un scénario d'e-mail surveillé comprend trois types d'utilisateurs:
Administrateur : tout administrateur de domaine peut créer, récupérer, mettre à jour et supprimer un moniteur de messagerie à l'aide de la ressource de surveillance de l'API Email Audit. De plus, un administrateur peut utiliser l'API pour télécharger la boîte de réception. Ces opérations ne peuvent être effectuées que dans le domaine sur lequel l'administrateur exerce un contrôle.
Utilisateur source : l'utilisateur source est celui qui reçoit ou envoie des messages qui sont audités par l'utilisateur de destination de la surveillance. Tout administrateur de domaine ou utilisateur de compte peut être un utilisateur source. L'utilisateur source doit appartenir au même domaine que l'administrateur et l'utilisateur de destination.
Utilisateur de destination : l'utilisateur de destination est l'auditeur qui reçoit les e-mails audités.
- Il reçoit les copies carbone masquées (Cci) de tous les e-mails entrants et sortants, y compris les pièces jointes entrantes et sortantes, les messages transférés et les e-mails envoyés depuis des appareils mobiles.
- Un administrateur de domaine peut éventuellement activer des fonctionnalités d'audit supplémentaires pour l'utilisateur de destination. Les fonctionnalités facultatives incluent l'audit des brouillons d'e-mails enregistrés et l'audit des chats Hangouts archivés avec d'autres utilisateurs qui peuvent être membres ou non du domaine.
- Même si l'utilisateur de destination reçoit une copie du message en Cci, l'association Cci n'est pas visible dans les en-têtes de message accessibles dans le compte de l'utilisateur source.
- Chaque e-mail audité est envoyé à l'utilisateur de destination en tant que pièce jointe. L'administrateur du domaine peut configurer ces messages pour qu'ils incluent le message d'e-mail complet ou uniquement les en-têtes de message.
- Cet utilisateur de destination doit disposer d'un compte de messagerie actif dans le domaine surveillé. Il doit s'agir du même domaine que celui associé à l'administrateur et à l'utilisateur source.
- Un utilisateur de destination peut être un administrateur ou un utilisateur du domaine. Cet utilisateur de destination peut changer de rôle pour devenir un utilisateur source audité par un autre utilisateur de destination qui, à son tour, reçoit des copies de tous les e-mails audités envoyés au premier utilisateur de destination.
- Un administrateur de domaine crée un moniteur de messagerie audité pour une paire "utilisateur de destination - utilisateur source" unique. En d'autres termes, la relation d'audit est un utilisateur de destination par rapport à un utilisateur source. Chaque audit est effectué à l'aide d'une ressource de surveillance de l'API. À l'aide de plusieurs moniteurs d'API, un utilisateur de destination peut auditer de nombreux utilisateurs du domaine. De plus, grâce à l'utilisation de plusieurs moniteurs d'API, de nombreux utilisateurs de destination peuvent auditer un utilisateur source.
- Si un moniteur d'API supplémentaire est créé ou qu'un moniteur d'API existant est mis à jour pour une paire "utilisateur de destination - utilisateur source", le moniteur créé en dernier remplace tous les moniteurs préexistants pour cette paire. Voici comment mettre à jour un moniteur d'API. Pour en savoir plus sur la mise à jour d'un moniteur, consultez Mettre à jour un moniteur de messagerie.
Créer une surveillance des e-mails
Pour créer un moniteur d'e-mails, envoyez la requête POST
suivante avec la ressource de surveillance des e-mails:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Remplacez les éléments suivants :
DOMAIN_NAME
: nom de domaine Google Workspace (par exemple, example.com).SOURCE_USERNAME
: nom d'utilisateur que vous souhaitez surveiller.
La requête POST
contient l'en-tête Content-type
suivant:
Content-type: application/atom+xml
Pour obtenir la liste complète des paramètres à utiliser dans une requête de surveillance des e-mails, consultez la page Ressources: monitor
.
Exemple de création d'un moniteur
L'exemple utilise les paramètres suivants:
- L'utilisateur à auditer est
amal@example.com
. - "
destUserName
" indique "izumi
". - "
beginDate
" indique "June 15, 2022, 00:00 hours
". - "
endDate
" indique "June 30, 2022, 23:20 hours
". - "
incomingEmailMonitorLevel
" indique "FULL_MESSAGE
". - "
outgoingEmailMonitorLevel
" indique "HEADER_ONLY
". - "
draftMonitorLevel
" indique "FULL_MESSAGE
". - "
chatMonitorLevel
" indique "FULL_MESSAGE
".
Protocole
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>
Si la requête aboutit, le serveur renvoie un code d'état 201 CREATED
et une entrée AtomPub avec l'élément entry
affichant les nouveaux paramètres du moniteur:
<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);
Modifier une surveillance des e-mails
Lorsque vous mettez à jour un moniteur avec le même utilisateur source et utilisateur de destination, les paramètres de propriété du moniteur initial sont remplacés par les nouveaux paramètres.
Pour mettre à jour la configuration d'audit dans un moniteur de messagerie, envoyez une requête POST
à l'URI du flux du moniteur et incluez l'en-tête Authorization
:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Remplacez les éléments suivants :
DOMAIN_NAME
: nom de domaine Google Workspace (par exemple, example.com).SOURCE_USERNAME
: nom d'utilisateur du moniteur de messagerie que vous souhaitez mettre à jour.
Exemple de mise à jour d'un moniteur de messagerie
Cet exemple met à jour le moniteur créé dans l'exemple de création d'un moniteur de messagerie en mettant à jour la propriété requise endDate
et la propriété facultative chatMonitorLevel
. Cet exemple utilise les paramètres suivants:
- La nouvelle
endDate
estAugust 30, 2022, 23:20 hours
. chatMonitorLevel
est désormaisHEADER_ONLY
.- L'utilisateur à auditer reste
amal@example.com
. destUserName
resteizumi
.
Les propriétés du moniteur qui n'ont pas été mises à jour retrouvent leurs valeurs par défaut. Par exemple, dans cet exemple, les propriétés incomingEmailMonitorLevel
et outgoingEmailMonitorLevel
reviennent à FULL_MESSAGE
, et draftMonitorLevel
à NONE
.
Protocole
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>
Si la requête aboutit, le serveur renvoie un code d'état 201 CREATED
et une entrée AtomPub avec les éléments entry
mis à jour. Les propriétés qui n'ont pas été mises à jour et qui ne s'affichent pas dans la réponse reprennent leurs valeurs par défaut.
<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);
Récupérez tous les moniteurs de messagerie d'un utilisateur source.
Pour récupérer tous les moniteurs associés à un utilisateur source, envoyez une requête HTTP GET
à l'URI du flux de moniteurs, en utilisant le format UTC pour la date et en incluant l'en-tête Authorization
:
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Remplacez les éléments suivants :
DOMAIN_NAME
: nom de domaine Google Workspace (par exemple, example.com).SOURCE_USERNAME
: nom d'utilisateur du moniteur de messagerie que vous souhaitez récupérer.
Cette opération ne comporte aucun paramètre dans le corps de la requête. Le corps XML est donc vide.
Exemple de récupération de tous les moniteurs de messagerie
Cet exemple récupère tous les moniteurs créés pour l'utilisateur amal@example.com
:
Protocole
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
Si l'opération réussit, le serveur renvoie un code d'état 201 CREATED
et un flux AtomPub avec les éléments entry
pour deux moniteurs affichant les paramètres de deux utilisateurs de destination (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");
Supprimer une surveillance des e-mails
Pour supprimer une surveillance des e-mails, envoyez une requête HTTP DELETE
à l'URI de suppression du flux de surveillance et incluez l'en-tête Authorization
:
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME
Remplacez les éléments suivants :
DOMAIN_NAME
: nom de domaine Google Workspace (par exemple, example.com).SOURCE_USERNAME
: nom d'utilisateur du moniteur de messagerie que vous souhaitez supprimer.DESTINATION_USERNAME
: l'auditeur qui reçoit les e-mails audités.
Exemple de suppression d'une surveillance des e-mails
Cet exemple supprime les moniteurs créés pour l'utilisateur amal@example.com
avec destinationUserName
comme izumi
.
Protocole
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");