

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Config 配信チャネルの KMS キーのアクセス許可
<a name="s3-kms-key-policy"></a>

S3 バケット配信のために によって配信されるオブジェクトで KMS ベースの暗号化を使用できるようにする S3 AWS Config バケットの AWS KMS キーのポリシーを作成する場合は、このトピックの情報を使用します。

**Contents**
+ [IAM ロールの使用時 (S3 バケット配信) に KMS キーに必要なアクセス許可](#required-permissions-s3-kms-key-using-iam-role)
+ [サービスにリンクされたロールを使用する場合の AWS KMS キーに必要なアクセス許可 (S3 バケット配信)](#required-permissions-s3-kms-key-using-servicelinkedrole)
+ [AWS KMS キー AWS Config へのアクセスの許可](#granting-access-s3-kms-key)

## IAM ロールの使用時 (S3 バケット配信) に KMS キーに必要なアクセス許可
<a name="required-permissions-s3-kms-key-using-iam-role"></a>

IAM ロール AWS Config を使用して を設定する場合は、次のアクセス許可ポリシーを KMS キーにアタッチできます。

```
{
    "Id": "Policy_ID",
    "Statement": [
        {
            "Sid": "AWSConfigKMSPolicy",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Effect": "Allow",
            "Resource": "*myKMSKeyARN*",
            "Principal": {
                "AWS": [
                    "{{account-id1}}",
                    "{{account-id2}}",
                    "{{account-id3}}"
                ]
            }
        }
    ]
}
```

**注記**  
IAM ロール、Amazon S3 バケットポリシー、または AWS KMS キーが適切なアクセスを提供しない場合 AWS Config、設定情報を Amazon AWS Config S3 バケットに送信しようとすると失敗します。 Amazon S3 この場合、 は AWS Config サービスプリンシパルとして情報をもう一度 AWS Config 送信します。この場合、Amazon S3 バケットに情報を配信するときに AWS KMS キーを使用するための AWS Config アクセスを許可するには、以下に説明するアクセス許可ポリシーをキーにアタッチする必要があります。

## サービスにリンクされたロールを使用する場合の AWS KMS キーに必要なアクセス許可 (S3 バケット配信)
<a name="required-permissions-s3-kms-key-using-servicelinkedrole"></a>

 AWS Config サービスにリンクされたロールには、 AWS KMS キーにアクセスするアクセス許可がありません。したがって、サービスにリンクされたロール AWS Config を使用して を設定すると、 AWS Config は代わりにサービスプリンシパルとして AWS Config 情報を送信します。以下に説明するアクセスポリシーを AWS KMS キーにアタッチして、Amazon S3 バケットに情報を配信するときに AWS KMS キーを使用する AWS Config ためのアクセスを許可する必要があります。

## AWS KMS キー AWS Config へのアクセスの許可
<a name="granting-access-s3-kms-key"></a>

このポリシーでは AWS Config 、Amazon S3 バケットに情報を配信するときに が AWS KMS キーを使用できるようにします。

```
{
    "Id": "Policy_ID",
    "Statement": [
        {
            "Sid": "AWSConfigKMSPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "{{myKMSKeyARN}}",
            "Condition": { 
                "StringEquals": {
                    "AWS:SourceAccount": "{{sourceAccountID}}"
                }
            }
        }
    ]
}
```

キーポリシーの以下の数値を置き換えます。
+ {{myKMSKeyARN}} – 設定項目を配信 AWS Config する Amazon S3 バケット内のデータを暗号化するために使用される AWS KMS キーの ARN。
+ {{sourceAccountID}} – AWS Config がターゲットバケットに設定項目を配信するアカウントの ID。

上記の AWS KMS キーポリシーの `AWS:SourceAccount`条件を使用して、Config サービスプリンシパルが特定のアカウントに代わってオペレーションを実行する場合にのみ AWS KMS キーを操作するように制限できます。

AWS Config は、特定の AWS Config 配信チャネルに代わってオペレーションを実行するときに、Config サービスプリンシパルが Amazon S3 バケットとのみやり取りするように制限する `AWS:SourceArn`条件もサポートしています。 AWS Config サービスプリンシパルを使用する場合、 `AWS:SourceArn`プロパティは常に に設定されます`arn:aws:config:sourceRegion:sourceAccountID:*`。ここで、 `sourceRegion` は配信チャネルのリージョンであり、 `sourceAccountID`は配信チャネルを含むアカウントの ID です。 AWS Config 配信チャネルの詳細については、[「配信チャネルの管理](https://docs.aws.amazon.com/config/latest/developerguide/manage-delivery-channel.html)」を参照してください。たとえば、以下の条件を追加すれば、アカウント `us-east-1` の `123456789012` リージョンでの配信チャネルに代わってのみ Config サービスプリンシパルが Amazon S3 バケットと交信するように制限されます: `"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}`。