必要條件 - AWS Config

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

必要條件

部署一致性套件之前,請先開啟錄製功能。 AWS Config

步驟 1:開始 AWS Config 錄製

  1. 請登入 AWS Management Console 並開啟 AWS Config 主控台,網址為 https://console.aws.amazon.com/config/

  2. 在導覽窗格中選擇 Settings (設定)

  3. 若要開始記錄,請在 Recording is off (記錄已關閉) 下方,選擇 Turn on (開啟)。出現提示時,請選擇 繼續

步驟 2:搭配修正使用符合性套件的先決條件

使用具有修正的範例範本部署一致性套件之前,您必須根據修正目標建立適當的資源,例如自動化假設角色和其他 AWS 資源。

如果您有使用 SSM 文件進行修補的現有自動化角色,則可以直接提供該角色的 ARN。如果您有任何資源,則可以在範本中提供這些資源。

注意

將具有修復的一致性套件部署至組織時,需要指定組織的管理帳戶 ID。否則,在部署組織一致性套件 AWS Config 的期間,系統會自動以成員帳戶 ID 取代管理帳戶 ID。

AWS Config 不支援自動化執行角色的 AWS CloudFormation 內建函式。您必須以字串形式提供角色的確切 ARN。

如需如何傳遞確切 ARN 的詳細資訊,請參閱一致性套件範例範本。使用範例範本時,請更新組織的帳戶 ID 和管理帳戶 ID。

步驟 2:搭配一或多個規則使用一致性套件的先決條件 AWS Config

在使用一或多個自訂 AWS Config 規則部署符合性套件之前,請先建立適當的資源,例如 AWS Lambda 函數和對應的執行角色。

如果您有現有的自訂 AWS Config 規則,您可以直接提供ARN的 AWS Lambda 函數來建立該自訂規則的另一個執行個體做為套件的一部分。

如果您沒有現有的自訂 AWS Config 規則,您可以建立 AWS Lambda 函數並使用 Lambda 函數的 ARN。如需詳細資訊,請參閱 AWS Config 自訂規則

如果您的 AWS Lambda 函數存在於不同的 AWS 帳戶,則可以使用適當的跨帳戶 AWS Lambda 函數授權來創建 AWS Config 規則。如需詳細資訊,請參閱如何跨多篇 AWS 帳戶部落格文章集中管理 AWS Config 規則

Same account bucket policy

為了能 AWS Config 夠存放一致性套件成品,您需要提供 Amazon S3 儲存貯體並新增以下許可。如需為儲存貯體命名的詳細資訊,請參閱《儲存貯體命名規則》。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::delivery-bucket-name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::delivery-bucket-name/[optional] prefix/AWSLogs/AccountId/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Cross-account bucket policy

為了能 AWS Config 夠存放一致性套件成品,您需要提供 Amazon S3 儲存貯體並新增以下許可。如需為儲存貯體命名的詳細資訊,請參閱《儲存貯體命名規則》。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms", "PutConformancePack API caller user principal like arn:aws:iam::SourceAccountId:user/userName " ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": " AWSConfigConformsBucketReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::SourceAccountId:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*" } ] }
注意

部署跨帳戶一致性套件時,交付 Amazon S3 儲存貯體的名稱應以 awsconfigconforms 開頭。

步驟 2:組織一致性套件的先決條件

如果輸入範本具有自動修補組態,請在範本中為該修補指定自動執行角色 ARN。確定組織的所有帳戶 (管理帳戶和成員帳戶) 中都存在具有指定名稱的角色。在呼叫 PutOrganizationConformancePack 之前,您必須在所有帳戶中建立此角色。您可以手動創建此角色,也可以使用 AWS CloudFormation 堆棧集在每個帳戶中創建此角色。

如果您的範本使用 AWS CloudFormation 內建函數匯Fn::ImportValue入特定變數,則該變數必須在該組織的所有成員帳戶Export Value中定義為一個。

如需自訂規 AWS Config 則,請參閱如何跨多個 AWS 帳戶部落格集中管理 AWS Config 規則以設定適當的權限。

組織儲存貯體政策:

為了能 AWS Config 夠存放一致性套件成品,您需要提供 Amazon S3 儲存貯體並新增以下許可。如需為儲存貯體命名的詳細資訊,請參閱《儲存貯體命名規則》。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } }, { "Sid": "AllowGetBucketAcl", "Effect": "Allow", "Principal": "*", "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } } ] }
注意

將一致性套件部署到組織時,所交付 Amazon S3 儲存貯體的名稱應以 awsconfigconforms 開頭。