Para configurar la supervisión de correo electrónico con la API de auditoría de correo electrónico, un administrador establece un período para que el auditor reciba como archivo adjunto una copia de los correos electrónicos enviados y recibidos de un usuario específico. La cantidad máxima de solicitudes de creación y eliminación de supervisión por día es de 1,000 solicitudes. Este límite es por dominio y, además, incluye todas las solicitudes que haga cualquier administrador durante el día.
Una situación de correo electrónico supervisado incluye tres tipos de usuarios:
Administrador: cualquier administrador de dominio puede crear, recuperar, actualizar y borrar un supervisor de correo electrónico con el recurso de supervisión de la API de auditoría de correo electrónico. Además, un administrador puede usar la API para descargar el buzón. Estas operaciones solo se pueden realizar dentro del dominio sobre el que el administrador ejerce control.
Usuario de origen: El usuario de origen es el usuario que recibe o envía mensajes que audita el usuario de destino de supervisión. Cualquier administrador de dominio o usuario de la cuenta puede ser un usuario de origen. El usuario de origen debe estar en el mismo dominio que el administrador y el usuario de destino.
Usuario de destino: el usuario de destino es el auditor que recibe los mensajes de correo electrónico auditados.
- Recibe copias ocultas (Cco) de todos los mensajes de correo electrónico entrantes y salientes, incluidos los archivos adjuntos entrantes y salientes, los mensajes reenviados y los mensajes de correo electrónico enviados desde dispositivos móviles.
- Como opción, un administrador de dominio puede habilitar funciones de auditoría adicionales para el usuario de destino. Las funciones opcionales incluyen la auditoría de borradores de correo electrónico guardados y la auditoría de chats archivados de Hangouts con otros usuarios que pueden estar dentro o fuera del dominio.
- Aunque el usuario de destino recibe una copia en Cco del mensaje, la asociación con Cco no es visible en los encabezados del mensaje a los que se puede acceder en la cuenta del usuario de origen.
- Cada mensaje de correo electrónico auditado se envía al usuario de destino como un archivo adjunto de correo electrónico. Y el administrador del dominio puede configurar estos mensajes para que sean el mensaje de correo electrónico completo o solo los encabezados de los mensajes.
- Este usuario de destino debe tener una cuenta de correo electrónico activa en el dominio supervisado. Debe ser el mismo dominio asociado con el administrador y el usuario de origen.
- Un usuario de destino puede ser un administrador o un usuario dentro del dominio. Además, este usuario de destino puede cambiar de roles para convertirse en un usuario de origen auditado por otro usuario de destino que, a su vez, recibe copias de todos los mensajes de correo electrónico auditados que se enviaron al primer usuario de destino.
- Un administrador de dominio crea un supervisor de correo electrónico auditado para un par único “usuario de destino - usuario de origen”. En otras palabras, la relación de auditoría es un usuario de destino a un usuario de origen. Cada auditoría se realiza con un recurso de supervisión de API. Cuando se usan varios supervisores de API, un usuario de destino puede auditar a muchos usuarios en el dominio. Además, con el uso de varios supervisores de API, muchos usuarios de destino pueden auditar a un usuario de origen.
- Si se crea un monitor de API adicional o se actualiza uno existente para un par “usuario de destino - usuario de origen”, el monitor que se creó por última vez sustituye a cualquier monitor preexistente para este par. Básicamente, así es como se actualiza un monitor de API. Para obtener más información sobre cómo actualizar un supervisor, consulta Actualiza un supervisor de correo electrónico.
Crear un supervisor de correos electrónicos
Para crear un supervisor de correo electrónico, envía la siguiente solicitud POST
con el recurso de supervisión de correo electrónico:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Reemplaza lo siguiente:
DOMAIN_NAME
: Es el nombre de dominio de Google Workspace, por ejemplo, example.com.SOURCE_USERNAME
: Es el nombre de usuario que deseas supervisar.
La solicitud POST
contiene el siguiente encabezado Content-type
:
Content-type: application/atom+xml
Para obtener una lista completa de los parámetros que se deben usar en una solicitud de supervisión de correo electrónico, consulta Recursos: monitor
.
Ejemplo para crear un monitor nuevo
En el ejemplo, se usan los siguientes parámetros:
- El usuario que se auditará es
amal@example.com
. - La
destUserName
esizumi
. - La
beginDate
esJune 15, 2022, 00:00 hours
. - La
endDate
esJune 30, 2022, 23:20 hours
. - La
incomingEmailMonitorLevel
esFULL_MESSAGE
. - La
outgoingEmailMonitorLevel
esHEADER_ONLY
. - La
draftMonitorLevel
esFULL_MESSAGE
. - La
chatMonitorLevel
esFULL_MESSAGE
.
Protocolo
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 se ejecuta de forma correcta, el servidor muestra un código de estado 201 CREATED
y una entrada de AtomPub con el elemento entry
que muestra la nueva configuración del monitor:
<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);
Actualizar un supervisor de correo electrónico
Cuando se actualiza un monitor con el mismo usuario de origen y de destino, la configuración inicial de la propiedad del monitor se reemplaza por la configuración nueva.
Para actualizar la configuración de auditoría en un supervisor de correos electrónicos, envía una solicitud POST
al URI del feed de supervisión y, luego, incluye el encabezado Authorization
:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Reemplaza lo siguiente:
DOMAIN_NAME
: Es el nombre de dominio de Google Workspace, por ejemplo, example.com.SOURCE_USERNAME
: Es el nombre de usuario del supervisor de correo electrónico que deseas actualizar.
Ejemplo para actualizar un supervisor de correo electrónico
En este ejemplo, se actualiza el monitor creado en el ejemplo para crear un supervisor de correo electrónico mediante la actualización de la propiedad obligatoria endDate
y de la propiedad opcional chatMonitorLevel
. En este ejemplo, se usan los siguientes parámetros:
- El nuevo
endDate
esAugust 30, 2022, 23:20 hours
. chatMonitorLevel
ahora esHEADER_ONLY
.- El usuario que se auditará sigue siendo
amal@example.com
. - El
destUserName
sigue siendoizumi
.
Las propiedades de supervisor que no se actualizaron se revierten a sus valores predeterminados. Por ejemplo, en este ejemplo, las propiedades incomingEmailMonitorLevel
y outgoingEmailMonitorLevel
se revierten a FULL_MESSAGE
, y draftMonitorLevel
se revierte a NONE
.
Protocolo
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 se ejecuta de forma correcta, el servidor muestra un código de estado 201 CREATED
y una entrada de AtomPub con los elementos entry
actualizados. Las propiedades que no se actualizaron y se mostraron en la respuesta se revierten a sus valores predeterminados.
<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);
Recuperar todos los supervisores de correo electrónico de un usuario de origen
Para recuperar todos los monitores asociados con un usuario de origen, realiza una solicitud HTTP GET
al URI del feed de supervisión con el formato UTC para la fecha y, además, incluye el encabezado Authorization
:
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Reemplaza lo siguiente:
DOMAIN_NAME
: Es el nombre de dominio de Google Workspace, por ejemplo, example.com.SOURCE_USERNAME
: Es el nombre de usuario del supervisor de correo electrónico que deseas recuperar.
Esta operación no tiene parámetros en el cuerpo de la solicitud, por lo que el cuerpo XML está vacío.
Ejemplo para recuperar todos los supervisores de correo electrónico
En este ejemplo, se recuperan todos los monitores creados para el usuario amal@example.com
:
Protocolo
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
Si se ejecuta de forma correcta, el servidor muestra un código de estado 201 CREATED
y un feed AtomPub con los elementos entry
para dos monitores que muestran la configuración de dos usuarios de destino (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");
Borrar un supervisor de correo electrónico
Para borrar un supervisor de correos electrónicos, realiza una solicitud DELETE
HTTP al URI de eliminación del feed de supervisión y, luego, incluye el encabezado Authorization
:
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME
Reemplaza lo siguiente:
DOMAIN_NAME
: Es el nombre de dominio de Google Workspace, por ejemplo, example.com.SOURCE_USERNAME
: Es el nombre de usuario del supervisor de correo electrónico que deseas borrar.DESTINATION_USERNAME
: El auditor que recibe los mensajes de correo electrónico auditados.
Ejemplo para borrar un supervisor de correo electrónico
En este ejemplo, se borran los monitores creados para el usuario amal@example.com
con destinationUserName
como izumi
.
Protocolo
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");