メールを監視する

Email Audit API でメール監視を設定するには、監査担当者が特定のユーザーの送受信メールのコピーを添付ファイルとして受け取る期間を管理者が設定します。1 日あたりのモニターの作成リクエストと削除リクエストの最大数は 1,000 件です。この上限はドメインごとに適用され、1 日のうちに管理者が行ったすべてのリクエストが含まれます。

メールのモニタリング シナリオには、次の 3 種類のユーザーが含まれます。

  • 管理者 - すべてのドメイン管理者は、Email Audit API のモニタ リソースを使用して、メール モニターの作成、取得、更新、削除を行うことができます。また、管理者は API を使用してメールボックスをダウンロードすることもできます。これらの操作は、管理者が管理するドメイン内でのみ実行できます。

  • 送信元ユーザー - 送信元ユーザーは、監視先ユーザーによって監査されるメッセージを受信または送信するユーザーです。ソースユーザーは、ドメイン管理者またはアカウント ユーザーであれば誰でも指定できます。移行元ユーザーは、管理者と移行先ユーザーと同じドメインに存在する必要があります。

  • 宛先ユーザー - 宛先ユーザーは、監査対象のメール メッセージを受信する監査担当者です。

    • 受信したメールと送信したメール(受信および送信の添付ファイル、転送されたメール、モバイル デバイスから送信されたメールを含む)のすべてのメールの盲目的カーボンコピー(BCC)を受け取ります。
    • 必要に応じて、ドメイン管理者は宛先ユーザーの追加の監査機能を有効にできます。オプションの機能には、保存したメールの下書きの監査、ドメイン内またはドメイン外の他のユーザーとのアーカイブされたハングアウト チャットの監査などがあります。
    • 宛先ユーザーがメールの Bcc コピーを受信しても、送信元ユーザーのアカウントでアクセスできるメール ヘッダーに Bcc の関連付けは表示されません。
    • 監査対象のメール メッセージは、メールの添付ファイルとして宛先ユーザーに送信されます。ドメイン管理者は、これらのメッセージをメール メッセージ全体またはメッセージ ヘッダーのみに設定できます。
    • この宛先ユーザーには、モニタリング対象ドメイン内の有効なメール アカウントが必要です。これは、管理者と移行元のユーザーに関連付けられているドメインと同じドメインである必要があります。
    • 宛先ユーザーは、ドメイン内の管理者またはユーザーにすることができます。この宛先ユーザーは、ロールを切り替えて、別の宛先ユーザーによって監査される送信元ユーザーになり、その宛先ユーザーは、最初の宛先ユーザーに送信されたすべての監査対象メールの送信コピーを受け取ります。
    • ドメイン管理者は、一意の「宛先ユーザー - 送信元ユーザー」ペアごとに 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 ステータス コードと、新しいモニター設定を示す entry 要素を含む AtomPub エントリを返します。

<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);

メールモニターを更新する

ソース ユーザーと宛先ユーザーが同じモニターを更新すると、最初のモニターのプロパティ設定が新しい設定に置き換えられます。

メール モニタの監査構成を更新するには、モニタ フィードの URI に POST リクエストを送信し、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 を更新します。この例では、次のパラメータを使用します。

  • 新しい endDateAugust 30, 2022, 23:20 hours です。
  • chatMonitorLevelHEADER_ONLY になりました。
  • 監査対象のユーザーは amal@example.com のままです。
  • destUserNameizumi のままです。

更新されなかったモニタ プロパティはデフォルト値に戻ります。たとえば、この例では、incomingEmailMonitorLevel プロパティと outgoingEmailMonitorLevel プロパティは FULL_MESSAGE に戻り、draftMonitorLevelNONE に戻ります。

プロトコル

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 ステータス コードと、更新された entry 要素を含む AtomPub エントリを返します。更新されず、レスポンスに表示されたプロパティはデフォルト値に戻ります。

<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);

移行元ユーザーのすべてのメール モニターを取得する

ソースユーザーに関連付けられているすべてのモニターを取得するには、日付に UTC 形式を使用し、Authorization ヘッダーを含めて、モニター フィード URI に HTTP GET リクエストを送信します。

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 ステータス コードと、2 つの宛先ユーザー(izumi@example.com, taylor@example.com)の設定を示す 2 つのモニタの entry 要素を含む AtomPub フィードを返します。

<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");

メールモニターの削除

メールモニターを削除するには、モニター フィードの削除 URI に対して HTTP DELETE リクエストを行い、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: 監査対象のメール メッセージを受信する監査担当者。

メールモニターを削除する例

この例では、destinationUserNameizumi として、ユーザー amal@example.com 用に作成されたモニターを削除します。

プロトコル

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");