

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

# 指派給 的 IAM 角色許可 AWS Config
<a name="iamrole-permissions"></a>

IAM 角色可讓您定義一組許可。 AWS Config 會擔任您指派給該角色的角色，以寫入 S3 儲存貯體、發佈至 SNS 主題，以及發出 `Describe`或 `List` API 請求，以取得 AWS 資源的組態詳細資訊。如需 IAM 角色的更多相關資訊，請參閱 *IAM 使用者指南*中的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html)。

當您使用 AWS Config 主控台建立或更新 IAM 角色時， AWS Config 會自動為您連接必要的許可。如需詳細資訊，請參閱[AWS Config 使用主控台設定](gs-console.md)。

**政策和合規結果**  
在 中管理的 [IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)和其他政策可能會影響 是否 AWS Config 具有記錄 資源組態變更的許可。 [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html)此外，規則會直接評估資源的組態，而且在執行評估時，規則不會考慮這些政策。確定有效政策符合您打算使用的方式 AWS Config。

**Contents**
+ [建立 IAM 角色 政策](#iam-role-policies)
  + [將 IAM 信任政策新增至您的角色](#iam-trust-policy)
  + [適用於 S3 儲存貯體的 IAM 角色政策](#iam-role-policies-S3-bucket)
  + [適用於 KMS Key 的 IAM 角色政策](#iam-role-policies-S3-kms-key)
  + [適用於 Amazon SNS 主題的 IAM 角色政策](#iam-role-policies-sns-topic)
  + [用以取得組態詳細資訊的 IAM 角色政策](#iam-role-policies-describe-apis)
  + [管理 S3 儲存貯體記錄的許可](#troubleshooting-recording-s3-bucket-policy)

## 建立 IAM 角色 政策
<a name="iam-role-policies"></a>

當您使用 AWS Config 主控台建立 IAM 角色時， AWS Config 會自動為您將必要的許可連接到角色。

如果您使用 AWS CLI 來設定 AWS Config 或更新現有的 IAM 角色，則必須手動更新政策， AWS Config 以允許 存取 S3 儲存貯體、發佈至 SNS 主題，以及取得 資源的組態詳細資訊。

### 將 IAM 信任政策新增至您的角色
<a name="iam-trust-policy"></a>

您可以建立 IAM 信任政策， AWS Config 讓 擔任角色並使用它來追蹤您的 資源。如需有關信任政策的詳細資訊，請參閱《*IAM 使用者指南*》中的《[角色術語和概念](https://docs.aws.amazon.com/IAM/latest/UserGuide/d_roles_terms-and-concepts.html)》。

以下是 AWS Config 角色的信任政策範例：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": { 
        "StringEquals": {
          "AWS:SourceAccount": "{{sourceAccountID}}"
        }
      }
    }
  ]
}
```

------

您可以使用上述 IAM 角色信任關係中的 `AWS:SourceAccount` 條件，限制 Config 服務主體在代表特定帳戶執行操作時，僅能與 AWS IAM 角色互動。

AWS Config 也支援 `AWS:SourceArn`條件，限制 Config 服務主體在代表擁有的帳戶執行操作時，只能擔任 IAM 角色。使用 AWS Config 服務主體時， `AWS:SourceArn` 屬性一律會設定為 ，`arn:aws:config:sourceRegion:sourceAccountID:*`其中 `sourceRegion`是客戶受管組態記錄器的區域，而 `sourceAccountID`是包含客戶受管組態記錄器的帳戶 ID。

例如，新增下列條件限制 Config 服務主體只能代表`us-east-1`帳戶 區域中的客戶受管組態記錄器擔任 IAM 角色`123456789012`：`"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}`。

### 適用於 S3 儲存貯體的 IAM 角色政策
<a name="iam-role-policies-S3-bucket"></a>

下列範例政策會授予存取 S3 儲存貯體的 AWS Config 許可：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource":[
        "arn:aws:s3:::{{amzn-s3-demo-bucket}}/{{prefix}}/AWSLogs/{{myAccountID}}/*"
      ],
      "Condition":{
        "StringLike":{
          "s3:x-amz-acl":"bucket-owner-full-control"
        }
      }
    },
    {
      "Effect":"Allow",
      "Action":[
        "s3:GetBucketAcl"
      ],
      "Resource":"arn:aws:s3:::{{amzn-s3-demo-bucket}}"
    }
  ]
}
```

------

### 適用於 KMS Key 的 IAM 角色政策
<a name="iam-role-policies-S3-kms-key"></a>

下列範例政策授予 AWS Config 許可，以對 S3 儲存貯體交付的新物件使用 KMS 型加密：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
        }
    ]
}
```

------

### 適用於 Amazon SNS 主題的 IAM 角色政策
<a name="iam-role-policies-sns-topic"></a>

下列範例政策會授予存取 SNS 主題的 AWS Config 許可：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": 
   [
     {
      "Effect":"Allow",
      "Action":"sns:Publish",
      "Resource":"arn:aws:sns:us-east-1:123456789012:MyTopic"
     }
    ]
}
```

------

如果您的 SNS 主題已按照其他設定指示加密，請參閱《Amazon Simple Notification Service 開發人員指南》**中的《[設定 AWS KMS 許可](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sns-what-permissions-for-sse)》。

### 用以取得組態詳細資訊的 IAM 角色政策
<a name="iam-role-policies-describe-apis"></a>

建議使用 AWS Config 服務連結角色：`AWSServiceRoleForConfig`。服務連結角色已預先定義，並包含呼叫其他 AWS Config 所需的所有許可 AWS 服務。 AWS Config 服務連結組態記錄器需要 服務連結角色。如需詳細資訊，請參閱[使用 AWS Config的服務連結角色](https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html)。

如果您使用主控台建立或更新角色， 會為您 AWS Config 連接 **AWSServiceRoleForConfig**。

如果您使用 AWS CLI，請使用 `attach-role-policy`命令並指定 **AWSServiceRoleForConfig** 的 Amazon Resource Name (ARN)：

```
$ aws iam attach-role-policy --role-name {{myConfigRole}} --policy-arn arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForConfig
```

### 管理 S3 儲存貯體記錄的許可
<a name="troubleshooting-recording-s3-bucket-policy"></a>

AWS Config 會在建立、更新或刪除 S3 儲存貯體時記錄和傳送通知。

建議使用 AWS Config 服務連結角色：`AWSServiceRoleForConfig`。服務連結角色已預先定義，並包含呼叫其他 AWS Config 所需的所有許可 AWS 服務。 AWS Config 服務連結組態記錄器需要 服務連結角色。如需詳細資訊，請參閱[使用 AWS Config的服務連結角色](https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html)。