本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
註冊具有現有 AWS Config 資源的帳戶
本主題提供step-by-step方法,說明如何註冊具有現有 AWS Config 資源的帳戶。如需如何檢查現有資源的範例,請參閱資源狀態的 CLI AWS Config 命令範例。
注意
如果您計劃將現有 AWS 帳戶作為稽核和日誌封存帳戶帶入 AWS Control Tower,而且這些帳戶具有現有 AWS Config 資源,則必須先完全刪除現有 AWS Config 資源,然後才能為此目的將這些帳戶註冊到 AWS Control Tower。對於不打算成為稽核和日誌封存帳戶的帳戶,您可以修改現有的 Config 資源。
AWS Config 資源範例
以下是您的帳戶可能已有的一些 AWS Config 資源類型。這些資源可能需要修改,以便您可以將您的帳戶註冊到 AWS Control Tower。
-
AWS Config 記錄器
-
AWS Config 交付管道
-
AWS Config 彙總授權
前提
-
您已部署 AWS Control Tower 登陸區域
-
您的帳戶尚未向 AWS Control Tower 註冊。
-
您的帳戶在至少一個由 管理帳戶管理的 AWS Control Tower 區域中至少有一個預先存在 AWS Config 的資源。
-
您的帳戶不是 AWS Control Tower 管理帳戶。
-
您的帳戶未處於控管偏離狀態。
如需描述使用現有 AWS Config 資源註冊帳戶的自動化方法的部落格,請參閱將具有現有 AWS Config 資源的帳戶註冊自動化到 AWS Control Tower
限制
-
您只能使用 AWS Control Tower 工作流程來擴展控管,以註冊帳戶。
-
如果修改資源並在帳戶上建立偏離,AWS Control Tower 不會更新資源。
-
AWS Config 不受 AWS Control Tower 管理的區域中的資源不會變更。
注意
如果您嘗試註冊具有現有 Config 資源的帳戶,但未將帳戶新增至允許清單,則註冊將會失敗。之後,如果您隨後嘗試將相同帳戶新增至允許清單,AWS Control Tower 無法驗證帳戶是否已正確佈建。您必須從 AWS Control Tower 取消佈建帳戶,才能請求允許清單,然後註冊。如果您只將帳戶移動到不同的 AWS Control Tower OU,則會導致控管偏離,這也會防止帳戶新增至允許清單。
此程序有 5 個主要步驟。
-
將帳戶新增至 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:使用票證聯絡客戶支援,將帳戶新增至 AWS Control Tower 允許清單
在票證主旨行中包含此片語:
將具有現有 AWS Config 資源的帳戶註冊至 AWS Control Tower
在票證內文中包含下列詳細資訊:
-
管理帳戶號碼
-
具有現有 AWS Config 資源的成員帳戶帳戶數目
-
您為 AWS Control Tower 設定選取的主區域
注意
將您的帳戶新增至允許清單所需的時間為 2 個工作天。
步驟 2:在成員帳戶中建立新的 IAM 角色
-
開啟成員帳戶的 AWS 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 設定的下列資訊。
-
LOGGING_ACCOUNT
- 記錄帳戶 ID -
AUDIT_ACCOUNT
- 稽核帳戶 ID -
IAM_ROLE_ARN
- 步驟 1 中建立的 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:來自 AWS Control Tower 記錄帳戶的記錄儲存貯體名稱
aws-controltower-logs-
LOGGING_ACCOUNT
-HOME_REGION
-
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=aws-controltower-logs-LOGGING_ACCOUNT_ID
-HOME_REGION
,s3KeyPrefix="ORGANIZATION_ID
",configSnapshotDeliveryProperties={deliveryFrequency=TwentyFour_Hours},snsTopicARN=arn:aws:sns:CURRENT_REGION
:AUDIT_ACCOUNT
:aws-controltower-AllConfigNotifications --regionCURRENT_REGION
步驟 5c。修改 AWS Config 彙總授權資源
每個區域可以存在多個彙總授權。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 管理的區域中,建立不存在的資源
修訂 AWS CloudFormation 範本,以便在您的主區域中,IncludeGlobalResourcesTypes 參數具有值 GLOBAL_RESOURCE_RECORDING
,如以下範例所示。另請更新範本中的必要欄位,如本節所述。
將 項目取代GLOBAL_RESOURCE_RECORDING
為您所在區域中的 true。對於記錄 AWS Config 器不存在的其他區域,將項目取代為 false。
-
導覽至管理帳戶的 AWS CloudFormation 主控台。
-
建立名為 CustomerCreatedConfigResourcesForControlTower 的新 StackSet。
-
複製並更新下列範本:
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: aws-controltower-logs-LOGGING_ACCOUNT
-HOME_REGION
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
使用必要欄位更新範本:
-
在 S3BucketName 欄位中,取代
LOGGING_ACCOUNT_ID
和HOME_REGION
-
在 S3KeyPrefix 欄位中,取代
ORGANIZATION_ID
-
在 SnsTopicARN 欄位中,取代
AUDIT_ACCOUNT
-
在 AuthorizedAccountId 欄位中,取代
AUDIT_ACCOUNT
-
在 AuthorizedAwsRegion 欄位中,取代
HOME_REGION
-
-
在 AWS CloudFormation 主控台上部署期間,新增成員帳戶號碼。
-
新增步驟 4 中識別 AWS 的區域。
-
部署堆疊集。
步驟 7:向 AWS Control Tower 註冊 OU
在 AWS Control Tower 儀表板中,註冊 OU。
注意
註冊帳戶工作流程將無法成功執行此任務。您必須選擇註冊 OU 或重新註冊 OU。