

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

# 生成 EC2 策略的账户状态报告
<a name="orgs_manage_policies_ec2_status-report"></a>

*账户状态报告*允许您查看范围内账户的 EC2 策略支持的所有属性的当前状态。您可以选择要包含在报告范围内的账户和组织单元（OU），也可以通过选择根来选择整个组织。

此报告提供区域细分来帮助您评估就绪情况，并评测属性的当前状态是*跨账户统一*（通过 `numberOfMatchedAccounts`）还是*不一致*（通过 `numberOfUnmatchedAccounts`）。您还可以看到*最常见值*，即该属性中最常观察到的配置值。

是否附加 EC2 策略以强制执行基准配置取决于您的具体用例。

有关更多信息以及说明性示例，请参阅[EC2 策略的账户状态报告](orgs_manage_policies_ec2.md#orgs_manage_policies_ec2-account-status-report)。

## 先决条件
<a name="orgs_manage_policies_ec2_accessing-status-report-prerequisites"></a>

在生成账户状态报告之前，请完成以下步骤：

1. 该`StartDeclarativePoliciesReport`操作只能由管理账户或组织的委托管理员调用。

1. 要从委托管理员账户运行报告，必须将该账户注册为 EC2 服务的委托管理员。

1. 在生成报告之前，您必须拥有 S3 存储桶。创建新存储桶或使用现有存储桶。存储桶必须位于您提出请求的同一区域。存储桶必须有适当的存储桶策略。有关示例 S3 策略，请参阅《Amazon EC2 API Reference》**中 [Examples](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_StartDeclarativePoliciesReport.html#API_StartDeclarativePoliciesReport_Examples) 下的 *Sample Amazon S3 policy* 

1. 您必须为 Amazon EC2 启用可信访问。这将创建一个只读的服务相关角色，该角色会生成组织中账户现有配置的账户状态报告。

   **使用控制台**

   对于 Organizations 控制台，此步骤是启用 EC2 策略的过程的一部分。

   **使用 Amazon CLI**

   对于 Amazon CLI，请使用[EnableAWSServiceAccess](https://docs.amazonaws.cn/organizations/latest/APIReference/API_EnableAWSServiceAccess.html)操作。

   有关如何使用为特定服务启用可信访问权限的更多信息 Amazon CLI[Amazon Web Services 服务 ，请参阅可与一起使用](https://docs.amazonaws.cn/organizations/latest/userguide/orgs_integrate_services_list.html)的 Amazon Organizations。

1. 每个组织一次只能生成一个报告。如果您在另一份报告正在进行时生成报告，则该操作会返回错误。

## 生成合规状态报告
<a name="orgs_manage_policies_ec2_accessing-status-report"></a>

**最小权限**  
要生成合规性状态报告，您需要拥有运行以下操作的权限：  
`ec2:StartDeclarativePoliciesReport`
`ec2:DescribeDeclarativePoliciesReports`
`ec2:GetDeclarativePoliciesReportSummary`
`ec2:CancelDeclarativePoliciesReport`
`organizations:DescribeAccount`
`organizations:DescribeOrganization`
`organizations:DescribeOrganizationalUnit`
`organizations:ListAccounts`
`organizations:ListDelegatedAdministrators`
`organizations:ListAWSServiceAccessForOrganization`
`s3:PutObject`

**注意**  
如果您的 Amazon S3 存储桶使用 SSE-KMS 加密，则还必须在策略中包含该`kms:GenerateDataKey`权限。

------
#### [ Amazon Web Services 管理控制台 ]

使用以下步骤来生成账户状态报告。

**生成账户状态报告**

1. 登录 [Amazon Organizations 控制台](https://console.amazonaws.cn/organizations/v2)。您必须以 IAM 用户的身份登录，担任 IAM 角色；或在组织的管理账户中以根用户的身份登录（[不推荐](https://docs.amazonaws.cn/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)）。

1. 在**策略**页面上，选择 **EC2 策略**。

1. 在 **EC2 策略**页面上，从 “**操作**” 下拉菜单中选择 “**查看账户状态报告**”。

1. 在**查看账户状态报告**页面上，选择**生成状态报告**。

1. 在**组织结构**小组件中，指定想要在报告中包含的组织单元（OU）。

1. 选择**提交**。

------
#### [ Amazon CLI & Amazon SDKs ]

**生成账户状态报告**

使用以下操作生成合规性状态报告、检查其状态并查看报告：
+ `ec2:start-declarative-policies-report`：生成账户状态报告。报告并非同步生成，可能需要几个小时才能完成。有关更多信息，请参阅 *Amazon EC2 API 参考*中的 [StartDeclarativePoliciesReport](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_StartDeclarativePoliciesReport.html)。
+ `ec2:describe-declarative-policies-report`：描述账户状态报告的元数据，包括报告的状态。有关更多信息，请参阅 *Amazon EC2 API 参考*中的 [DescribeDeclarativePoliciesReports](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_DescribeDeclarativePoliciesReports.html)。
+ `ec2:get-declarative-policies-report-summary`：检索账户状态报告摘要。有关更多信息，请参阅 *Amazon EC2 API 参考*中的 [GetDeclarativePoliciesReportSummary](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_GetDeclarativePoliciesReportSummary.html)。
+ `ec2:cancel-declarative-policies-report`：取消生成账户状态报告。有关更多信息，请参阅 *Amazon EC2 API 参考*中的 [CancelDeclarativePoliciesReport](https://docs.amazonaws.cn/AWSEC2/latest/APIReference/API_CancelDeclarativePoliciesReport.html)。

在生成报告之前，请授予 EC2 策略委托人访问存储报告的 Amazon S3 存储桶的访问权限。要执行该操作，请将以下策略附加到该存储桶。`amzn-s3-demo-bucket`替换为您实际的 Amazon S3 存储桶名称以及用于调`identity_ARN`用该`StartDeclarativePoliciesReport`操作的 IAM 身份。

以下 JSON 策略授予将报告传送到您的存储桶的权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeclarativePoliciesReportDelivery",
            "Effect": "Allow",
            "Principal": {
                "AWS": "{{identity_ARN}}"
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaLast": "organizations.amazonaws.com"
                }
            }
        }
    ]
}
```

------

------