本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
註冊具有現有 AWS Config 資源的帳戶
本主題提供step-by-step方法,說明如何註冊具有現有 AWS Config 資源的帳戶。如需如何檢查現有資源的範例,請參閱 使用 AWS Config 資源註冊帳戶。
AWS Config 資源的範例
以下是您的帳戶可能已有的一些 AWS Config 資源類型。您可能需要修改這些資源,才能將您的帳戶註冊到 AWS Control Tower。
-
AWS Config 記錄器
-
AWS Config 交付管道
-
AWS Config 彙總授權
限制
-
登陸區域中設定的管理帳戶或服務整合帳戶不支援使用現有的 AWS Config 資源註冊帳戶 (AWS Config)。
-
只能使用啟用 的 OU 註冊或重新註冊工作流程來註冊帳戶
AWSControlTowerBaseline。無法透過啟用或停用 來註冊帳戶ConfigBaseline。 -
不支援具有現有 AWS Config 資源的帳戶使用自動註冊來移動和註冊帳戶。
-
如果修改資源並在帳戶上建立偏離,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
此程序有 5 個主要步驟。
-
將帳戶新增至 AWS Control Tower 允許清單 (AWS Control Tower)。
-
在帳戶中建立新的 IAM 角色。
-
修改預先存在 AWS Config 的資源。
-
在資源不存在的 AWS 區域中建立 AWS Config 資源。
-
向 AWS Control Tower 註冊帳戶。
在繼續之前,請考慮下列有關此程序的期望。
-
AWS Control Tower 不會在此帳戶中建立任何 AWS Config 資源。
-
註冊後,AWS Control Tower 控制會自動保護您建立 AWS Config 的資源,包括新的 IAM 角色。
-
如果在註冊後對 AWS Config 資源進行任何變更,則必須更新這些資源以符合 AWS Control Tower 設定,才能重新註冊帳戶。
步驟 1:聯絡支援,將 account(帳戶) 新增至允許清單
在票證主旨行中包含此片語:
將具有現有 AWS Config 資源的帳戶註冊至 AWS Control Tower
在票證內文中包含下列詳細資訊:
-
管理帳戶號碼
-
具有現有 AWS Config 資源的成員帳戶的帳號。您可以為要註冊的所有帳戶建立支援案例。
-
您為 AWS Control Tower 設定選取的主區域
注意
將您的帳戶新增至允許清單所需的時間為 2 個工作天。
步驟 2:在成員帳戶中建立新的 IAM 角色
-
開啟成員帳戶的 CloudFormation 主控台。
-
使用下列範本建立新的堆疊
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 -
將堆疊的名稱提供為 CustomerCreatedConfigRecorderRoleForControlTower
-
建立堆疊。
注意
您建立的任何 SCPs都應排除 aws-controltower-ConfigRecorderRole*角色。請勿修改限制 AWS Config 規則執行評估能力的許可。
請遵循這些準則,以便在您擁有aws-controltower-ConfigRecorderRole*封鎖呼叫 Config SCPs AccessDeniedException時,不會收到 。
步驟 3:使用預先存在的資源識別 AWS 區域
對於帳戶中的每個受管區域 (AWS Control Tower 受管),識別並記下至少具有先前顯示之其中一個現有 AWS Config 資源範例類型的區域。
步驟 4:識別沒有任何 AWS Config 資源 AWS 的區域
對於帳戶中的每個受管區域 (AWS Control Tower 受管),識別並記下先前顯示的範例類型沒有 AWS Config 資源的區域。
步驟 5:修改每個區域中的現有資源 AWS
在此步驟中,需要有關 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 資源
每個 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--regionCURRENT_REGION
步驟 5b。修改 AWS Config 交付管道資源
每個區域只能有一個 AWS Config 交付管道。如果存在另一個設定,請修改設定,如下所示。
-
名稱:請勿變更
-
ConfigSnapshotDeliveryProperties:TwentyFour_Hours
-
S3BucketName:
CONFIG_BUCKET -
S3KeyPrefix:
ORGANIZATION_ID -
SnsTopicARN:來自稽核帳戶的 SNS 主題 ARN,格式如下:
arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications
您可以使用下列命令,透過 AWS CLI 進行此修改。將字串取代為現有的 AWS Config 記錄器名稱。DELIVERY_CHANNEL_NAME
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 --regionCURRENT_REGION
步驟 5c:修改 AWS Config 彙總授權資源
注意
登陸區域 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 管理的區域中建立不存在的資源
修訂 CloudFormation 範本,以便在您的主區域中,IncludeGlobalResourcesTypes 參數具有值 GLOBAL_RESOURCE_RECORDING,如以下範例所示。另請更新範本中的必要欄位,如本節所指定。
將主區域中的項目取代GLOBAL_RESOURCE_RECORDING為 true。對於 AWS Config 記錄器不存在的其他區域,以 false 取代項目。
-
導覽至管理帳戶的 CloudFormation 主控台。
-
使用名稱 CustomerCreatedConfigResourcesForControlTower 建立新的 StackSet。
-
複製並更新下列範本:
注意
登陸區域 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_RECORDINGResourceTypes: [] CustomerCreatedConfigDeliveryChannel: Type: AWS::Config::DeliveryChannel Properties: Name: aws-controltower-BaselineConfigDeliveryChannel-customer-created ConfigSnapshotDeliveryProperties: DeliveryFrequency: TwentyFour_Hours S3BucketName:CONFIG_BUCKETS3KeyPrefix:ORGANIZATION_IDSnsTopicARN: !Sub arn:aws:sns:${AWS::Region}:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications CustomerCreatedAggregationAuthorization: Type: "AWS::Config::AggregationAuthorization" Properties: AuthorizedAccountId:AUDIT_ACCOUNTAuthorizedAwsRegion:HOME_REGION使用必要欄位更新範本:
-
在 S3BucketName 欄位中,取代
CONFIG_BUCKET -
在 S3KeyPrefix 欄位中,取代
ORGANIZATION_ID -
在 SnsTopicARN 欄位中,取代
AUDIT_ACCOUNT -
在 AuthorizedAccountId 欄位中,取代
AUDIT_ACCOUNT -
在 AuthorizedAwsRegion 欄位中,取代
HOME_REGION
-
-
在 CloudFormation 主控台上部署期間,新增成員帳戶號碼。
-
新增步驟 4 中識別 AWS 的區域。
-
部署堆疊集。
步驟 7:向 AWS Control Tower 註冊 OU
在 AWS Control Tower 儀表板中,註冊 OU。
注意
此任務的註冊帳戶工作流程將不會成功。您必須選擇註冊 OU 或重新註冊 OU。