نظارت بر ایمیل ها

برای راه اندازی نظارت بر ایمیل با API حسابرسی ایمیل، مدیر یک محدوده تاریخی را برای حسابرس تعیین می کند تا یک کپی از ایمیل های ارسالی و دریافتی یک کاربر خاص را به عنوان پیوست دریافت کند. حداکثر تعداد درخواست ایجاد و حذف مانیتور در روز 1000 درخواست است. این محدودیت برای هر دامنه است و شامل تمام درخواست‌هایی است که توسط هر مدیری در طول روز انجام می‌شود.

سناریوی ایمیل نظارت شده شامل سه نوع کاربر است:

  • مدیر - هر مدیر دامنه می تواند با استفاده از منبع مانیتور 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 است.
  • EmailMonitorLevel 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");