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

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

註冊具有現有 AWS Config 資源的帳號

本主題提供如何註冊具有現有 AWS Config 資源之帳號的 step-by-step 方法。如需如何檢查現有資源的範例,請參閱資源狀態的 AWS Config CLI 命令範例

注意

如果您打算將現有 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 landing zone

  • 您的帳戶尚未向 AWS Control Tower 註冊。

  • 您的帳戶至少有一個受管理帳戶管理的 AWS Control Tower 區域中有至少一個預先存在的 AWS Config 資源。

  • 您的帳戶不是 AWS Control Tower 管理帳戶。

  • 您的帳戶不處於治理偏移狀態。

如需說明使用現有 AWS Config 資源註冊帳戶的自動化方法的部落格,請參閱自動將具有現有 AWS Config 資源的帳戶註冊到 AWS Control Tower。如下所述,您可以為所有希望註冊的帳戶提交單一支援票證。步驟 1:提供票證聯絡客戶支援,將帳戶新增至 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 個主要步驟。
  1. 將帳戶新增至 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:提供票證聯絡客戶支援,將帳戶新增至 AWS Control Tower 允許清單

在您的票證主題行中包含此短語:

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

在您的機票正文中包含以下詳細信息:
  • 管理帳號

  • 具有現有 AWS Config 資源之成員帳號的帳號

  • 針對 AWS Control Tower 設定選取的本地區域

注意

將帳戶添加到允許列表所需的時間為 2 個工作日。

步驟 2:在成員帳戶中建立新的 IAM 角色

  1. 開啟成員帳戶的 AWS 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. 將堆疊名稱提供為「CustomerCreatedConfigRecorderRoleForControl塔

  4. 建立堆疊。

注意

您建立的任何 SCP 都應排除aws-controltower-ConfigRecorderRole*角色。請勿修改限制 AWS Config 規則執行評估能力的權限。

請遵循這些準則,以便AccessDeniedException當您有阻止aws-controltower-ConfigRecorderRole*調用 Config 的 SCP 時,您不會收到。

步驟 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 中建立的身分與存取權管理角色 ARN

  • ORGANIZATION_ID-管理帳戶的組織 ID

  • MEMBER_ACCOUNT_NUMBER-正在修改的會員帳戶

  • HOME_REGION-AWS Control Tower 設定的主區域。

按照第 5a 至 5c 節中的說明修改每個現有資源,如下所示。

步驟一個。 AWS Config 記錄器資源

每個 AWS 區域只能存在一個 AWS Config 記錄器。如果存在,請如圖所示修改設定。在您的居住地區域中將該物品GLOBAL_RESOURCE_RECORDING替換為 true。對於 AWS Config 記錄器存在的其他區域,請將該項目替換為 false

  • 產品名稱:不要改變

  • RoleARN: IAM_ROLE_ARN

    • RecordingGroup:

    • AllSupported:

    • 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

步驟五. 修改 AWS Config 交付管道資源

每個區域只能有一個 AWS Config 傳遞通道。如果存在另一個,請如圖所示修改設定。

  • 產品名稱:不要改變

  • ConfigSnapshotDeliveryProperties: TwentyFour _ 小時

  • S3BucketName:來自 AWS Control Tower 記錄帳戶的記錄儲存貯體名稱

    aws-controltower-logs-LOGGING_ACCOUNT-HOME_REGION

  • S3KeyPrefix:組織識別碼 (_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=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 --region CURRENT_REGION

步驟 5c。修改 AWS Config 彙總授權資源

每個區域可以存在多個彙總授權。AWS Control Tower 需要彙總授權,將稽核帳戶指定為授權帳戶,並將 AWS Control Tower 的主區域作為授權區域。如果它不存在,請使用以下設置創建一個新的:

  • AuthorizedAccountId:稽核帳戶識別碼

  • 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

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

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

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

    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
    使用必填欄位更新範本:
    1. S3 BucketName 字段中,替換日誌帳戶 ID 和家庭區域

    2. S3 KeyPrefix 欄位中,取代組織 ID

    3. SnsTopicARN 欄位中,取代稽核帳戶

    4. AuthorizedAccountId欄位中,取代稽核帳戶

    5. 在該AuthorizedAwsRegion字段中,替換主頁 _ 地區

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

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

  6. 部署堆疊集。

步驟 7:向 AWS Control Tower 註冊 OU

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

注意

註冊帳戶工作流程無法成功執行此工作。您必須選擇 [註冊 OU] 或 [重新註冊 OU]。