مراقبة الرسائل الإلكترونية

لإعداد ميزة مراقبة البريد الإلكتروني باستخدام واجهة برمجة التطبيقات Email Audit API، يحدّد المشرف نطاقاً زمنيًا لتلقّي المدقّق نسخة من الرسائل الإلكترونية المُرسَلة والمُستلَمة لمستخدم معيّن كمرفق. الحد الأقصى لعدد طلبات إنشاء أدوات المراقبة وحذفها في اليوم هو 1,000 طلب. ويُطبَّق هذا الحدّ لكل نطاق، ويشمل جميع الطلبات التي يقدّمها أي مشرف خلال اليوم.

يتضمّن سيناريو البريد الإلكتروني الخاضع للتتبّع ثلاثة أنواع من المستخدمين:

  • المشرف: يمكن لأي مشرف نطاق إنشاء أداة مراقبة بريد إلكتروني واستردادها وتعديلها وحذفها باستخدام مورد أداة المراقبة في Email Audit API. بالإضافة إلى ذلك، يمكن للمشرف استخدام واجهة برمجة التطبيقات لتنزيل صندوق البريد. لا يمكن تنفيذ هذه العمليات إلا داخل النطاق الذي يتحكّم فيه المشرف.

  • المستخدم المصدر: هو المستخدم الذي يتلقّى الرسائل أو يرسلها ويراجعها المستخدم المقصود للمراقبة. يمكن أن يكون أي مشرف لنطاق أو مستخدم حساب مستخدم مصدر. يجب أن يكون مستخدم المصدر في النطاق نفسه الذي ينتمي إليه المشرف ومستخدم الوجهة.

  • المستخدم المستلِم: المستخدم المستلِم هو المدقّق الذي يتلقّى الرسائل الإلكترونية التي تمّت تدقيقها.

    • تتلقّى نُسخًا مخفية الوجهة من جميع رسائل البريد الإلكتروني الواردة والصادرة، بما في ذلك المرفقات الواردة والصادرة، والرسائل المُعاد توجيهها، ورسائل البريد الإلكتروني المُرسَلة من الأجهزة الجوّالة.
    • يمكن لمشرف النطاق تفعيل ميزات تفتيش إضافية للمستخدم المقصود كخيار. تشمل الميزات الاختيارية تفتيش مسودات الرسائل الإلكترونية المحفوظة، وتفتيش محادثات Hangouts المؤرشفة مع مستخدمين آخرين يمكن أن يكونوا داخل النطاق أو خارجه.
    • على الرغم من أنّ المستخدم المقصود يتلقّى نسخة مخفيّة الوجهة من الرسالة، لا يظهر ربط نسخة مخفيّة الوجهة في عناوين الرسائل التي يمكن الوصول إليها في حساب المستخدم المصدر.
    • يتم إرسال كل رسالة إلكترونية تم فحصها إلى المستخدم المقصود كمرفق بالبريد الإلكتروني. ويمكن لمشرف النطاق ضبط هذه الرسائل لتكون إما الرسالة الإلكترونية الكاملة أو عناوين الرسالة فقط.
    • يجب أن يكون لدى المستخدم المقصود هذا حساب بريد إلكتروني نشط في النطاق الخاضع للتتبّع. يجب أن يكون هذا هو النطاق نفسه المرتبط بالمدير والمستخدم المصدر.
    • يمكن أن يكون المستخدم المقصود مشرفًا أو مستخدمًا ضمن النطاق. ويمكن لهذا المستخدم المقصود تبديل الأدوار ليصبح مستخدمًا مصدرًا تتم مراقبته من قِبل مستخدم مقصود آخر يتلقّى بدوره نُسخًا من كل الرسائل الإلكترونية التي تم فحصها والمُرسَلة إلى المستخدم المقصود الأول.
    • ينشئ مشرف النطاق أداة مراقبة واحدة لرسائل البريد الإلكتروني الخاضعة للتدقيق لزوج فريد من نوعه هو "المستخدم المستلِم - المستخدم المرسِل". بعبارة أخرى، تشير صلة التدقيق إلى مستخدم وجهة واحد ومستخدم مصدر واحد. يتم تنفيذ كل عملية تدقيق باستخدام مورد مراقبة واجهة برمجة التطبيقات. باستخدام أدوات مراقبة متعددة لواجهات برمجة التطبيقات، يمكن لمستخدم الوجهة تدقيق العديد من المستخدمين في النطاق. وباستخدام مراقبين متعدّدين لواجهات برمجة التطبيقات، يمكن للعديد من مستخدمي الوجهة تدقيق حساب مستخدم مصدر واحد.
    • في حال إنشاء أداة مراقبة إضافية لواجهة برمجة التطبيقات أو تعديل أداة مراقبة حالية لواجهة برمجة التطبيقات لزوج "المستخدم المستهدَف - المستخدم المصدر"، تحلّ أداة المراقبة التي تم إنشاؤها مؤخرًا محل أي أدوات مراقبة حالية لهذا الزوج. هذه هي الطريقة الأساسية لتعديل أداة مراقبة واجهة برمجة التطبيقات. لمزيد من المعلومات حول تعديل أداة مراقبة، يُرجى الاطّلاع على مقالة تعديل أداة مراقبة البريد الإلكتروني.

إنشاء حدث مراقبة للبريد الإلكتروني

لإنشاء مراقب بريد إلكتروني، أرسِل طلب 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) لخلاصة الشاشة، باستخدام تنسيق التوقيت العالمي المنسَّق للتاريخ، مع تضمين عنوان 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");