Monitorowanie e-maili

Aby skonfigurować monitorowanie poczty e-mail za pomocą interfejsu Email Audit API, administrator ustawia zakres dat, w którym audytor ma otrzymywać kopię wysłanych i odebranych e-maili danego użytkownika jako załącznik. Maksymalna liczba żądań utworzenia i usunięcia monitora dziennie to 1000. Ten limit dotyczy każdej domeny i obejmuje wszystkie żądania wysłane przez dowolnego administratora w ciągu dnia.

Scenariusz monitorowania e-maili obejmuje 3 typy użytkowników:

  • Administrator – każdy administrator domeny może tworzyć, pobierać, aktualizować i usuwać monitor e-mail za pomocą zasobu monitora interfejsu Email Audit API. Dodatkowo administrator może użyć interfejsu API do pobrania skrzynki pocztowej. Te operacje można wykonywać tylko w domenie, nad którą administrator sprawuje kontrolę.

  • Użytkownik źródłowy – użytkownik, który otrzymuje lub wysyła wiadomości sprawdzane przez użytkownika docelowego monitorowania. Użytkownikiem źródłowym może być dowolny administrator domeny lub użytkownik konta. Użytkownik źródłowy musi być w tej samej domenie co administrator i użytkownik docelowy.

  • Użytkownik docelowy – użytkownik docelowy to audytor, który otrzymuje audytowane e-maile.

    • Otrzymuje kopie ukryte (UDW) wszystkich przychodzących i wychodzących e-maili, w tym załączników przychodzących i wychodzących, przekazywanych wiadomości oraz e-maili wysyłanych z urządzeń mobilnych.
    • Administrator domeny może opcjonalnie włączyć dodatkowe funkcje audytu dla użytkownika docelowego. Funkcje opcjonalne obejmują audyt zapisanych wersji roboczych e-maili oraz audyt zarchiwizowanych czatów w Hangouts z innymi użytkownikami, którzy mogą być w domenie lub poza nią.
    • Mimo że użytkownik docelowy otrzymuje kopię wiadomości w polu UDW, powiązanie z tym polem nie jest widoczne w nagłówkach wiadomości dostępnych na koncie użytkownika źródłowego.
    • Każda sprawdzona wiadomość e-mail jest wysyłana do użytkownika docelowego jako załącznik. Administrator domeny może skonfigurować te wiadomości tak, aby zawierały pełną treść e-maila lub tylko nagłówki.
    • Użytkownik docelowy musi mieć aktywne konto e-mail w monitorowanej domenie. Musi to być ta sama domena, która jest powiązana z administratorem i użytkownikiem źródłowym.
    • Użytkownik docelowy może być administratorem lub użytkownikiem w domenie. Użytkownik docelowy może też zmienić rolę i stać się użytkownikiem źródłowym, którego działania są kontrolowane przez innego użytkownika docelowego, który z kolei otrzymuje kopie wszystkich kontrolowanych e-maili wysłanych do pierwszego użytkownika docelowego.
    • Administrator domeny tworzy jeden monitor kontrolowanych e-maili dla jednej unikalnej pary „użytkownik docelowy – użytkownik źródłowy”. Innymi słowy, relacja audytu to jeden użytkownik docelowy do jednego użytkownika źródłowego. Każda kontrola jest przeprowadzana przy użyciu zasobu monitora interfejsu API. Używając wielu monitorów interfejsu API, użytkownik docelowy może przeprowadzić kontrolę wielu użytkowników w domenie. Za pomocą wielu monitorów interfejsu API wielu użytkowników docelowych może przeprowadzić audyt jednego użytkownika źródłowego.
    • Jeśli dla pary „użytkownik docelowy – użytkownik źródłowy” utworzono dodatkowy monitor interfejsu API lub zaktualizowano istniejący monitor interfejsu API, monitor utworzony jako ostatni zastępuje wszystkie wcześniej utworzone monitory dla tej pary. W ten sposób możesz zaktualizować monitor interfejsu API. Więcej informacji o aktualizowaniu monitora znajdziesz w artykule Aktualizowanie monitora poczty e-mail.

Tworzenie monitora poczty e-mail

Aby utworzyć monitor poczty e-mail, wyślij to żądanie POST z zasobem monitora poczty e-mail:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, np. example.com.
  • SOURCE_USERNAME: nazwa użytkownika, którą chcesz monitorować.

Żądanie POST zawiera ten nagłówek Content-type:

Content-type: application/atom+xml

