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” toizumi. - Nowa wartość „
beginDate” toJune 15, 2022, 00:00 hours. - Nowa wartość „
endDate” toJune 30, 2022, 23:20 hours. - Nowa wartość „
incomingEmailMonitorLevel” toFULL_MESSAGE. - Nowa wartość „
outgoingEmailMonitorLevel” toHEADER_ONLY. - Nowa wartość „
draftMonitorLevel” toFULL_MESSAGE. - Nowa wartość „
chatMonitorLevel” toFULL_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ść
endDatetoAugust 30, 2022, 23:20 hours. - Nowa wartość „
chatMonitorLevel” toHEADER_ONLY. - Użytkownik, który ma być poddany audytowi, pozostaje
amal@example.com. - Wartość
destUserNamepozostaje na poziomieizumi.
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 incomingEmailMonitorLevel i outgoingEmailMonitorLevel 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");