本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
导出邮箱内容
使用亚马逊 WorkMail API参考中的StartMailboxExportJobAPI操作将亚马逊 WorkMail 邮箱内容导出到亚马逊简单存储服务 (Amazon S3) Simple Service 存储桶。此操作将指定邮箱中的所有电子邮件和日历项目按MIME格式导出到 Amazon S3 存储桶中的.zip
文件中。不会导出联系人和任务等其他项目。
完成邮箱导出作业所需的时间取决于邮箱中项目的大小和数量。由于邮箱导出作业会持续一段时间,因此它不代表邮箱内容在单个时间点的快照。要查看导出任务的状态,请使用 Amazon WorkMail API 参考中的DescribeMailboxExportJob或ListMailboxExportJobsAPI操作。
邮箱导出任务完成后,将使用您提供的对称 AWS Key Management Service (AWS KMS) 客户主密钥 (CMK) 对 Amazon S3 存储桶中的.zip
文件进行加密。由于 AWS KMS 加密已与 Amazon S3 集成,因此只要用户有权访问已解密的数据,下载该数据的用户就可以看到该数据。 AWS KMS CMK
先决条件
以下是导出邮箱内容的先决条件:
-
编程能力。
-
亚马逊 WorkMail 管理员账户。
-
一个不允许公有访问的 Amazon S3 存储桶。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用 Amazon S3 屏蔽公共访问权限和 Amazon Simple Storage Service 用户指南。
对称的 AWS KMS CMK。有关更多信息,请参阅《AWS Key Management Service 开发人员指南》中的入门。
-
一个 AWS Identity and Access Management (IAM) 角色,其策略允许写入 Amazon S3 存储桶并使用加密已发送的文件 AWS KMS CMK。有关更多信息,请参阅 亚马逊是如何 WorkMail 与之合作的 IAM。
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:SourceArn
和 aws: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-documentfile://mailbox-export-trust-policy.json
--regionus-east-1
aws iam put-role-policy --role-name
WorkmailMailboxExportRole
--policy-nameMailboxExport
--policy-documentfile://mailbox-export-policy.json
有关更多信息 AWS CLI,请参阅《AWS Command Line Interface 用户指南》。
示例:导出邮箱内容
在上一节中创建IAM角色和策略后,请完成以下步骤以导出您的邮箱内容。您必须拥有自己的亚马逊 WorkMail组织 ID 和用户 ID(实体 ID),您可以在亚马逊 WorkMail 控制台中或使用亚马逊进行访问 WorkMail API。
示例:导出邮箱内容
使用启动 AWS CLI 邮箱导出作业。
aws workmail start-mailbox-export-job --organization-id
m-a123b4c5de678fg9h0ij1k2lm234no56
--entity-idS-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-nameamzn-s3-demo-bucket
--s3-prefixS3-PREFIX
使用 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-idJOB-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 存储桶