この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、CX事業本部 IoT事業部の若槻です。
Amazon WorkMailは、AWSが提供するフルマネージドなEメールサービスです。
WorkMailでは組織内でユーザーがメール送受信などの機能を利用するのですが、組織の管理者が調査などのためにユーザーの利用のログを取得したい場合があります。
今回は、Amazon WorkMailでのメール送受信ログを取得してみました。
やってみた
こちらのドキュメントによるとイベントログ(event logging)を有効にする必要があるとのことなので、やってみます。
前提
下記エントリの設定が実施済みで、WorkMailの組織とユーザーが作成されている前提とします。
イベントログの有効化
Amazon WorkMailのコンソールを https://console.aws.amazon.com/workmail/ から開きます。
設定をする組織を開きます。サイドバーで[Organization settings]を開きます。
すると旧型?のWorkMaolコンソールが開きました。ここで[Monitoring]タブを開き、[Edit]をクリック。(An error occurred loading your journaling settings.
と表示されているのはよく分かりませんでした。)
[Log Events]のチェックボックスにチェックを入れ、[Save]をクリック。
イベントログを有効化できました。
CloudWatch Logsを見ると、すでに/aws/workmail/emailevents/<組織名エイリアス>
という名前でロググループが作成されていますね。
設定が有効化されたというログストリームがが作成されています。
Configurations have been validated (9086ae81-cacd-4aca-bbe4-956bb5a78420).
動作
受信ログ
外部からユーザーのメールアドレス宛にメールを1通送信します。
ユーザーのWebアプリケーションでメール受信を確認できました。
そして前節のロググループを見ると、新しくログイベントが作成されています!
1つ目は、組織がメールを受信したというイベントです。ORGANIZATION_EMAIL_RECEIVED
というイベント名となるようです。受信したメールのfromやsubject、recipients、eventTimeなどの情報が確認できます。しかしメールのbody(本文)については記録されないようです。
{
"accountId": "xxxxxxxxxxxx",
"organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879",
"traceId": "0e7364c41cc217432cad02987097e9ad",
"eventTime": 1644158705502,
"event": {
"spamVerdict": "PASS",
"recipients": [
"wakatsuki@wakatsuki-org.awsapps.com"
],
"subject": "テスト件名",
"messageId": "<CADNx-0m=sDFBnFYMjm56noCDmhKPR7LOk6gjXHq_itZuA0G9AQ@mail.gmail.com>",
"eventName": "ORGANIZATION_EMAIL_RECEIVED",
"from": "xxxxxxxxxxxx@example.com",
"dmarcVerdict": "GRAY",
"spfVerdict": "PASS",
"messageTimestamp": 1644158704080,
"dkimVerdict": "PASS"
}
}
2つ目は、ユーザーがメールを受信したというイベントです。MAILBOX_EMAIL_DELIVERED
というイベント名となるようです。folder
フィールドで受信メールがどのフォルダに格納されたかが確認できますね。
{
"accountId": "xxxxxxxxxxxx",
"organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879",
"traceId": "0e7364c41cc217432cad02987097e9ad",
"eventTime": 1644158708378,
"event": {
"recipient": "wakatsuki@wakatsuki-org.awsapps.com",
"eventName": "MAILBOX_EMAIL_DELIVERED",
"folder": "Inbox"
}
}
送信ログ
前節で受信したメールにユーザーから返信をしてみます。
ロググループを見ると、先程と同じくログイベントが2つ作成されています。
1つ目は、組織からメールが送信されたというイベントです。OUTGOING_EMAIL_SUBMITTED
というイベント名となるようです。受信時と同じくメールのfromやsubject、recipients、eventTimeなどの情報が確認できます。しかしメールのbody(本文)については記録されないようです。
{
"accountId": "xxxxxxxxxxxx",
"organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879",
"traceId": "f40e43fa1682892000cac7285da50987",
"eventTime": 1644159681481,
"event": {
"eventName": "OUTGOING_EMAIL_SUBMITTED",
"from": "wakatsuki@wakatsuki-org.awsapps.com",
"sender": "",
"recipients": [
"xxxxxxxxxxxx@example.com"
],
"subject": "RE: テスト件名"
}
}
2つ目は、ユーザーがメールを送信したというイベントです。OUTGOING_EMAIL_SENT
というイベント名となるようです。
{
"accountId": "xxxxxxxxxxxx",
"organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879",
"traceId": "f40e43fa1682892000cac7285da50987",
"eventTime": 1644159682939,
"event": {
"recipient": "xxxxxxxxxxxx@example.com",
"messageId": "0100017ecf8dc609-6628f29d-75cd-42bd-b8e3-6545edf54ca0-000000",
"eventName": "OUTGOING_EMAIL_SENT",
"from": "wakatsuki@wakatsuki-org.awsapps.com"
}
}
まとめ
Amazon WorkMailの組織でイベントログを有効にすると、メール送受信時のログが記録される。
- ログからは送受信されたメールの日時(eventTime)、件名(subject)、送信者(from)、受信者(recipients)などの情報が確認可能。
- ただし本文(body)は記録されないため確認できない。
以上