

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

# 的一致性套件先決條件 AWS Config
<a name="cpack-prerequisites"></a>

部署一致性套件之前，請開啟 AWS Config 錄製。

**Topics**
+ [步驟 1：開始 AWS Config 錄製](#cpack-prerequisites-config-recording)
+ [步驟 2：合規套件類型的其他先決條件](#cpack-prerequisites-config-recording)

## 步驟 1：開始 AWS Config 記錄 （所有一致性套件都需要）
<a name="cpack-prerequisites-config-recording"></a>

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/config/home](https://console.aws.amazon.com/config/home) 開啟 AWS Config 主控台。

1. 在導覽窗格中選擇 **Settings (設定)**。

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

## 步驟 2：合規套件類型的其他先決條件
<a name="cpack-prerequisites-config-recording"></a>

### A. 搭配修補使用一致性套件的先決條件
<a name="cpack-prerequisites-remediations"></a>

使用範本範例搭配修補來部署一致性套件之前，您必須根據修補目標建立適當的資源，例如自動化擔任角色和其他 AWS 資源。

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

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

AWS Config 不支援自動化執行角色或 CloudFormation 的內部函數`ConfigRuleName`。您必須提供角色的確切 ARN 做為字串，而且必須使用不含內部函數的完整規則名稱。

如需如何傳遞確切 ARN 的詳細資訊，請參閱[的一致性套件範例範本 AWS Config](conformancepack-sample-templates.md)。使用範例範本時，請更新組織的帳戶 ID 和管理帳戶 ID。

### B. 搭配一或多個自訂 AWS Config 規則使用一致性套件的先決條件
<a name="cpack-prerequisites-oneormorerules"></a>

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

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

如果您沒有現有的自訂 AWS Config 規則，您可以建立 AWS Lambda 函數並使用 Lambda 函數的 ARN。如需詳細資訊，請參閱[AWS Config 自訂規則](evaluate-config_develop-rules.md)。

如果您的 AWS Lambda 函數存在於不同的 中 AWS 帳戶，您可以建立具有適當跨帳戶 AWS Lambda 函數授權的 AWS Config 規則。如需詳細資訊，請參閱[如何在多個部落格文章中集中管理 AWS Config 規則 AWS 帳戶](https://aws.amazon.com/blogs/devops/how-to-centrally-manage-aws-config-rules-across-multiple-aws-accounts/)。

------
#### [ Same account bucket policy ]

若要讓 AWS Config 能夠存放一致性套件成品，您需要提供 Amazon S3 儲存貯體並新增下列許可。如需為儲存貯體命名的詳細資訊，請參閱《[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)》。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSConfigConformsBucketPermissionsCheck",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333: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::111122223333: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 儲存貯體並新增下列許可。如需為儲存貯體命名的詳細資訊，請參閱《[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)》。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSConfigConformsBucketPermissionsCheck",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333: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::111122223333: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::111122223333: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` 開頭。

------

### C. Organization Conformance Pack 的先決條件
<a name="cpack-prerequisites-organizationcpack"></a>

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

如果您的範本使用 AWS CloudFormation 內部函數 `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` 匯入特定變數，則該變數必須在該組織的所有成員帳戶中定義為 `[Export Value](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)` 。

如需自訂 AWS Config 規則，請參閱[如何跨多個部落格集中管理 AWS Config 規則 AWS 帳戶](https://aws.amazon.com/blogs/devops/how-to-centrally-manage-aws-config-rules-across-multiple-aws-accounts/) ，以設定適當的許可。

**組織儲存貯體政策：**

若要讓 AWS Config 能夠存放一致性套件成品，您需要提供 Amazon S3 儲存貯體並新增下列許可。如需為儲存貯體命名的詳細資訊，請參閱《[儲存貯體命名規則](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)》。

------
#### [ JSON ]

****  

```
{
    "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` 開頭。