Untuk menyiapkan pemantauan email dengan Email Audit API, administrator menetapkan rentang tanggal agar auditor menerima salinan email yang dikirim dan diterima pengguna tertentu sebagai lampiran. Jumlah maksimum permintaan pembuatan dan penghapusan monitor per hari adalah 1.000 permintaan. Batas ini berlaku per domain, dan mencakup semua permintaan yang dilakukan oleh administrator mana pun selama hari tersebut.
Skenario email yang dipantau mencakup tiga jenis pengguna:
Administrator — Setiap administrator domain dapat membuat, mengambil, memperbarui, dan menghapus monitor email menggunakan resource monitor Email Audit API. Selain itu, administrator dapat menggunakan API untuk mendownload kotak surat. Operasi ini hanya dapat dilakukan dalam domain yang dikontrol oleh administrator.
Pengguna sumber — Pengguna sumber adalah pengguna yang menerima atau mengirim pesan yang diaudit oleh pengguna tujuan pemantauan. Setiap administrator domain atau pengguna akun dapat menjadi pengguna sumber. Pengguna sumber harus berada di domain yang sama dengan administrator dan pengguna tujuan.
Pengguna tujuan — Pengguna tujuan adalah auditor yang menerima pesan email yang diaudit.
- Menerima salinan karbon rahasia (Bcc) dari semua pesan email masuk dan keluar, termasuk lampiran masuk dan keluar, pesan yang diteruskan, dan pesan email yang dikirim dari perangkat seluler.
- Sebagai opsi, administrator domain dapat mengaktifkan fitur audit tambahan untuk pengguna tujuan. Fitur opsional mencakup audit draf email tersimpan, audit percakapan Hangouts yang diarsipkan dengan pengguna lain yang dapat berada di dalam atau di luar domain.
- Meskipun pengguna tujuan menerima salinan Bcc pesan, asosiasi Bcc tidak terlihat di header pesan yang dapat diakses di akun pengguna sumber.
- Setiap pesan email yang diaudit dikirim ke pengguna tujuan sebagai lampiran email. Selain itu, administrator domain dapat mengonfigurasi pesan ini agar berupa pesan email lengkap atau hanya header pesan.
- Pengguna tujuan ini harus memiliki akun email yang aktif di domain yang dipantau. Domain ini harus sama dengan domain yang terkait dengan administrator dan pengguna sumber.
- Pengguna tujuan dapat berupa administrator atau pengguna dalam domain. Selain itu, pengguna tujuan ini dapat mengganti peran untuk menjadi pengguna sumber yang diaudit oleh pengguna tujuan lain yang, pada gilirannya, menerima salinan semua pesan email yang diaudit yang dikirim ke pengguna tujuan pertama.
- Administrator domain membuat satu monitor email yang diaudit untuk satu pasangan unik 'pengguna tujuan - pengguna sumber'. Dengan kata lain, hubungan audit adalah satu pengguna tujuan ke satu pengguna sumber. Setiap audit dilakukan menggunakan resource monitor API. Dengan menggunakan beberapa monitor API, pengguna tujuan dapat mengaudit banyak pengguna di domain. Selain itu, dengan menggunakan beberapa pemantau API, banyak pengguna tujuan dapat mengaudit satu pengguna sumber.
- Jika monitor API tambahan dibuat atau monitor API yang ada diperbarui untuk pasangan 'pengguna tujuan - pengguna sumber', monitor yang terakhir dibuat akan menggantikan monitor yang sudah ada sebelumnya untuk pasangan ini. Pada dasarnya, begitulah cara Anda memperbarui monitor API. Untuk mengetahui informasi selengkapnya tentang cara memperbarui monitor, lihat Memperbarui monitor email.
Membuat pemantau email
Untuk membuat pemantau email, kirim permintaan POST berikut dengan resource pemantau email:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Ganti kode berikut:
DOMAIN_NAME: nama domain Google Workspace—misalnya, example.com.SOURCE_USERNAME: nama pengguna yang ingin Anda pantau.
Permintaan POST berisi header Content-type berikut:
Content-type: application/atom+xml
Untuk mengetahui daftar lengkap parameter yang akan digunakan dalam permintaan pemantauan email, lihat
Resources: monitor.
Contoh pembuatan monitor baru
Contoh ini menggunakan parameter berikut:
- Pengguna yang akan diaudit adalah
amal@example.com. destUserNameadalahizumi.beginDateadalahJune 15, 2022, 00:00 hours.endDateadalahJune 30, 2022, 23:20 hours.incomingEmailMonitorLeveladalahFULL_MESSAGE.outgoingEmailMonitorLeveladalahHEADER_ONLY.draftMonitorLeveladalahFULL_MESSAGE.chatMonitorLeveladalahFULL_MESSAGE.
Protokol
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>
Jika berhasil, server akan menampilkan kode status 201 CREATED dan entri AtomPub dengan elemen entry yang menampilkan setelan pemantauan baru:
<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);
Memperbarui pemantau email
Saat memperbarui pemantauan dengan pengguna sumber dan pengguna tujuan yang sama, setelan properti pemantauan awal digantikan oleh setelan baru.
Untuk memperbarui konfigurasi audit di monitor email, kirim permintaan POST ke URI feed monitor dan sertakan header Authorization:
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Ganti kode berikut:
DOMAIN_NAME: nama domain Google Workspace—misalnya, example.com.SOURCE_USERNAME: nama pengguna monitor email yang ingin Anda perbarui.
Contoh untuk memperbarui pemantau email
Contoh ini memperbarui monitor yang dibuat dalam
contoh untuk membuat monitor email
dengan memperbarui properti wajib diisi endDate dan properti opsional
chatMonitorLevel. Contoh ini menggunakan parameter berikut:
endDatebaru adalahAugust 30, 2022, 23:20 hours.chatMonitorLevelsekarang menjadiHEADER_ONLY.- Pengguna yang akan diaudit tetap
amal@example.com. destUserNametetapizumi.
Properti monitor yang tidak diperbarui akan dikembalikan ke nilai defaultnya. Misalnya, dalam contoh ini, properti incomingEmailMonitorLevel dan outgoingEmailMonitorLevel akan dikembalikan ke FULL_MESSAGE, dan draftMonitorLevel akan dikembalikan ke NONE.
Protokol
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>Jika berhasil, server akan menampilkan kode status 201 CREATED dan
entri AtomPub dengan elemen entry yang diupdate. Properti
yang tidak diperbarui dan ditampilkan dalam respons akan dikembalikan ke nilai defaultnya.
<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);
Mengambil semua pemantau email pengguna sumber
Untuk mengambil semua monitor yang terkait dengan pengguna sumber, buat permintaan HTTP GET
ke URI feed monitor, menggunakan format UTC untuk tanggal, dan sertakan
header Authorization:
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
Ganti kode berikut:
DOMAIN_NAME: nama domain Google Workspace—misalnya, example.com.SOURCE_USERNAME: nama pengguna monitor email yang ingin Anda ambil.
Operasi ini tidak memiliki parameter dalam isi permintaan, sehingga isi XML kosong.
Contoh untuk mengambil semua pemantau email
Contoh ini mengambil semua monitor yang dibuat untuk pengguna amal@example.com:
Protokol
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
Jika berhasil, server akan menampilkan kode status 201 CREATED dan feed AtomPub dengan elemen entry untuk dua monitor yang menampilkan setelan untuk dua pengguna tujuan (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");
Menghapus pemantau email
Untuk menghapus pemantau email, buat permintaan HTTP DELETE ke URI penghapusan feed pemantau
dan sertakan header Authorization:
DELETE https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME/DESTINATION_USERNAME
Ganti kode berikut:
DOMAIN_NAME: nama domain Google Workspace—misalnya, example.com.SOURCE_USERNAME: nama pengguna monitor email yang ingin Anda hapus.DESTINATION_USERNAME: auditor yang menerima pesan email yang diaudit.
Contoh untuk menghapus pemantau email
Contoh ini menghapus monitor yang dibuat untuk pengguna amal@example.com
dengan destinationUserName sebagai izumi.
Protokol
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");