Мониторинг электронной почты

Для настройки мониторинга электронной почты с помощью API аудита электронной почты администратор задает диапазон дат, в течение которых аудитор будет получать копии отправленных и полученных писем конкретного пользователя в виде вложений. Максимальное количество запросов на создание и удаление отслеживаемых писем в день составляет 1000 запросов. Это ограничение действует для каждого домена и включает все запросы, сделанные любым администратором в течение дня.

В сценарии мониторинга электронной почты участвуют три типа пользователей:

  • Администратор — Любой администратор домена может создавать, получать, обновлять и удалять мониторинг электронной почты, используя ресурс мониторинга API аудита электронной почты. Кроме того, администратор может использовать API для загрузки почтового ящика. Эти операции могут быть выполнены только в пределах домена, над которым администратор осуществляет контроль.

  • Пользователь-источник — это пользователь, который получает или отправляет сообщения, которые проверяются целевым пользователем, осуществляющим мониторинг. Любой администратор домена или пользователь учетной записи может быть пользователем-источником. Пользователь-источник должен находиться в том же домене, что и администратор и целевой пользователь.

  • Получатель — Получателем является аудитор, который получает проверенные электронные сообщения.

    • Получает скрытые копии (Bcc) всех входящих и исходящих электронных писем, включая входящие и исходящие вложения, пересланные сообщения и электронные письма, отправленные с мобильных устройств.
    • В качестве опции администратор домена может включить дополнительные функции аудита для целевого пользователя. К дополнительным функциям относятся аудит сохраненных черновиков электронных писем, а также аудит архивированных чатов Hangouts с другими пользователями, которые могут находиться как внутри, так и за пределами домена.
    • Даже если получатель получает копию сообщения в скрытой копии (Bcc), эта привязка не отображается в заголовках сообщения, доступных в учетной записи отправителя.
    • Каждое проверенное электронное письмо отправляется получателю в виде вложения. Администратор домена может настроить отправку этих сообщений либо в виде полного текста письма, либо только заголовков.
    • У целевого пользователя должна быть активная учетная запись электронной почты в отслеживаемом домене. Это должен быть тот же домен, что и у администратора и исходного пользователя.
    • Целевым пользователем может быть администратор или пользователь в домене. И этот целевой пользователь может сменить роль, став исходным пользователем, данные которого проверяются другим целевым пользователем, который, в свою очередь, получает копии всех проверенных электронных писем, отправленных первому целевому пользователю.
    • Администратор домена создает один монитор аудита электронной почты для одной уникальной пары «пользователь назначения — пользователь источника». Другими словами, связь аудита — это один пользователь назначения к одному пользователю источника. Каждый аудит выполняется с использованием ресурса монитора API. Используя несколько мониторов API, пользователь назначения может проверять множество пользователей в домене. И, используя несколько мониторов API, многие пользователи назначения могут проверять одного пользователя источника.
    • Если для пары «пользователь назначения — пользователь источника» создается дополнительный монитор API или обновляется существующий монитор API, то последний созданный монитор заменяет все ранее созданные мониторы для этой пары. В принципе, так обновляется монитор API. Для получения дополнительной информации об обновлении монитора см. раздел «Обновление монитора электронной почты» .

Создайте монитор электронной почты

Для создания средства мониторинга электронной почты отправьте следующий POST запрос, содержащий ресурс средства мониторинга электронной почты:

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Замените следующее:

  • DOMAIN_NAME : доменное имя Google Workspace — например, example.com.
  • SOURCE_USERNAME : имя пользователя, за которым вы хотите вести наблюдение.

POST запрос содержит следующий заголовок Content-type :

Content-type: application/atom+xml

Полный список параметров, используемых в запросе на мониторинг электронной почты, см. в разделе «Ресурсы: monitor .

Пример создания нового монитора

