註冊具有現有 AWS Config 資源的帳戶 - AWS Control Tower

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

註冊具有現有 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 個主要步驟。
  1. 將帳戶新增至 AWS Control Tower 允許清單 (AWS Control Tower)。

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

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

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

  5. 向 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 角色

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

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

    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
  3. 將堆疊的名稱提供為 CustomerCreatedConfigRecorderRoleForControlTower

  4. 建立堆疊。

注意

您建立的任何 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_RECORDINGtrue。對於存在 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 交付管道資源

每個區域只能有一個 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 進行此修改。將字串取代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 彙總授權資源

注意

登陸區域 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_RECORDINGtrue。對於 AWS Config 記錄器不存在的其他區域,以 false 取代項目。

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

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

  3. 複製並更新下列範本:

    注意

    登陸區域 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_BUCKET

    2. S3KeyPrefix 欄位中,取代 ORGANIZATION_ID

    3. SnsTopicARN 欄位中,取代 AUDIT_ACCOUNT

    4. AuthorizedAccountId 欄位中,取代 AUDIT_ACCOUNT

    5. AuthorizedAwsRegion 欄位中,取代 HOME_REGION

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

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

  6. 部署堆疊集。

步驟 7:向 AWS Control Tower 註冊 OU

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

注意

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