Pour configurer la surveillance des e-mails avec l'API Email Audit, un administrateur définit une plage de dates pendant laquelle l'auditeur recevra, sous forme de pièce jointe, une copie des e-mails envoyés et reçus par un utilisateur particulier. Le nombre maximal de requêtes de création et de suppression de surveillance 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é inclut trois types d'utilisateurs:
Administrateur : tout administrateur de domaine peut créer, récupérer, mettre à jour et supprimer une surveillance des e-mails à l'aide de la ressource de surveillance de l'API Email Audit. En outre, un administrateur peut télécharger la boîte aux lettres à l'aide de l'API. Ces opérations ne peuvent être effectuées que dans le domaine sur lequel l'administrateur exerce le contrôle.
Utilisateur source : utilisateur qui reçoit ou envoie les messages 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.
- Reçoit une copie carbone invisible (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 à partir d'appareils mobiles.
- Un administrateur de domaine peut, s'il le souhaite, activer des fonctionnalités d'audit supplémentaires pour l'utilisateur de destination. Les fonctionnalités facultatives incluent l'audit des brouillons enregistrés et l'audit des discussions Hangouts archivées avec d'autres utilisateurs membres ou non du domaine.
- Même si l'utilisateur de destination reçoit une copie du message en Cci, l'association en Cci n'est pas visible dans les en-têtes du message accessibles dans le compte de l'utilisateur source.
- Chaque e-mail audité est envoyé à l'utilisateur de destination sous forme de pièce jointe. L'administrateur de domaine peut configurer ces messages de sorte qu'ils correspondent soit à l'e-mail complet, soit uniquement à l'en-tête du message.
- Cet utilisateur de destination doit avoir 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 également 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 une surveillance des e-mails auditée pour une paire utilisateur de destination/utilisateur source unique. En d'autres termes, la relation d'audit est un utilisateur de destination avec un utilisateur source. Chaque audit est effectué à l'aide d'une ressource de surveillance d'API. L'utilisation de plusieurs moniteurs d'API permet à un utilisateur de destination d'auditer de nombreux utilisateurs du domaine. De plus, à l'aide 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 dernier moniteur créé remplace tous les moniteurs préexistants pour cette paire. En gros, c'est ainsi que vous mettez à jour un moniteur d'API. Pour en savoir plus sur la mise à jour d'une surveillance, consultez la page Mettre à jour une surveillance des e-mails.
Créer une surveillance des e-mails
Pour créer une surveillance des 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'une surveillance
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 l'opération réussit, le serveur renvoie un code d'état 201 CREATED
et une entrée AtomPub avec l'élément entry
affichant les nouveaux paramètres de surveillance:
<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);
Mettre à jour une surveillance des e-mails
Lors de la mise à jour d'un moniteur avec le même utilisateur source et le même utilisateur de destination, les paramètres de propriété de la surveillance initiale sont remplacés par les nouveaux paramètres.
Pour mettre à jour la configuration d'audit dans une surveillance des e-mails, envoyez une requête POST
à l'URI du flux de surveillance 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 de la surveillance des e-mails que vous souhaitez mettre à jour.
Exemple de mise à jour d'une surveillance des e-mails
Cet exemple met à jour la surveillance créée dans l'exemple de création d'une surveillance des e-mails en mettant à jour la propriété requise endDate
et la propriété facultative chatMonitorLevel
. Cet exemple utilise les paramètres suivants:
- Le nouveau
endDate
estAugust 30, 2022, 23:20 hours
. chatMonitorLevel
est désormaisHEADER_ONLY
.- L'utilisateur à auditer reste
amal@example.com
. destUserName
resteizumi
.
Les valeurs par défaut des propriétés de surveillance qui n'ont pas été mises à jour sont rétablies. Par exemple, dans cet exemple, les propriétés incomingEmailMonitorLevel
et outgoingEmailMonitorLevel
reviennent à FULL_MESSAGE
, et draftMonitorLevel
revient à 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 l'opération réussit, le serveur renvoie un code d'état 201 CREATED
et une entrée AtomPub avec les éléments entry
mis à jour. Les valeurs par défaut des propriétés qui n'ont pas été mises à jour et qui s'affichent dans la réponse sont rétablies.
<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érer tous les moniteurs d'e-mail d'un utilisateur source
Pour récupérer toutes les surveillances associées à un utilisateur source, envoyez une requête HTTP GET
à l'URI du flux de surveillance, en utilisant le format UTC pour la date, et incluez 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 de la surveillance des e-mails que vous souhaitez récupérer.
Le corps de la requête n'inclut aucun paramètre pour cette opération. Le corps XML est donc vide.
Exemple de récupération de tous les moniteurs d'e-mail
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
de deux écrans 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 de la surveillance des e-mails que vous souhaitez supprimer.DESTINATION_USERNAME
: auditeur qui reçoit les e-mails audités.
Exemple de suppression d'une surveillance des e-mails
Cet exemple supprime les surveillances créées 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");