Pełną listę parametrów, których możesz użyć w żądaniu monitora poczty e-mail, znajdziesz w sekcji Zasoby: monitor.

Przykład tworzenia nowego monitora

W przykładzie użyto tych parametrów:

  • Użytkownik, który ma zostać poddany audytowi, to amal@example.com.
  • Nowa wartość „destUserName” to izumi.
  • Nowa wartość „beginDate” to June 15, 2022, 00:00 hours.
  • Nowa wartość „endDate” to June 30, 2022, 23:20 hours.
  • Nowa wartość „incomingEmailMonitorLevel” to FULL_MESSAGE.
  • Nowa wartość „outgoingEmailMonitorLevel” to HEADER_ONLY.
  • Nowa wartość „draftMonitorLevel” to FULL_MESSAGE.
  • Nowa wartość „chatMonitorLevel” to FULL_MESSAGE.

Protokół

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>

Jeśli operacja się powiedzie, serwer zwraca kod stanu 201 CREATED i wpis AtomPub z elementem entry zawierającym nowe ustawienia monitora:

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

Aktualizowanie monitora poczty e-mail

Podczas aktualizowania monitora z tym samym użytkownikiem źródłowym i docelowym ustawienia właściwości początkowego monitora są zastępowane nowymi ustawieniami.

Aby zaktualizować konfigurację audytu w monitorze poczty e-mail, wyślij POST żądanie na adres URI kanału monitora i dołącz nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, np. example.com.
  • SOURCE_USERNAME: nazwa użytkownika monitora poczty e-mail, który chcesz zaktualizować.

Przykład aktualizowania monitora e-mail

W tym przykładzie aktualizujemy monitor utworzony w przykładzie tworzenia monitora e-maili, aktualizując wymagane właściwości endDate i opcjonalne właściwości chatMonitorLevel. W tym przykładzie użyto tych parametrów:

  • Nowa wartość endDate to August 30, 2022, 23:20 hours.
  • Nowa wartość „chatMonitorLevel” to HEADER_ONLY.
  • Użytkownik, który ma być poddany audytowi, pozostaje amal@example.com.
  • Wartość destUserName pozostaje na poziomie izumi.

Właściwości monitora, które nie zostały zaktualizowane, zostaną przywrócone do wartości domyślnych. Na przykład w tym przykładzie właściwości incomingEmailMonitorLeveloutgoingEmailMonitorLevel wracają do wartości FULL_MESSAGE, a właściwość draftMonitorLevel wraca do wartości NONE.

Protokół

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>

Jeśli operacja się powiedzie, serwer zwraca kod stanu 201 CREATED i wpis AtomPub ze zaktualizowanymi elementami entry. Właściwości, które nie zostały zaktualizowane i nie są widoczne w odpowiedzi, wracają do wartości domyślnych.

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

Pobieranie wszystkich monitorów e-maili użytkownika źródłowego

Aby pobrać wszystkie monitory powiązane z użytkownikiem źródłowym, wyślij żądanie HTTP GET do identyfikatora URI pliku danych monitora, używając formatu UTC dla daty i uwzględniając nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, np. example.com.
  • SOURCE_USERNAME: nazwa użytkownika monitora poczty e-mail, który chcesz pobrać.

Ta operacja nie ma parametrów w treści żądania, więc treść XML jest pusta.

Przykład pobierania wszystkich monitorów poczty e-mail

Ten przykład pobiera wszystkie monitory utworzone dla użytkownika amal@example.com:

Protokół

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

Jeśli się powiedzie, serwer zwraca kod stanu 201 CREATED i kanał AtomPub z elementami entry dla 2 monitorów, które pokazują ustawienia dla 2 użytkowników docelowych (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");

Usuwanie monitora poczty e-mail

Aby usunąć monitor poczty e-mail, wyślij żądanie HTTP DELETE do identyfikatora URI usuwania kanału monitora i dołącz nagłówek Authorization:

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

Zastąp następujące elementy:

  • DOMAIN_NAME: nazwa domeny Google Workspace, np. example.com.
  • SOURCE_USERNAME: nazwa użytkownika monitora poczty e-mail, który chcesz usunąć.
  • DESTINATION_USERNAME: audytor, który otrzymuje poddane audytowi wiadomości e-mail.

Przykład usuwania monitora poczty e-mail

Ten przykład usuwa monitory utworzone dla użytkownika amal@example.com z parametrem destinationUserName jako izumi.

Protokół

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