

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

# 为 AWS Config 创建聚合器
<a name="aggregated-create"></a>

您可以使用 AWS Config 控制台或 AWS CLI 创建聚合器。您可以从 AWS Config 中选择**添加单个账户 ID** 或**添加我的组织**来聚合数据。对于，AWS CLI有两种不同的程序。

------
#### [ Creating Aggregators (Console) ]

在**聚合器**页面上，通过指定要从中聚合数据的源账户 ID 或组织和区域来创建聚合器。

1. 登录到，AWS 管理控制台然后通过以下网址打开 AWS Config 控制台：[https://console.aws.amazon.com/config/home](https://console.aws.amazon.com/config/home)。

1. 导航到**聚合器**页面，然后选择**创建聚合器**。

1. **允许数据复制**，授予 AWS Config 权限，使其可将数据从源账户复制到聚合器账户中。

   选择**允许 AWS Config 将数据从源账户复制到聚合器账户。您须选中此复选框，才能继续添加聚合器**。

1. 对于**聚合器名称**，键入聚合器的名称。

   聚合器名称必须是唯一的名称，最多有 64 个字母数字字符。此名称可以包含连字符和下划线。

1. 对于**选择源账户**，选择**添加单个账户 ID** 或**添加我的组织**来聚合数据。
**注意**  
使用**添加单个账户 ID** 来选择源账户时，需要获得授权。
   + 如果您选择 **Add individual account IDs**，则可以为聚合器账户添加个人账户 ID。

     1. 选择 **Add source accounts** 以添加账户 ID。

     1. 选择**添加 AWS 账户 ID** 以手动添加逗号分隔的 AWS 账户 ID。如果您想要从当前账户中聚合数据，请键入账户的账户 ID。

        或

        选择**上传文件**以上传逗号分隔的 AWS 账户 ID 文件（.txt or .csv）。

     1. 选择 **Add source accounts** 以确认您的选择。
   + 如果您选择 **Add my organization**，则可以将您组织中的所有账户添加到聚合器账户。
**注意**  
您必须登录到管理账户或注册的委派管理员，并且所有功能都必须在组织中处于启用状态。如果调用者是管理账户，AWS Config 会调用 `EnableAwsServiceAccess` API 以[启用 AWS Config 和 AWS Organizations 之间的集成](https://docs.aws.amazon.com/organizations/latest/APIReference/API_EnableAWSServiceAccess.html)。如果调用者是注册的委派管理员，AWS Config 会调用 `ListDelegatedAdministrators` API 来验证调用者是否是有效的委派管理员。  
在委派管理员创建聚合器之前，请确保管理账户为委派管理员注册了 AWS Config 服务主体名称（config.amazonaws.com）。要注册委派管理员，请参阅 [为注册委派管理员 AWS Config](aggregated-register-delegated-administrator.md)

     您必须分配 IAM 角色以允许 AWS Config 为您的组织调用只读 API。

     1. 选择**从您的账户选择一个角色**，以选择现有 IAM 角色。
**注意**  
在 IAM 控制台中，将 `AWSConfigRoleForOrganizations` 托管策略附加到您的 IAM 角色。附加此策略将允许 AWS Config 调用 AWS Organizations、`DescribeOrganization``ListAWSServiceAccessForOrganization` 和 `ListAccounts` API。默认情况下，`config.amazonaws.com` 会被自动指定为可信实体。

     1. 或者，选择**创建角色**，然后键入 IAM 角色名称以创建 IAM 角色。

1. 对于 **Regions**，选择您要为其聚合数据的区域。
   + 选择一个区域或多个区域或所有。AWS 区域
   + 选择**包括未来的，AWS 区域**以从启用了多账户多区域数据聚合的所有未来 AWS 区域中聚合数据。

1. 选择 **Save（保存）**。AWS Config 将显示聚合器。

------
#### [ Creating Aggregators using Individual Accounts (AWS CLI) ]

1. 打开命令提示符或终端窗口。

1. 输入以下命令以创建一个名为 **MyAggregator** 的聚合器。

   ```
   aws configservice put-configuration-aggregator --configuration-aggregator-name MyAggregator --account-aggregation-sources "[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]"
   ```

   对于，`account-aggregation-sources`输入以下内容之一。
   + 以逗号分隔的您要为其聚合数据的 AWS 账户 ID 的列表。用方括号将账户 ID 括起来，并确保对引号进行转义（例如，`"[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]"`）。
   + 您还可以上传以逗号分隔的 AWS 账户 ID 的 JSON 文件。上传文件使用以下语法：`--account-aggregation-sources MyFilePath/MyFile.json`

     JSON 文件必须为以下格式：

   ```
   [
       {
           "AccountIds": [
               "AccountID1",
               "AccountID2",
               "AccountID3"
           ],
           "AllAwsRegions": true
       }
   ]
   ```

1. 按 Enter 执行命令。

   您应该可以看到类似于如下所示的输出内容：

   ```
   {
       "ConfigurationAggregator": {
           "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3",
           "CreationTime": 1517942461.442,
           "ConfigurationAggregatorName": "MyAggregator",
           "AccountAggregationSources": [
               {
                   "AllAwsRegions": true,
                   "AccountIds": [
                       "AccountID1",
                       "AccountID2",
                       "AccountID3"
                   ]
               }
           ],
           "LastUpdatedTime": 1517942461.442
       }
   }
   ```

------
#### [ Creating Aggregators using AWS Organizations (AWS CLI) ]

在开始本过程之前，您必须先登录到管理账户或注册的委派管理员，并且所有功能都必须在组织中处于启用状态。

**注意**  
在委派管理员创建聚合器之前，请确保管理账户使用以下两个 AWS Config 服务主体名称（`config.amazonaws.com` 和 `config-multiaccountsetup.amazonaws.com`）注册了委派管理员。要注册委派管理员，请参阅 [为注册委派管理员 AWS Config](aggregated-register-delegated-administrator.md)

1. 打开命令提示符或终端窗口。

1. 如果尚未为 AWS Config 聚合器创建 IAM 角色，请输入以下命令：

   ```
   aws iam create-role --role-name OrgConfigRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"config.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}" --description "Role for organizational AWS Config aggregator"
   ```
**注意**  
从此 IAM 角色复制 Amazon 资源名称（ARN），以便在您创建 AWS Config 聚合器时使用。您可以在响应对象上找到 ARN。

1. 如果尚未为您的 IAM 角色附加策略，请附加 [AWSConfigRoleForOrganizations](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSConfigRoleForOrganizations.html) 托管策略或输入以下命令：

   ```
   aws iam create-policy --policy-name OrgConfigPolicy --policy-document '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Action":["organizations:ListAccounts","organizations:DescribeOrganization","organizations:ListAWSServiceAccessForOrganization","organizations:ListDelegatedAdministrators"],"Resource":"*"}]}'
   ```

1. 输入以下命令以创建一个名为 **MyAggregator** 的聚合器。

   ```
   aws configservice put-configuration-aggregator --configuration-aggregator-name MyAggregator --organization-aggregation-source "{\"RoleArn\": \"Complete-Arn\",\"AllAwsRegions\": true}"
   ```

1. 按 Enter 执行命令。

   您应该可以看到类似于如下所示的输出内容：

   ```
   {
       "ConfigurationAggregator": {
           "ConfigurationAggregatorArn": "arn:aws:config:Region:AccountID:config-aggregator/config-aggregator-floqpus3",
           "CreationTime": 1517942461.442,
           "ConfigurationAggregatorName": "MyAggregator",
           "OrganizationAggregationSource": {
                   "AllAwsRegions": true,
                   "RoleArn": "arn:aws:iam::account-of-role-to-assume:role/name-of-role"
            },
           "LastUpdatedTime": 1517942461.442
       }
   }
   ```

------