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

หากต้องการตั้งค่าการตรวจสอบอีเมลด้วย 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.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");