Aby skonfigurować monitorowanie poczty e-mail za pomocą interfejsu API Email Audit API, administrator ustawia zakres dat, w którym audytor otrzyma jako załącznik kopię wysłanych i odebranych e-maili konkretnego użytkownika. Maksymalna liczba żądań utworzenia i usunięcia monitora na dzień to 1000. Ten limit dotyczy każdej domeny i obejmuje wszystkie prośby wysłane przez dowolnego administratora w ciągu dnia.
Scenariusz monitorowania poczty e-mail obejmuje 3 typy użytkowników:
Administrator – każdy administrator domeny może tworzyć, pobierać, aktualizować i usuwać monitorowanie poczty e-mail za pomocą zasobu monitora w interfejsie Email Audit API. Ponadto administrator może pobrać skrzynkę pocztową za pomocą interfejsu API. Te operacje można wykonywać tylko w domenie, nad którą administrator ma kontrolę.
Użytkownik źródłowy – użytkownik, który odbiera lub wysyła wiadomości kontrolowane przez użytkownika docelowego monitorującego. Źródłowym użytkownikiem może być dowolny administrator domeny lub użytkownik konta. Użytkownik źródłowy musi należeć do tej samej domeny co administrator i użytkownik docelowy.
Użytkownik docelowy – użytkownik docelowy to osoba, która otrzymuje zweryfikowane wiadomości e-mail.
- Otrzymuje ukryte kopie wszystkich przychodzących i wychodzących wiadomości e-mail, w tym załączników przychodzących i wychodzących, przekierowanych wiadomości oraz e-maili wysłanych z urządzeń mobilnych.
- Administrator domeny może opcjonalnie włączyć dodatkowe funkcje kontroli dla użytkownika docelowego. Opcjonalne funkcje obejmują sprawdzanie zapisanych wersji roboczych e-maili oraz archiwalnych czatów Hangouts z innymi użytkownikami, którzy mogą znajdować się 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 zweryfikowana wiadomość e-mail jest wysyłana do użytkownika docelowego jako załącznik. Administrator domeny może skonfigurować te wiadomości tak, aby były pełnymi wiadomościami e-mail lub tylko nagłówkami wiadomości.
- Użytkownik docelowy musi mieć aktywne konto e-mail w domenie monitorowanej. Musi to być ta sama domena powiązana z administratorem i użytkownikiem źródłowym.
- Użytkownik docelowy może być administratorem lub użytkownikiem w domenie. Ten użytkownik docelowy może też zmienić role i stać się użytkownikiem źródłowym, którego działania będą kontrolowane przez innego użytkownika docelowego. Ten z kolei będzie otrzymywać kopie wszystkich zweryfikowanych e-maili wysłanych do pierwszego użytkownika docelowego.
- Administrator domeny tworzy jeden monitorowany e-mail w przypadku jednej pary „użytkownik docelowy – użytkownik źródłowy”. Innymi słowy, relacja weryfikacyjna to jeden użytkownik docelowy i jeden użytkownik źródłowy. Każda kontrola jest przeprowadzana za pomocą zasobu monitorowania interfejsu API. Korzystając z kilku monitorów interfejsu API, użytkownik docelowy może sprawdzić wielu użytkowników w domenie. Dzięki korzystaniu z wielu monitorów interfejsu API wielu użytkowników docelowych może sprawdzać jednego użytkownika źródłowego.
- Jeśli utworzono dodatkowy monitor interfejsu API lub zaktualizowano istniejący monitor interfejsu API dla pary „użytkownik docelowy – użytkownik źródłowy”, ostatnio utworzony monitor zastąpi wszystkie wcześniej utworzone monitory dla tej pary. W podstawie tak właśnie aktualizuje się monitor interfejsu API. Więcej informacji o aktualizowaniu monitora znajdziesz w artykule Aktualizowanie monitora e-maili.
Tworzenie monitora poczty e-mail
Aby utworzyć monitor poczty e-mail, wyślij żą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, na przykład example.com.SOURCE_USERNAME
: nazwa użytkownika, którą chcesz monitorować.
Żądanie POST
zawiera nagłówek Content-type
:
Content-type: application/atom+xml
Pełną listę parametrów do użycia w żądaniu monitorowania e-maili znajdziesz w sekcji Zasoby: monitor
.
Przykład tworzenia nowego monitora
Przykład używa tych parametrów:
- Użytkownik, którego dane mają być zweryfikowane, 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
.
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 zwróci kod stanu 201 CREATED
i wpis AtomPub z elementem entry
, który zawiera 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>
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);
Aktualizowanie monitora poczty e-mail
Podczas aktualizowania monitora z tym samym użytkownikiem źródłowym i docelowym nowe ustawienia zastępują ustawienia właściwości początkowego monitora.
Aby zaktualizować konfigurację audytu w monitorze e-maili, wyślij żądanie POST
do identyfikatora URI kanału monitora, dołączając 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, na przykład example.com.SOURCE_USERNAME
: nazwa użytkownika monitora e-mail, którą chcesz zaktualizować.
Przykład aktualizacji monitora e-maili
W tym przykładzie aktualizujemy monitor utworzony w przykładzie tworzenia monitora e-mail, zmieniając wymaganą właściwość endDate
i opcjonalną właściwość chatMonitorLevel
. W tym przykładzie użyto tych parametrów:
- Nowa wartość
endDate
toAugust 30, 2022, 23:20 hours
. - Wartość
chatMonitorLevel
to terazHEADER_ONLY
. - Użytkownik, którego dane mają być zweryfikowane, pozostaje
amal@example.com
. - Wartość
destUserName
to nadalizumi
.
Właściwości monitorowania, 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
powracają do wartości FULL_MESSAGE
, a draftMonitorLevel
do wartości 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>
Jeśli operacja się powiedzie, serwer zwróci kod stanu 201 CREATED
i wpis AtomPub z zaktualizowanymi elementami entry
. Właściwości, które nie zostały zaktualizowane i wyświetlone w odpowiedzi, powracają 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>
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);
Pobieranie wszystkich monitorów e-maila 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 włączają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, na przykład example.com.SOURCE_USERNAME
: nazwa użytkownika monitora e-mail, którego chcesz pobrać.
Ta operacja nie ma parametrów w ciele żądania, więc ciało XML jest puste.
Przykład wyodrębniania wszystkich monitorów e-maili
Ten przykład zwraca wszystkie monitory utworzone dla użytkownika amal@example.com
:
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
Jeśli operacja się powiedzie, serwer zwróci kod stanu 201 CREATED
i kanał AtomPub z elementami entry
dla 2 monitorów pokazujących 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>
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");
Usuwanie monitora poczty e-mail
Aby usunąć monitor poczty e-mail, wyślij żądanie HTTP DELETE
do identyfikatora URI usuwania pliku danych monitora, uwzględniając 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, na przykład example.com.SOURCE_USERNAME
: nazwa użytkownika monitora e-mail, który chcesz usunąć.DESTINATION_USERNAME
: audytor, który otrzymuje zweryfikowane e-maile.
Przykład usuwania monitora poczty e-mail
W tym przykładzie zostaną usunięte monitory utworzone dla użytkownika amal@example.com
z wartością destinationUserName
jako izumi
.
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal/izumi
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");