

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

# 将 AWS Organizations 中整个组织的 AWS Backup 报告导出为 CSV 文件
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file"></a>

*Aromal Raj Jayarajan 和 Purushotham G K，Amazon Web Services*

## Summary
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-summary"></a>

此模式演示如何将 AWS Organizations 中整个组织的 AWS Backup 作业报告导出为 CSV 文件。该解决方案使用 AWS Lambda 和 Amazon EventBridge 根据状态对 AWS Backup 任务报告进行分类，这有助于配置基于状态的自动化。

AWS Backup 帮助组织集中管理和自动化跨 Amazon Web Services、云中和本地的数据保护。但是，对于在 AWS Organizations 中配置的 AWS Backup 作业，合并报告仅在每个组织管理账户的 AWS 管理控制台 中可用。将此报告置于管理账户之外可以减少审核所需工作量并扩大自动化、通知和警报的范围。

## 先决条件和限制
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account
+ AWS Organizations 中、至少包含一个管理账户和一个成员账户的活跃 [组织](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tutorials_basic.html)
+ AWS Organizations 组织级的 AWS Backup 配置（若要获取更多信息，请参见 AWS Blog 中的[使用 AWS Backup 跨 Amazon Web Services 大规模自动化集中备份](https://aws.amazon.com/blogs/storage/automate-centralized-backup-at-scale-across-aws-services-using-aws-backup/)）
+ [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)，已在本地计算机上安装并配置

**限制**

此模式中提供的解决方案可识别仅为 AWS Backup 作业配置的 AWS 资源。该报告无法识别未配置为通过 AWS Backup 备份的 AWS 资源。

## 架构
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-architecture"></a>

**目标技术堆栈**
+ AWS Backup
+ AWS CloudFormation
+ Amazon EventBridge
+ AWS Lambda
+ AWS Security Token Service (AWS STS)
+ Amazon Simple Storage Service（Amazon S3）
+ AWS Identity and Access Management (IAM)

**目标架构**

下图显示了将 AWS Organizations 中整个组织的 AWS Backup 作业报告导出为 CSV 文件的示例工作流。

![\[使用 EventBridge Lambda、AWS STS 和 IAM 以 CSV 格式从整个组织中导出 AWS Backup 任务报告。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/74955aad-cc6d-488b-aa34-ae43f50fec60/images/5c39c79f-e731-4ad0-b404-51ebe0976420.png)


下图显示了如下工作流：

1. 计划 EventBridge 事件规则调用成员（报告）AWS 账户中的 Lambda 函数。

1. 然后，Lambda 函数使用 AWS STS 承担拥有连接管理账户所需权限的 IAM 角色。

1. Lambda 函数执行以下操作：
   + 从 AWS Backup 服务请求合并的 AWS Backup 作业报告
   + 根据 AWS Backup 作业状态对结果进行分类
   + 将响应转换到 CSV 格式文件
   + 将结果上传到报告账户中的 Amazon S3 存储桶，该存储桶位于根据创建日期标记的文件夹内

## 工具
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-tools"></a>

**工具**
+ [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 是一项完全托管式服务，帮助您在云中以及在本地集中管理和自动执行各种 Amazon Web Services 中的数据保护。
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 可帮助您设置 AWS 资源，快速一致地配置这些资源，并在 AWS 账户和区域的整个生命周期中对其进行管理。
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 是一项无服务器事件总线服务，可帮助您将应用程序与来自各种来源的实时数据连接起来。例如，AWS Lambda 函数、使用 API 目标的 HTTP 调用端点或其他 Amazon Web Services account 中的事件总线。
+ [AWS Identity and Access Management (AWS IAM) ](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)通过控制验证和授权使用您 AWS 资源的用户，帮助您安全地管理对您 AWS 资源的访问。
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是一项计算服务，可帮助您运行代码，而无需预置或管理服务器。它仅在需要时运行您的代码，并且能自动扩缩，因此您只需为使用的计算时间付费。
+ [Amazon Simple Storage Service（Amazon S3）](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)是一项基于云的对象存储服务，可帮助您存储、保护和检索任意数量的数据。

**代码**

此模式的代码可在 GitHub [aws-backup-report-generator](https://github.com/aws-samples/aws-backup-report-generator)存储库中找到。

## 最佳实践
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-best-practices"></a>
+ [Amazon S3 安全最佳实践](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)（*Amazon S3 用户指南*）
+ [AWS Lambda 函数使用最佳实践](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)（*AWS Lambda 开发人员指南*）
+ [管理账户的最佳实践](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices_mgmt-acct.html)（*AWS Organizations 用户指南*）

## 操作说明
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-epics"></a>

### 部署解决方案组件
<a name="deploy-the-solution-components"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 克隆 GitHub 存储库。 | 在终端窗口中运行以下命令来克隆 GitHub [aws-backup-report-generator](https://github.com/aws-samples/aws-backup-report-generator)存储库：<pre>git clone https://github.com/aws-samples/aws-backup-report-generator.git</pre>有关更多信息，请参阅 GitHub 文档[中的克隆存储库](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)。 | AWS DevOps， DevOps 工程师 | 
| 在成员（报告）Amazon Web Services account 中部署解决方案组件。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.html) | DevOps 工程师，AWS DevOps | 

### 测试解决方案
<a name="test-the-solution"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 请确保 EventBridge 规则在测试之前运行。 | 确保 EventBridge 规则通过等待至少 24 小时或在 CloudFormation 模板的 t **emplate-** reporting.yml 文件中增加报告频率来运行。**增加报告频率**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.html) | AWS DevOps， DevOps 工程师 | 
| 检查 Amazon S3 存储桶，以获取生成的报告。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.html) | AWS DevOps， DevOps 工程师 | 

### 清除资源
<a name="clean-up-your-resources"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 从成员（报告）账户中删除解决方案组件。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.html) | AWS DevOps， DevOps 工程师 | 
| 从管理账户中删除解决方案组件。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file.html) | AWS DevOps， DevOps 工程师 | 

## 相关资源
<a name="export-aws-backup-reports-from-across-an-organization-in-aws-organizations-as-a-csv-file-resources"></a>
+ [教程：将 AWS Lambda 与计划的事件结合使用](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents-tutorial.html)（AWS Lambda 文档）
+ [创建计划事件以运行 AWS Lambda 函数（用于 JavaScript 文档](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/scheduled-events-invoking-lambda-example.html)的 AWS 开发工具包）
+ [IAM 教程：使用 IAM 角色委派跨 AWS 账户的访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)（IAM 文档）
+ [AWS Organizations 术语和概念](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html)（AWS Organizations 文档）
+ [使用 AWS Backup 控制台创建报告计划](https://docs.aws.amazon.com/aws-backup/latest/devguide/create-report-plan-console.html)（AWS Backup 文档）
+ [创建审计报告](https://docs.aws.amazon.com/aws-backup/latest/devguide/create-audit-report.html)（AWS Backup 文档）
+ [创建按需报告](https://docs.aws.amazon.com/aws-backup/latest/devguide/create-on-demand-reports.html)（AWS Backup 文档）
+ [什么是 AWS Backup？](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) （AWS Backup 文档）
+ [使用 AWS Backup 在 AWS 服务中大规模自动进行集中备份](https://aws.amazon.com/blogs/storage/automate-centralized-backup-at-scale-across-aws-services-using-aws-backup/)（AWS Blog 文章）