מעקב אחר אימיילים

כדי להגדיר מעקב אחר אימיילים באמצעות Email Audit API, האדמין מגדיר טווח תאריכים כדי שהבודק יקבל עותק של האימיילים שנשלחו והתקבלו על ידי משתמש מסוים כקובץ מצורף. המספר המקסימלי של בקשות ליצירה ולמחיקה של מכשירי מעקב ביום הוא 1,000 בקשות. המגבלה הזו חלה לכל דומיין, והיא כוללת את כל הבקשות שהוגשו על ידי אדמין כלשהו במהלך היום.

תרחיש של אימייל במעקב כולל שלושה סוגי משתמשים:

  • אדמין – כל אדמין דומיין יכול ליצור, לאחזר, לעדכן ולמחוק מכשיר למעקב אחר אימיילים באמצעות משאב המעקב של Email Audit API. בנוסף, אדמין יכול להשתמש ב-API כדי להוריד את תיבת הדואר. אפשר לבצע את הפעולות האלה רק בדומיין שהאדמין שולט בו.

  • משתמש המקור – משתמש המקור הוא המשתמש שמקבל או שולח הודעות שנבדקות על ידי משתמש היעד במעקב. כל אדמין דומיין או משתמש בחשבון יכול להיות משתמש מקור. משתמש המקור חייב להיות באותו דומיין כמו האדמין ומשתמש היעד.

  • משתמש היעד – משתמש היעד הוא מבקר שמקבל את הודעות האימייל שנבדקו.

    • מקבלת עותקים מוצפנים (Bcc) של כל הודעות האימייל הנכנסות והיוצאות, כולל קבצים מצורפים נכנסים ויוצאים, הודעות שהועברו והודעות אימייל שנשלחו ממכשירים ניידים.
    • אדמין הדומיין יכול גם להפעיל תכונות ביקורת נוספות למשתמש היעד. התכונות האופציונליות כוללות ביקורת על טיוטות אימייל שמורות, וביקורת על צ'אטים ב-Hangouts שהועברו לארכיון עם משתמשים אחרים, גם מחוץ לדומיין.
    • למרות שמשתמש היעד מקבל עותק מוסתר של ההודעה, השיוך של הנמען המוסתר לא גלוי בכותרות ההודעה שגלויות בחשבון של משתמש המקור.
    • כל הודעת אימייל שנבדקה נשלחת למשתמש היעד כקובץ מצורף באימייל. בנוסף, האדמין של הדומיין יכול להגדיר את ההודעות האלה כהודעות אימייל מלאות או רק ככותרות של ההודעות.
    • למשתמש היעד הזה צריך להיות חשבון אימייל פעיל בדומיין שנמצא במעקב. הדומיין הזה חייב להיות זהה לדומיין שמשויך למשתמש המקור ולאדמין.
    • משתמש היעד יכול להיות אדמין או משתמש בדומיין. בנוסף, משתמש היעד הזה יכול להחליף תפקידים ולהפוך למשתמש מקור שנבדק על ידי משתמש יעד אחר, שמקבל בתמורה עותקים של כל הודעות האימייל שנבדקו ונשלחו למשתמש היעד הראשון.
    • אדמין דומיין יוצר מכשיר מעקב אחד לאימייל שנבדק לכל צמד ייחודי של 'משתמש יעד – משתמש מקור'. במילים אחרות, מערכת הביקורת מקשרת בין משתמש יעד אחד למשתמש מקור אחד. כל ביקורת מתבצעת באמצעות משאב מעקב API. באמצעות כמה צגים של API, משתמש יעד יכול לבדוק הרבה משתמשים בדומיין. בנוסף, באמצעות מספר צגים של ממשקי API, משתמשי יעד רבים יכולים לבדוק משתמש מקור אחד.
    • אם יוצרים מכשיר מעקב נוסף ל-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>
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);

עדכון מעקב אחר אימייל

כשמעדכנים צג עם אותו משתמש מקור ואותו משתמש יעד, ההגדרות הראשוניות של המאפיין של הצג מוחלפות בהגדרות החדשות.

כדי לעדכן את הגדרות הביקורת במעקב אחר אימיילים, שולחים בקשת 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>
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);

אחזור של כל מעקב האימייל של משתמש מקור

כדי לאחזר את כל המסכים המשויכים למשתמש מקור, שולחים בקשת 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 לשני צגים שמוצגות בהם ההגדרות של שני משתמשי היעד (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");

מחיקת מעקב אחר אימייל

כדי למחוק מעקב אחר אימייל, שולחים בקשת 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
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");