

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 註冊具有現有 AWS Config 資源的帳戶
<a name="existing-config-resources"></a>

本主題提供step-by-step方法，說明如何註冊具有現有 AWS Config 資源的帳戶。如需如何檢查現有資源的範例，請參閱 [使用 AWS Config 資源註冊帳戶](enroll-account.md#example-config-cli-commands)。

**AWS Config 資源的範例**

以下是您的帳戶可能已有的一些 AWS Config 資源類型。您可能需要修改這些資源，才能將您的帳戶註冊到 AWS Control Tower。
+ AWS Config 記錄器
+ AWS Config 交付管道
+ AWS Config 彙總授權

**限制**
+  登陸區域中設定的管理帳戶或服務整合帳戶不支援使用現有的 AWS Config 資源註冊帳戶 (AWS Config)。
+  只能使用啟用 的 OU 註冊或重新註冊工作流程來註冊帳戶`AWSControlTowerBaseline`。無法透過啟用或停用 來註冊帳戶`ConfigBaseline`。
+  不支援具有現有 AWS Config 資源的帳戶[使用自動註冊來移動和註冊帳戶](account-auto-enrollment.md)。
+ 如果修改資源並在帳戶上建立偏離，AWS Control Tower 不會更新資源。
+ AWS Config 不受 AWS Control Tower 管理的區域中的資源不會變更。

**前提**
+ 您已部署 AWS Control Tower 登陸區域。
+ 您的帳戶尚未向 AWS Control Tower 註冊。
+ 您的帳戶在至少一個由 AWS Control Tower 管理的區域中至少有一個預先存在 AWS Config 的資源。
+ 您的帳戶未處於控管偏離狀態。

**注意**  
如果您嘗試註冊具有現有 Config 資源的帳戶，但未將帳戶新增至允許清單，則註冊將會失敗。之後，如果您隨後嘗試將相同帳戶新增至允許清單，AWS Control Tower 就無法驗證帳戶是否已正確佈建。您必須從 AWS Control Tower 取消佈建帳戶，才能請求允許清單，然後註冊。如果您只將帳戶移至不同的 AWS Control Tower OU，則會導致控管偏離，這也會防止帳戶新增至允許清單。

 如需描述使用現有 AWS Config 資源註冊帳戶的自動化方法的部落格，請參閱[將具有現有 AWS Config 資源的帳戶註冊自動化到 AWS Control Tower](https://aws.amazon.com//blogs/mt/automate-enrollment-of-accounts-with-existing-aws-config-resources-into-aws-control-tower/)。

**此程序有 5 個主要步驟。**

1. 將帳戶新增至 AWS Control Tower 允許清單 (AWS Control Tower)。

1. 在帳戶中建立新的 IAM 角色。

1. 修改預先存在 AWS Config 的資源。

1. 在資源不存在的 AWS 區域中建立 AWS Config 資源。

1. 向 AWS Control Tower 註冊帳戶。

**在繼續之前，請考慮下列有關此程序的期望。**
+ AWS Control Tower 不會在此帳戶中建立任何 AWS Config 資源。
+ 註冊後，AWS Control Tower 控制會自動保護您建立 AWS Config 的資源，包括新的 IAM 角色。
+ 如果在註冊後對 AWS Config 資源進行任何變更，則必須更新這些資源以符合 AWS Control Tower 設定，才能重新註冊帳戶。

## 步驟 1：聯絡支援，將 account（帳戶） 新增至允許清單
<a name="existing-config-step-1"></a>

**在票證主旨行中包含此片語：**

*將具有現有 AWS Config 資源的帳戶註冊至 AWS Control Tower*

**在票證內文中包含下列詳細資訊：**
+ 管理帳戶號碼
+  具有現有 AWS Config 資源的成員帳戶的帳號。您可以為要註冊的所有帳戶建立支援案例。
+ 您為 AWS Control Tower 設定選取的主區域

**注意**  
將您的帳戶新增至允許清單所需的時間為 2 個工作天。

## 步驟 2：在成員帳戶中建立新的 IAM 角色
<a name="existing-config-step-2"></a>

1. 開啟成員帳戶的 CloudFormation 主控台。

1. 使用下列範本建立新的堆疊

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
       
   Resources:
     CustomerCreatedConfigRecorderRole:
       Type: AWS::IAM::Role
       Properties:
         RoleName: aws-controltower-ConfigRecorderRole-customer-created
         AssumeRolePolicyDocument:
           Version: 2012-10-17		 	 	 
           Statement:
             - Effect: Allow
               Principal:
                 Service:
                   - config.amazonaws.com
               Action:
                 - sts:AssumeRole
         Path: /
         ManagedPolicyArns:
           - arn:aws:iam::aws:policy/service-role/AWS_ConfigRole
           - arn:aws:iam::aws:policy/ReadOnlyAccess
   ```

1. 將堆疊的名稱提供為 **CustomerCreatedConfigRecorderRoleForControlTower**

1. 建立堆疊。

**注意**  
您建立的任何 SCPs都應排除 `aws-controltower-ConfigRecorderRole*`角色。請勿修改限制 AWS Config 規則執行評估能力的許可。  
請遵循這些準則，以便在您擁有`aws-controltower-ConfigRecorderRole*`封鎖呼叫 Config SCPs `AccessDeniedException`時，不會收到 。

## 步驟 3：使用預先存在的資源識別 AWS 區域
<a name="existing-config-step-3"></a>

對於帳戶中的每個受管區域 (AWS Control Tower 受管），識別並記下至少具有先前顯示之其中一個現有 AWS Config 資源範例類型的區域。

## 步驟 4：識別沒有任何 AWS Config 資源 AWS 的區域
<a name="existing-config-step-4"></a>

對於帳戶中的每個受管區域 (AWS Control Tower 受管），識別並記下先前顯示的範例類型沒有 AWS Config 資源的區域。

## 步驟 5：修改每個區域中的現有資源 AWS
<a name="existing-config-step-5"></a>

在此步驟中，需要有關 AWS Control Tower 設定的下列資訊。
+  `AUDIT_ACCOUNT` - AWS Config 服務整合帳戶 （先前稱為稽核帳戶） ID 
+  `CONFIG_BUCKET` - AWS Config 交付組態快照和組態歷史記錄檔案的 AWS S3 儲存貯體。找到並確認 AWS S3 儲存貯體存在，然後再繼續進行後續步驟。
  + 對於登陸區域 3.3 版或更低版本，AWS S3 儲存貯體名為 `aws-controltower-logs-LOGGING_ACCOUNT-HOME_REGION`，位於記錄帳戶中。
  + 對於登陸區域 4.0 版或更新版本，AWS S3 儲存貯體名為 `aws-controltower-config-logs-AUDIT_ACCOUNT-<REGION_STRING>-<SUFFIX_STRING>`，位於 AWS Config 服務整合帳戶 （先前稱為稽核帳戶）。
+ `IAM_ROLE_ARN` - 在步驟 2 中建立的 IAM 角色 ARN
+ `ORGANIZATION_ID` - 管理帳戶的組織 ID
+ `MEMBER_ACCOUNT_NUMBER` - 正在修改的成員帳戶
+ `HOME_REGION` - AWS Control Tower 設定的主區域。

 按照以下第 5a 至 5c 節中的指示修改每個現有資源。

## 步驟 5a. AWS Config recorder 資源
<a name="modify-config-recorder-resources-step-5a"></a>

每個 AWS 區域只能存在一個 AWS Config 記錄器。如果存在，請修改設定，如下所示。在主區域中將項目取代`GLOBAL_RESOURCE_RECORDING`為 **true**。對於存在 AWS Config 記錄器的其他區域，以 **false** 取代項目。
+ **名稱：**請勿變更
+ **RoleARN：**` IAM_ROLE_ARN`
  + **RecordingGroup：**
  + **AllSupported：** true
  + **IncludeGlobalResourceTypes：** `GLOBAL_RESOURCE_RECORDING`
  + **ResourceTypes：**空

您可以使用下列命令，透過 AWS CLI 進行此修改。將字串取代`RECORDER_NAME`為現有的 AWS Config 記錄器名稱。

```
aws configservice put-configuration-recorder --configuration-recorder  name=RECORDER_NAME,roleARN=arn:aws:iam::MEMBER_ACCOUNT_NUMBER:role/aws-controltower-ConfigRecorderRole-customer-created --recording-group allSupported=true,includeGlobalResourceTypes=GLOBAL_RESOURCE_RECORDING --region CURRENT_REGION
```

## 步驟 5b。修改 AWS Config 交付管道資源
<a name="modify-config-delivery-channel-step-5b"></a>

每個區域只能有一個 AWS Config 交付管道。如果存在另一個設定，請修改設定，如下所示。
+ **名稱：**請勿變更
+ **ConfigSnapshotDeliveryProperties：**TwentyFour\$1Hours
+  **S3BucketName：***CONFIG\$1BUCKET* 
+ **S3KeyPrefix：***ORGANIZATION\$1ID*
+ **SnsTopicARN：**來自稽核帳戶的 SNS 主題 ARN，格式如下：

  `arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications`

您可以使用下列命令，透過 AWS CLI 進行此修改。將字串取代`DELIVERY_CHANNEL_NAME`為現有的 AWS Config 記錄器名稱。

```
aws configservice put-delivery-channel --delivery-channel name=DELIVERY_CHANNEL_NAME,s3BucketName=CONFIG_BUCKET,s3KeyPrefix="ORGANIZATION_ID",configSnapshotDeliveryProperties={deliveryFrequency=TwentyFour_Hours},snsTopicARN=arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications --region CURRENT_REGION
```

## 步驟 5c：修改 AWS Config 彙總授權資源
<a name="modify-config-aggregator-auth-step-5c"></a>

**注意**  
登陸區域 4.0 版或更新版本不需要此步驟。

每個區域可以存在多個彙總授權。AWS Control Tower 需要彙總授權，將稽核帳戶指定為授權帳戶，並將 AWS Control Tower 的主區域指定為授權區域。如果不存在，請使用下列設定建立新的設定：
+ **AuthorizedAccountId：**稽核帳戶 ID
+ **AuthorizedAwsRegion：**AWS Control Tower 設定的主區域

您可以使用下列命令，透過 AWS CLI 進行此修改：

 `aws configservice put-aggregation-authorization --authorized-account-id AUDIT_ACCOUNT_ID --authorized-aws-region HOME_REGION --region CURRENT_REGION` 

## 步驟 6：在 AWS Control Tower 管理的區域中建立不存在的資源
<a name="existing-config-step-6"></a>

修訂 CloudFormation 範本，以便在您的主區域中，**IncludeGlobalResourcesTypes** 參數具有值 `GLOBAL_RESOURCE_RECORDING`，如以下範例所示。另請更新範本中的必要欄位，如本節所指定。

將主區域中的項目取代`GLOBAL_RESOURCE_RECORDING`為 **true**。對於 AWS Config 記錄器不存在的其他區域，以 **false** 取代項目。

1. 導覽至管理帳戶的 CloudFormation 主控台。

1. 使用名稱 **CustomerCreatedConfigResourcesForControlTower** 建立新的 StackSet。

1. 複製並更新下列範本：
**注意**  
登陸區域 4.0 版或更新版本不需要範本中的`CustomerCreatedAggregationAuthorization`資源。

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
   Resources:
     CustomerCreatedConfigRecorder:
       Type: AWS::Config::ConfigurationRecorder
       Properties:
         Name: aws-controltower-BaselineConfigRecorder-customer-created
         RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-controltower-ConfigRecorderRole-customer-created
         RecordingGroup:
           AllSupported: true
           IncludeGlobalResourceTypes: GLOBAL_RESOURCE_RECORDING
           ResourceTypes: []
     CustomerCreatedConfigDeliveryChannel:
       Type: AWS::Config::DeliveryChannel
       Properties:
         Name: aws-controltower-BaselineConfigDeliveryChannel-customer-created
         ConfigSnapshotDeliveryProperties:
           DeliveryFrequency: TwentyFour_Hours
         S3BucketName: CONFIG_BUCKET
         S3KeyPrefix: ORGANIZATION_ID
         SnsTopicARN: !Sub arn:aws:sns:${AWS::Region}:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications
     CustomerCreatedAggregationAuthorization:
       Type: "AWS::Config::AggregationAuthorization"
       Properties:
         AuthorizedAccountId: AUDIT_ACCOUNT
         AuthorizedAwsRegion: HOME_REGION
   ```

**使用必要欄位更新範本：**

   1. 在 **S3BucketName** 欄位中，取代 *CONFIG\$1BUCKET*

   1. 在 **S3KeyPrefix** 欄位中，取代 *ORGANIZATION\$1ID*

   1. 在 **SnsTopicARN** 欄位中，取代 *AUDIT\$1ACCOUNT*

   1. 在 **AuthorizedAccountId** 欄位中，取代 *AUDIT\$1ACCOUNT*

   1. 在 **AuthorizedAwsRegion** 欄位中，取代 *HOME\$1REGION*

1. 在 CloudFormation 主控台上部署期間，新增成員帳戶號碼。

1. 新增步驟 4 中識別 AWS 的區域。

1. 部署堆疊集。

## 步驟 7：向 AWS Control Tower 註冊 OU
<a name="existing-config-step-7"></a>

在 AWS Control Tower 儀表板中，註冊 OU。

**注意**  
此任務的**註冊帳戶**工作流程將不會成功。您必須選擇**註冊 OU** 或**重新註冊 OU**。