หากต้องการตั้งค่าการตรวจสอบอีเมลด้วย Email Audit API ผู้ดูแลระบบจะต้องตั้งค่า ช่วงวันที่เพื่อให้ผู้ตรวจสอบได้รับสำเนาอีเมลที่ผู้ใช้รายนั้นส่งและ รับเป็นไฟล์แนบ จำนวนคำขอสร้างและลบการตรวจสอบสูงสุดต่อวันคือ 1,000 คำขอ ขีดจำกัดนี้เป็นต่อโดเมน และรวมถึงคำขอทั้งหมดที่ผู้ดูแลระบบรายใดก็ตามส่งในระหว่างวัน
สถานการณ์อีเมลที่ตรวจสอบประกอบด้วยผู้ใช้ 3 ประเภท ได้แก่
ผู้ดูแลระบบ - ผู้ดูแลระบบโดเมนทุกคนสามารถสร้าง เรียกข้อมูล อัปเดต และ ลบการตรวจสอบอีเมลได้โดยใช้ทรัพยากรการตรวจสอบของ Email Audit API นอกจากนี้ ผู้ดูแลระบบยังใช้ API เพื่อดาวน์โหลดกล่องจดหมายได้ด้วย การดำเนินการเหล่านี้จะทำได้ภายในโดเมนที่ผู้ดูแลระบบ ควบคุมเท่านั้น
ผู้ใช้ต้นทาง - ผู้ใช้ต้นทางคือผู้ใช้ที่รับหรือส่งข้อความ ซึ่งผู้ใช้ปลายทางที่ตรวจสอบจะตรวจสอบ ผู้ดูแลระบบโดเมนหรือผู้ใช้บัญชีทุกคนสามารถเป็นผู้ใช้แหล่งที่มาได้ ผู้ใช้ต้นทางต้องอยู่ในโดเมนเดียวกับผู้ดูแลระบบและผู้ใช้ปลายทาง
ผู้ใช้ปลายทาง - ผู้ใช้ปลายทางคือผู้ตรวจสอบที่ได้รับข้อความอีเมลที่ตรวจสอบแล้ว
- รับสำเนาลับ (Bcc) ของข้อความอีเมลขาเข้าและขาออกทั้งหมด รวมถึงไฟล์แนบขาเข้าและขาออก ข้อความที่ส่งต่อ และข้อความอีเมลที่ส่งจากอุปกรณ์เคลื่อนที่
- ผู้ดูแลระบบโดเมนสามารถเปิดใช้ฟีเจอร์การตรวจสอบเพิ่มเติมสำหรับผู้ใช้ปลายทางได้ ฟีเจอร์ที่ไม่บังคับ ได้แก่ การตรวจสอบข้อความร่างของอีเมลที่บันทึกไว้ การตรวจสอบแชท Hangouts ที่เก็บถาวร กับผู้ใช้รายอื่นที่อาจอยู่ภายในหรือภายนอกโดเมน
- แม้ว่าผู้ใช้ปลายทางจะได้รับสำเนาสำเนาลับของข้อความ แต่การเชื่อมโยงสำเนาลับจะไม่ปรากฏในส่วนหัวของข้อความที่เข้าถึงได้ ในบัญชีของผู้ใช้ต้นทาง
- ระบบจะส่งข้อความอีเมลที่ตรวจสอบแล้วแต่ละข้อความไปยังผู้ใช้ปลายทางเป็น ไฟล์แนบอีเมล และผู้ดูแลระบบโดเมนสามารถกำหนดค่าข้อความเหล่านี้ให้เป็นข้อความอีเมลแบบเต็มหรือเฉพาะส่วนหัวของข้อความก็ได้
- ผู้ใช้ปลายทางนี้ต้องมีบัญชีอีเมลที่ใช้งานอยู่ในโดเมนที่ตรวจสอบ โดเมนนี้ต้องเป็นโดเมนเดียวกับที่เชื่อมโยงกับผู้ดูแลระบบและผู้ใช้แหล่งที่มา
- ผู้ใช้ปลายทางอาจเป็นผู้ดูแลระบบหรือผู้ใช้ภายในโดเมน และผู้ใช้ปลายทางนี้สามารถเปลี่ยนบทบาทเป็นผู้ใช้ต้นทาง ซึ่งได้รับการตรวจสอบโดยผู้ใช้ปลายทางอีกรายหนึ่ง ซึ่งจะได้รับสำเนา ข้อความอีเมลที่ตรวจสอบทั้งหมดที่ส่งไปยังผู้ใช้ปลายทางรายแรก
- ผู้ดูแลระบบโดเมนจะสร้างการตรวจสอบอีเมลที่ตรวจสอบแล้ว 1 รายการสำหรับคู่ "ผู้ใช้ปลายทาง - ผู้ใช้ต้นทาง" ที่ไม่ซ้ำกัน 1 คู่ กล่าวคือ ความสัมพันธ์ในการตรวจสอบ คือผู้ใช้ปลายทาง 1 รายต่อผู้ใช้ต้นทาง 1 ราย การตรวจสอบแต่ละครั้ง จะดำเนินการโดยใช้ทรัพยากรการตรวจสอบ API การใช้เครื่องมือตรวจสอบ API หลายรายการ ผู้ใช้ปลายทางจะตรวจสอบผู้ใช้จำนวนมากในโดเมนได้ และเมื่อใช้ การตรวจสอบ API หลายรายการ ผู้ใช้ปลายทางจำนวนมากจะตรวจสอบผู้ใช้แหล่งที่มา 1 รายได้
- หากมีการสร้างการตรวจสอบ 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.comSOURCE_USERNAME: ชื่อผู้ใช้ที่คุณต้องการ ตรวจสอบ
คำขอ POST มีส่วนหัว Content-type ต่อไปนี้
Content-type: application/atom+xml
ดูรายการพารามิเตอร์ทั้งหมดที่จะใช้ในคำขอตรวจสอบอีเมลได้ที่
แหล่งข้อมูล: monitor
ตัวอย่างการสร้างเครื่องมือตรวจสอบใหม่
ตัวอย่างใช้พารามิเตอร์ต่อไปนี้
- ผู้ใช้ที่จะตรวจสอบคือ
amal@example.com destUserNameมีค่าเป็นizumibeginDateมีค่าเป็นJune 15, 2022, 00:00 hoursendDateมีค่าเป็นJune 30, 2022, 23:20 hoursincomingEmailMonitorLevelมีค่าเป็นFULL_MESSAGEoutgoingEmailMonitorLevelมีค่าเป็นHEADER_ONLYdraftMonitorLevelมีค่าเป็นFULL_MESSAGEchatMonitorLevelมีค่าเป็น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);
.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);
อัปเดตการตรวจสอบอีเมล
เมื่ออัปเดตการตรวจสอบด้วยผู้ใช้ต้นทางและผู้ใช้ปลายทางเดียวกัน ระบบจะแทนที่การตั้งค่าพร็อพเพอร์ตี้ของการตรวจสอบเริ่มต้นด้วยการตั้งค่าใหม่
หากต้องการอัปเดตการกำหนดค่าการตรวจสอบในเครื่องมือตรวจสอบอีเมล ให้ส่งคำขอ POST ไปยัง
URI ของฟีดการตรวจสอบและรวมส่วนหัว Authorization ดังนี้
POST https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/DOMAIN_NAME/SOURCE_USERNAME
แทนที่ค่าต่อไปนี้
DOMAIN_NAME: ชื่อโดเมน Google Workspace เช่น example.comSOURCE_USERNAME: ชื่อผู้ใช้ของเครื่องมือตรวจสอบอีเมล ที่คุณต้องการอัปเดต
ตัวอย่างการอัปเดตการตรวจสอบอีเมล
ตัวอย่างนี้จะอัปเดตมอนิเตอร์ที่สร้างขึ้นในตัวอย่างการสร้างมอนิเตอร์อีเมล
โดยการอัปเดตพร็อพเพอร์ตี้ที่ต้องระบุ endDate และพร็อพเพอร์ตี้ที่ไม่บังคับ
chatMonitorLevel ตัวอย่างนี้ใช้พารามิเตอร์ต่อไปนี้
endDateใหม่คือAugust 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);
.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);
ดึงข้อมูลการตรวจสอบอีเมลทั้งหมดของผู้ใช้แหล่งที่มา
หากต้องการดึงข้อมูลการตรวจสอบทั้งหมดที่เชื่อมโยงกับผู้ใช้แหล่งที่มา ให้ส่งคำขอ 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.comSOURCE_USERNAME: ชื่อผู้ใช้ของเครื่องมือตรวจสอบอีเมล ที่คุณต้องการดึงข้อมูล
การดำเนินการนี้ไม่มีพารามิเตอร์ในเนื้อหาคำขอ ดังนั้นเนื้อหา XML จึงว่างเปล่า
ตัวอย่างการดึงข้อมูลการตรวจสอบอีเมลทั้งหมด
ตัวอย่างนี้จะดึงข้อมูลจอภาพทั้งหมดที่สร้างขึ้นสำหรับผู้ใช้ amal@example.com
โปรโตคอล
GET https://apps-apis.google.com/a/feeds/compliance/audit/mail/monitor/example.com/amal
หากสำเร็จ เซิร์ฟเวอร์จะแสดงรหัสสถานะ 201 CREATED และฟีด AtomPub ที่มีองค์ประกอบ entry สำหรับจอภาพ 2 จอที่แสดงการตั้งค่าสำหรับผู้ใช้ปลายทาง 2 ราย (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");
ลบการตรวจสอบอีเมล
หากต้องการลบการตรวจสอบอีเมล ให้ส่งคำขอ 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.comSOURCE_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");
.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");