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