В примере используются следующие параметры:

  • Пользователь, подлежащий аудиту, — amal@example.com .
  • destUserNameizumi .
  • Дата beginDate : June 15, 2022, 00:00 hours .
  • endDate : June 30, 2022, 23:20 hours .
  • Параметр incomingEmailMonitorLevel имеет значение FULL_MESSAGE .
  • Параметр outgoingEmailMonitorLevel имеет значение HEADER_ONLY .
  • Значение draftMonitorLevel равно FULL_MESSAGE .
  • Параметр chatMonitorLevel имеет значение FULL_MESSAGE .

Протокол

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>

В случае успеха сервер возвращает код состояния 201 CREATED и запись AtomPub, в entry которой отображаются новые настройки монитора:

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

.СЕТЬ

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

Обновить монитор электронной почты

При обновлении монитора с теми же исходными и целевыми пользователями исходные параметры монитора заменяются новыми параметрами.

Для обновления конфигурации аудита в мониторе электронной почты отправьте POST запрос на URI канала мониторинга, включив в него заголовок Authorization :

POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Замените следующее:

  • DOMAIN_NAME : доменное имя Google Workspace — например, example.com.
  • SOURCE_USERNAME : имя пользователя системы мониторинга электронной почты, которую вы хотите обновить.

Пример обновления монитора электронной почты

В этом примере обновляется монитор, созданный в примере создания монитора электронной почты, путем обновления обязательного свойства endDate и необязательного свойства chatMonitorLevel . В этом примере используются следующие параметры:

  • Новая endDateAugust 30, 2022, 23:20 hours .
  • Параметр chatMonitorLevel теперь имеет HEADER_ONLY .
  • Пользователю, подлежащему аудиту, по-прежнему остается amal@example.com .
  • destUserName остается izumi .

Свойства монитора, которые не были обновлены, возвращаются к своим значениям по умолчанию. Например, в этом примере свойства incomingEmailMonitorLevel и outgoingEmailMonitorLevel возвращаются к значению FULL_MESSAGE , а draftMonitorLevel — к значению NONE .

Протокол

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>

В случае успеха сервер возвращает код состояния 201 CREATED и запись AtomPub с обновленными entry . Свойства, которые не были обновлены и не отображались в ответе, возвращаются к своим значениям по умолчанию.

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

.СЕТЬ

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

Получить все адреса электронной почты, отслеживаемые пользователем-источником.

Чтобы получить все мониторы, связанные с пользователем-источником, выполните HTTP GET запрос к URI канала мониторов, используя формат UTC для даты и добавив заголовок Authorization :

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME

Замените следующее:

  • DOMAIN_NAME : доменное имя Google Workspace — например, example.com.
  • SOURCE_USERNAME : имя пользователя, указывающее адрес электронной почты, который вы хотите получить.

В теле запроса отсутствуют параметры, поэтому XML-тело запроса пустое.

Пример получения списка всех отслеживаемых электронных писем.

В этом примере отображаются все мониторы, созданные для пользователя amal@example.com :

Протокол

GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal

В случае успеха сервер возвращает код состояния 201 CREATED и ленту AtomPub с элементами entry для двух мониторов, отображающими настройки для двух целевых пользователей ( 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");

.СЕТЬ

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

Удалить монитор электронной почты

Чтобы удалить отслеживаемый почтовый адрес, отправьте HTTP-запрос DELETE на URI удаления канала отслеживания и добавьте заголовок Authorization :

DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME

Замените следующее:

  • DOMAIN_NAME : доменное имя Google Workspace — например, example.com.
  • SOURCE_USERNAME : имя пользователя, осуществляющего мониторинг электронной почты, которое вы хотите удалить.
  • DESTINATION_USERNAME : имя аудитора, получающего проверенные электронные сообщения.

Пример удаления наблюдателя электронной почты

В этом примере удаляются мониторы, созданные для пользователя amal@example.com с destinationUserName как izumi .

Протокол

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

.СЕТЬ

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