ตรวจสอบอีเมล

หากต้องการตั้งค่าการตรวจสอบอีเมลด้วย Email Audit API ผู้ดูแลระบบจะกำหนดช่วงวันที่เพื่อให้ผู้ตรวจสอบรับสำเนาของอีเมลที่รับส่งของผู้ใช้ที่ต้องการเป็นไฟล์แนบ จำนวนคำขอลบและการสร้างการตรวจสอบได้สูงสุดต่อวันคือ 1,000 รายการ ขีดจำกัดนี้เป็นขีดจำกัดต่อโดเมน และรวมคำขอทั้งหมดที่สร้างโดยผู้ดูแลระบบในระหว่างวัน

สถานการณ์อีเมลที่มีการตรวจสอบจะมีผู้ใช้ 3 ประเภท ดังนี้

  • ผู้ดูแลระบบ — ผู้ดูแลระบบโดเมนทุกคนสามารถสร้าง เรียก อัปเดต และลบการตรวจสอบอีเมลโดยใช้ทรัพยากรการตรวจสอบของ Email Audit API นอกจากนี้ ผู้ดูแลระบบสามารถใช้ API เพื่อดาวน์โหลดกล่องจดหมายได้ โดยสามารถดำเนินการเหล่านี้ภายในโดเมนที่ผู้ดูแลระบบควบคุมอยู่เท่านั้น

  • ผู้ใช้ต้นทาง — ผู้ใช้ต้นทางคือผู้ใช้ที่ได้รับหรือส่งข้อความที่ผู้ใช้ปลายทางของการตรวจสอบจะตรวจสอบ ผู้ดูแลระบบโดเมนหรือผู้ใช้บัญชีทุกคนสามารถเป็นผู้ใช้ต้นทางได้ ผู้ใช้ต้นทางต้องอยู่ในโดเมนเดียวกับผู้ดูแลระบบและผู้ใช้ปลายทาง

  • ผู้ใช้ปลายทาง — ผู้ใช้ปลายทางคือผู้ตรวจสอบที่ได้รับข้อความอีเมลที่ตรวจสอบแล้ว

    • รับสำเนาลับ (สำเนาลับ) ของข้อความอีเมลขาเข้าและขาออกทั้งหมด รวมถึงไฟล์แนบขาเข้าและขาออก ข้อความที่ส่งต่อ และข้อความอีเมลที่ส่งจากอุปกรณ์เคลื่อนที่
    • โดยผู้ดูแลระบบโดเมนสามารถเปิดใช้ฟีเจอร์การตรวจสอบเพิ่มเติมสำหรับผู้ใช้ปลายทางได้ ฟีเจอร์เสริม ได้แก่ การตรวจสอบอีเมลฉบับร่างที่บันทึกไว้ การตรวจสอบแชทใน 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.com
  • SOURCE_USERNAME: ชื่อผู้ใช้ ที่ต้องการตรวจสอบ

คำขอ POST มีส่วนหัว Content-type ต่อไปนี้

Content-type: application/atom+xml

ดูรายการพารามิเตอร์ทั้งหมดที่จะใช้ในคำขอการตรวจสอบอีเมลได้ที่แหล่งข้อมูล: monitor

ตัวอย่างการสร้างจอภาพใหม่

ตัวอย่างนี้ใช้พารามิเตอร์ต่อไปนี้

  • ผู้ใช้ที่จะตรวจสอบคือ amal@example.com
  • destUserName มีค่าเป็น izumi
  • beginDate มีค่าเป็น June 15, 2022, 00:00 hours
  • endDate มีค่าเป็น June 30, 2022, 23:20 hours
  • incomingEmailMonitorLevel มีค่าเป็น FULL_MESSAGE
  • outgoingEmailMonitorLevel มีค่าเป็น HEADER_ONLY
  • draftMonitorLevel มีค่าเป็น FULL_MESSAGE
  • chatMonitorLevel มีค่าเป็น 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.com
  • SOURCE_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.com
  • SOURCE_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.com
  • SOURCE_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");