导出邮箱内容 - 亚马逊 WorkMail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

导出邮箱内容

使用亚马逊 WorkMail API参考中的StartMailboxExportJobAPI操作将亚马逊 WorkMail 邮箱内容导出到亚马逊简单存储服务 (Amazon S3) Simple Service 存储桶。此操作将指定邮箱中的所有电子邮件和日历项目按MIME格式导出到 Amazon S3 存储桶中的.zip文件中。不会导出联系人和任务等其他项目。

完成邮箱导出作业所需的时间取决于邮箱中项目的大小和数量。由于邮箱导出作业会持续一段时间,因此它不代表邮箱内容在单个时间点的快照。要查看导出任务的状态,请使用 Amazon WorkMail API 参考中的DescribeMailboxExportJobListMailboxExportJobsAPI操作。

邮箱导出任务完成后,将使用您提供的对称 AWS Key Management Service (AWS KMS) 客户主密钥 (CMK) 对 Amazon S3 存储桶中的.zip文件进行加密。由于 AWS KMS 加密已与 Amazon S3 集成,因此只要用户有权访问已解密的数据,下载该数据的用户就可以看到该数据。 AWS KMS CMK

先决条件

以下是导出邮箱内容的先决条件:

IAM策略示例和角色创建

以下示例显示了一项IAM策略,该策略授予写入 Amazon S3 存储桶并使用加密已发送文件的权限 AWS KMS CMK。要在以下示例:导出邮箱内容过程中使用此示例策略,请将该策略另存为带有JSON文件名的文件mailbox-export-policy.json

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:PutObject", "s3:GetBucketPolicyStatus" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/KEY-ID" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/S3-PREFIX*" } } } ] }

以下示例显示了附加到您创建的IAM角色的IAM信任策略。要在以下示例:导出邮箱内容过程中使用此示例策略,请将该策略另存为带有JSON文件名的文件mailbox-export-trust-policy.json

您不必同时使用 aws:SourceArnaws:SourceAccount 条件。例如,如果您需要使用相同的角色在同一 AWS 账户下导出aws:SourceArn来自不同 Amazon WorkMail 组织的邮件,则可以从政策中删除。有关条件键的更多信息,请参阅《AWS Identity and Access Management 用户指南》中的 AWS 全局条件上下文键

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "export.workmail.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:workmail:us-east-1:111122223333:organization/m-a123b4c5de678fg9h0ij1k2lm234no56" } } } ] }

您可以使用通过运行以下命令在您的账户中创建IAM角色。 AWS CLI

aws iam create-role --role-name WorkmailMailboxExportRole --assume-role-policy-document file://mailbox-export-trust-policy.json --region us-east-1
aws iam put-role-policy --role-name WorkmailMailboxExportRole --policy-name MailboxExport --policy-document file://mailbox-export-policy.json

有关更多信息 AWS CLI,请参阅《AWS Command Line Interface 用户指南》

示例:导出邮箱内容

在上一节中创建IAM角色和策略后,请完成以下步骤以导出您的邮箱内容。您必须拥有自己的亚马逊 WorkMail组织 ID 和用户 ID(实体 ID),您可以在亚马逊 WorkMail 控制台中或使用亚马逊进行访问 WorkMail API。

示例:导出邮箱内容
  1. 使用启动 AWS CLI 邮箱导出作业。

    aws workmail start-mailbox-export-job --organization-id m-a123b4c5de678fg9h0ij1k2lm234no56 --entity-id S-1-1-11-1111111111-2222222222-3333333333-3333 --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/KEY-ID --role-arn arn:aws:iam::111122223333:role/WorkmailMailboxExportRole --s3-bucket-name amzn-s3-demo-bucket --s3-prefix S3-PREFIX
  2. 使用 AWS CLI 来监控您的 Amazon WorkMail 组织的邮箱导出任务的状态。

    aws workmail list-mailbox-export-jobs --organization-id m-a123b4c5de678fg9h0ij1k2lm234no56

    或者,使用 start-mailbox-export-job 命令生成的作业 ID 仅监控该邮箱导出作业的状态。

    aws workmail describe-mailbox-export-job --organization-id m-a123b4c5de678fg9h0ij1k2lm234no56 --job-id JOB-ID

当邮箱导出任务状态为时 COMPLETED,导出的邮箱项目将在指定 Amazon S3 存储桶中的.zip文件中可用。

以下是导出邮箱的输出日志示例:

{ "totalNonExportableItems" : "13", "totalMessages" : "76", "sha384Hash" : "4de93a***96a1dd", "totalBytes" : "161892", "totalFolders" : "15", "startTime" : "168***380", "endTime" : "168***384" }
注意

totalNonExportable项目是不支持的项目,例如备忘录和通讯录。

注意事项

导出适用于 Amazon 的邮箱任务时,需要考虑以下注意事项 WorkMail:

  • 您最多可以为给定的 Amazon WorkMail 组织运行 10 个并发邮箱导出任务。

  • 您可以每隔 24 小时为给定邮箱运行一次邮箱导出作业。

  • 以下资源必须全部位于同一个 AWS 区域:

    • 亚马逊 WorkMail 组织

    • AWS KMS CMK

    • Amazon S3 存储桶