

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

# を使用してログデータを Amazon S3 にエクスポートする AWS CLI
<a name="S3ExportTasks"></a>

次の例では、エクスポートタスクを使用して、すべてのデータを `my-log-group` という名前の CloudWatch Logs ロググループから `amzn-s3-demo-bucket` という名前の Amazon S3 バケットにエクスポートします。この例では、「`my-log-group`」というロググループを作成済みであることを前提としています。

で暗号化された S3 バケットへのログデータのエクスポート AWS KMS がサポートされています。DSSE-KMS で暗号化されたバケットへのエクスポートはサポートされていません。

エクスポートの設定方法の詳細は、エクスポート先の Amazon S3 バケットがエクスポート対象のログと同じアカウントにあるか、別のアカウントにあるかによって異なります。

**Topics**
+ [同一アカウントのエクスポート (CLI)](#ExportSingleAccount-CLI)
+ [クロスアカウントエクスポート (CLI)](#ExportCrossAccount-CLI)

## 同一アカウントのエクスポート (CLI)
<a name="ExportSingleAccount-CLI"></a>

Amazon S3 バケットがエクスポート対象のログと同じアカウントにある場合は、このセクションの手順を使用してください。

**Topics**
+ [S3 バケットを作成する (CLI)](#CreateS3Bucket)
+ [アクセス許可の設定 (CLI)](#CreateIAMUser-With-S3-Access-CLI)
+ [S3 バケットに対するアクセス許可の設定 (CLI)](#S3Permissions)
+ [(オプション) SSE-KMS で暗号化された送信先 Amazon S3 バケットへのエクスポート (CLI)](#S3-Export-KMSEncrypted-CLI)
+ [エクスポートタスクを作成する (CLI)](#CreateExportTask)

### S3 バケットを作成する (CLI)
<a name="CreateS3Bucket"></a>

CloudWatch Logs 専用に作成したバケットを使用することをお勧めします。ただし、既存のバケットを使用する場合は、この手順をスキップできます。

**注記**  
S3 バケットは、エクスポートするログデータと同じリージョンに存在している必要があります。CloudWatch Logs は、別のリージョンの S3 バケットへのデータのエクスポートをサポートしていません。

**を使用して S3 バケットを作成するには AWS CLI**  
コマンドプロンプトで、次の [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) コマンドを実行します。ここで、`LocationConstraint` はログデータをエクスポートするリージョンです。

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-2
```

以下は出力の例です。

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```

### アクセス許可の設定 (CLI)
<a name="CreateIAMUser-With-S3-Access-CLI"></a>

後でエクスポートタスクを作成するには、IAM `AmazonS3ReadOnlyAccess` ロールと次のアクセス許可を使用してサインオンする必要があります。
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

### S3 バケットに対するアクセス許可の設定 (CLI)
<a name="S3Permissions"></a>

すべての S3 バケットとオブジェクトは、デフォルト状態でプライベートに設定されます。バケットを作成したアカウント (リソース所有者) のみが、バケットとそれに含まれるオブジェクトにアクセスできます。ただし、リソース所有者は、アクセスポリシーを記述することで他のリソースおよびユーザーにアクセス権限を付与することができます。

**重要**  
S3 バケットへのエクスポートをより安全にするために、ログデータを S3 バケットにエクスポートできるソースアカウントのリストの指定が必要になりました。  
次の例では、`aws:SourceAccount` キー内のアカウント ID のリストにあるのは、ユーザーがログデータを S3 バケットにエクスポートできるアカウントです。`aws:SourceArn` キーは、アクションが実行される対象のリソースです。これを特定のロググループに制限することも、この例のようにワイルドカードを使用することもできます。  
S3 バケットが作成されたアカウントのアカウント ID も含めることで、エクスポートを同じアカウント内で行えるようにすることをお勧めします。

**S3 バケットでアクセス許可を設定するには**

1. `policy.json` という名前のファイルを作成し、次のアクセスポリシーを追加します。このとき、`amzn-s3-demo-bucket` を S3 バケットの名前に変更し、`Principal` をログデータのエクスポート先のリージョンのエンドポイント (`us-east-1` など) に変更します。テキストエディタを使用してこのポリシーファイルを作成します。IAM コンソールを使用しないでください。

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

****  

   ```
    
       {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
             "Sid": "AllowGetBucketAcl",
             "Action": "s3:GetBucketAcl",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": [
                       "123456789012",
                       "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:logs:us-east-1:123456789012:log-group:*",
                           "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         },
         {
             "Sid": "AllowPutObject",
             "Action": "s3:PutObject",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control",
                   "aws:SourceAccount": [
                       "123456789012",
                       "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                           "arn:aws:logs:us-east-1:123456789012:log-group:*",
                           "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         }
       ]
   }
   ```

------

1. [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html) コマンドを使用して、バケットでアクセスポリシーとして先ほど追加したポリシーを設定します。このポリシーにより、CloudWatch Logs は S3 バケットにログデータをエクスポートできるようになります。バケット所有者には、エクスポートされたすべてのオブジェクトに対する完全なアクセス権限があります。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**警告**  
バケットにアタッチされているポリシーがすでに 1 つ以上ある場合は、そのポリシーに CloudWatch Logs アクセスのステートメントを追加します。バケットにアクセスするユーザーに適したアクセス許可であることを確認するために、アクセス許可の結果セットを評価することをお勧めします。

### (オプション) SSE-KMS で暗号化された送信先 Amazon S3 バケットへのエクスポート (CLI)
<a name="S3-Export-KMSEncrypted-CLI"></a>

この手順は、 でサーバー側の暗号化を使用する S3 バケットにエクスポートする場合にのみ必要です AWS KMS keys。この暗号化は SSE−KMS と呼ばれます。

**SSE-KMS で暗号化されたバケットにエクスポートするには**

1. テキストエディタを使用して `key_policy.json` という名前のファイルを作成し、以下のアクセスポリシーを追加します。ポリシーを追加する際、以下の点を変更します。
   + *Region* を、実際のログのリージョンに置き換えます。
   + *account-ARN* を、KMS キーを所有するアカウントの ARN に置き換えます。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Allow CWL Service Principal usage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logs.Region.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "Enable IAM User Permissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "account-ARN"
               },
               "Action": [
                   "kms:GetKeyPolicy*",
                   "kms:PutKeyPolicy*",
                   "kms:DescribeKey*",
                   "kms:CreateAlias*",
                   "kms:ScheduleKeyDeletion*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 次のコマンドを入力します。

   ```
   aws kms create-key --policy file://key_policy.json
   ```

   以下は、このコマンドに対する出力例です。

   ```
   {
       "KeyMetadata": {
           "AWSAccountId": "account_id",
           "KeyId": "key_id",
           "Arn": "arn:aws:kms:us-east-2:account-ARN:key/key_id",
           "CreationDate": "time",
           "Enabled": true,
           "Description": "",
           "KeyUsage": "ENCRYPT_DECRYPT",
           "KeyState": "Enabled",
           "Origin": "AWS_KMS",
           "KeyManager": "CUSTOMER",
           "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
           "KeySpec": "SYMMETRIC_DEFAULT",
           "EncryptionAlgorithms": [
               "SYMMETRIC_DEFAULT"
           ],
           "MultiRegion": false
       }
   ```

1. テキストエディタを使用して、`bucketencryption.json` という名前のファイルを作成し、次の内容を記述します。

   ```
   {
     "Rules": [
       {
         "ApplyServerSideEncryptionByDefault": {
           "SSEAlgorithm": "aws:kms",
           "KMSMasterKeyID": "{KMS Key ARN}"
         },
         "BucketKeyEnabled": true
       }
     ]
   }
   ```

1. *amzn-s3-demo-bucket* を、ログをエクスポートするバケットの名前に置き換えて、次のコマンドを入力します。

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration file://bucketencryption.json
   ```

   コマンドがエラーを返さなければ、このプロセスは成功しています。

### エクスポートタスクを作成する (CLI)
<a name="CreateExportTask"></a>

次の コマンドを使用してエクスポートタスクを作成します。作成すると、エクスポートするデータのサイズに応じて、エクスポートタスクに数秒から数時間かかる可能性があります。

**を使用して Amazon S3 にデータをエクスポートするには AWS CLI**

1. [アクセス許可の設定 (CLI)](#CreateIAMUser-With-S3-Access-CLI) に記載されているように、十分なアクセス許可を使用してサインインします。

1. コマンドプロンプトで、次の [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html) コマンドを使用してエクスポートタスクを作成します。

   ```
   aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from 1441490400000 --to 1441494000000 --destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"
   ```

   以下は出力の例です。

   ```
   {
       "taskId": "cda45419-90ea-4db5-9833-aade86253e66"
   }
   ```

## クロスアカウントエクスポート (CLI)
<a name="ExportCrossAccount-CLI"></a>

Amazon S3 バケットがエクスポート対象のログとは別のアカウントにある場合は、このセクションの手順を使用してください。

**Topics**
+ [クロスアカウントエクスポート用の S3 バケットを作成する (CLI)](#CreateS3Bucket-CLI-crossaccount)
+ [クロスアカウントエクスポートのアクセス許可を設定する (CLI)](#CreateIAMUser-With-S3-Access-CLI-crossaccount)
+ [クロスアカウントエクスポート用に S3 バケットにアクセス許可を設定する (CLI)](#S3Permissions-CLI-crossaccount)
+ [(オプション) クロスアカウントエクスポート (CLI) のために SSE-KMS で暗号化された送信先 Amazon S3 バケットへのエクスポート](#S3-Export-KMSEncrypted-CLI-crossaccount)
+ [クロスアカウントエクスポートのエクスポートタスクを作成する (CLI)](#CreateExportTask-CLI-crossaccount)

### クロスアカウントエクスポート用の S3 バケットを作成する (CLI)
<a name="CreateS3Bucket-CLI-crossaccount"></a>

CloudWatch Logs 専用に作成したバケットを使用することをお勧めします。ただし、既存のバケットを使用する場合は、ステップ 2 に進むことができます。

**注記**  
S3 バケットは、エクスポートするログデータと同じリージョンに存在している必要があります。CloudWatch Logs は、別のリージョンの S3 バケットへのデータのエクスポートをサポートしていません。

**を使用して S3 バケットを作成するには AWS CLI**  
コマンドプロンプトで、次の [create-bucket](https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html) コマンドを実行します。ここで、`LocationConstraint` はログデータをエクスポートするリージョンです。

```
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-2
```

以下は出力の例です。

```
{
    "Location": "/amzn-s3-demo-bucket"
}
```

### クロスアカウントエクスポートのアクセス許可を設定する (CLI)
<a name="CreateIAMUser-With-S3-Access-CLI-crossaccount"></a>

まず、新しい IAM ポリシーを作成して、CloudWatch Logs が送信先アカウントの宛先 Amazon S3 バケットへの `s3:PutObject` アクションを有効にする必要があります。

`s3:PutObject` アクションに加えて、ポリシーに含まれる追加のアクションは、送信先バケットが AWS KMS 暗号化を使用しているか、[S3 オブジェクト所有権](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)設定を使用して ACLs が有効になっているかによって異なります。
+ KMS 暗号化を使用している場合は、キーリソースの `kms:GenerateDataKey` および `kms:Decrypt` アクションを追加します。
+ バケットで ACL が有効化されている場合、バケットリソースに `s3:PutObjectAcl` アクションを追加します。

次のポリシーで、 を送信先 S3 バケットの名前`amzn-s3-demo-bucket`に変更します。

作成するポリシーは、宛先バケットが  AWS KMS  暗号化を使用するかどうかによって異なります。 AWS KMS 暗号化を使用しない場合は、次の内容のポリシーを作成します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

送信先バケットが AWS KMS 暗号化を使用している場合は、次の内容のポリシーを作成します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------

送信先バケットで ACLsは、上記のポリシーで s3:PutObjectAcl を s3:PutObject Action ブロックに追加します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject",
               "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

エクスポートタスクを作成するには、 `AmazonS3ReadOnlyAccess`管理ポリシーがアタッチされた IAM ロール、上記で作成された IAM ポリシー、および次のアクセス許可を使用してサインインする必要があります。
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

### クロスアカウントエクスポート用に S3 バケットにアクセス許可を設定する (CLI)
<a name="S3Permissions-CLI-crossaccount"></a>

すべての S3 バケットとオブジェクトは、デフォルト状態でプライベートに設定されます。バケットを作成したアカウント (リソース所有者) のみが、バケットとそれに含まれるオブジェクトにアクセスできます。ただし、リソース所有者は、アクセスポリシーを記述することで他のリソースおよびユーザーにアクセス権限を付与することができます。

**重要**  
S3 バケットへのエクスポートをより安全にするために、ログデータを S3 バケットにエクスポートできるソースアカウントのリストの指定が必要になりました。  
次の例では、`aws:SourceAccount` キー内のアカウント ID のリストにあるのは、ユーザーがログデータを S3 バケットにエクスポートできるアカウントです。`aws:SourceArn` キーは、アクションが実行される対象のリソースです。これを特定のロググループに制限することも、この例のようにワイルドカードを使用することもできます。  
S3 バケットが作成されたアカウントのアカウント ID も含めることで、エクスポートを同じアカウント内で行えるようにすることをお勧めします。

**S3 バケットでアクセス許可を設定するには**

1. という名前のファイルを作成し、送信先 S3 バケットの名前`amzn-s3-demo-bucket`を などのログデータをエクスポートするリージョンのエンドポイントに変更`Principal`して、次のアクセスポリシー`policy.json`を追加します`us-west-1`。テキストエディタを使用してこのポリシーファイルを作成します。IAM コンソールを使用しないでください。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
             "Action": "s3:GetBucketAcl",
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": [
                   "123456789012",
                   "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                       "arn:aws:logs:us-east-1:123456789012:log-group:*",
                       "arn:aws:logs:us-east-1:111122223333:log-group:*"
                        ]
               }
             }
         },
         {
             "Action": "s3:PutObject" ,
             "Effect": "Allow",
             "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
             "Principal": { "Service": "logs.us-east-1.amazonaws.com" },
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control",
                   "aws:SourceAccount": [
                   "123456789012",
                   "111122223333"
                   ]
               },
               "ArnLike": {
                       "aws:SourceArn": [
                       "arn:aws:logs:us-east-1:123456789012:log-group:*",
                       "arn:aws:logs:us-east-1:111122223333:log-group:*"
                       ]
               }
             }
         },
         {
             "Effect": "Allow",
             "Principal": {
             "AWS": "arn:aws:iam::111122223333:role/role_name"
             },
             "Action": "s3:PutObject",
             "Resource": "arn:aws:s3:::>amzn-s3-demo-bucket/*",
             "Condition": {
               "StringEquals": {
                   "s3:x-amz-acl": "bucket-owner-full-control"
               }
             }
          }
       ]
   }
   ```

------

1. [put-bucket-policy](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html) コマンドを使用して、バケットでアクセスポリシーとして先ほど追加したポリシーを設定します。このポリシーにより、CloudWatch Logs は S3 バケットにログデータをエクスポートできるようになります。バケット所有者には、エクスポートされたすべてのオブジェクトに対する完全なアクセス権限があります。

   ```
   aws s3api put-bucket-policy --bucket amzn-s3-demo-bucket --policy file://policy.json
   ```
**警告**  
バケットにアタッチされているポリシーがすでに 1 つ以上ある場合は、そのポリシーに CloudWatch Logs アクセスのステートメントを追加します。バケットにアクセスするユーザーに適したアクセス許可であることを確認するために、アクセス許可の結果セットを評価することをお勧めします。

### (オプション) クロスアカウントエクスポート (CLI) のために SSE-KMS で暗号化された送信先 Amazon S3 バケットへのエクスポート
<a name="S3-Export-KMSEncrypted-CLI-crossaccount"></a>

この手順は、 でサーバー側の暗号化を使用する S3 バケットにエクスポートする場合にのみ必要です AWS KMS keys。この暗号化は SSE−KMS と呼ばれます。

**SSE-KMS で暗号化されたバケットにエクスポートするには**

1. テキストエディタを使用して `key_policy.json` という名前のファイルを作成し、以下のアクセスポリシーを追加します。ポリシーを追加する際、以下の点を変更します。
   + *us-east-1* をログのリージョンに置き換えます。
   + *account-ARN* を、KMS キーを所有するアカウントの ARN に置き換えます。
   + *123456789012* を KMS キーを所有するアカウント番号に置き換えます。
   + *key\$1id* と kms-key ID。
   + *role\$1name* は、エクスポートタスクの作成に使用されるロールです。

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

****  

   ```
       {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCWLServicePrincipalUsage",
               "Effect": "Allow",
               "Principal": {
                   "Service": "logs.us-east-1.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "EnableIAMUserPermissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "account-ARN"
               },
               "Action": [
                   "kms:GetKeyPolicy*",
                   "kms:PutKeyPolicy*",
                   "kms:DescribeKey*",
                   "kms:CreateAlias*",
                   "kms:ScheduleKeyDeletion*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           },
           {
               "Sid": "EnableIAMRolePermissions",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/role_name"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
       ]
   }
   ```

------

1. 次のコマンドを入力します。

   ```
   aws kms create-key --policy file://key_policy.json
   ```

   以下は、このコマンドに対する出力例です。

   ```
   {
       "KeyMetadata": {
           "AWSAccountId": "account_id",
           "KeyId": "key_id",
           "Arn": "arn:aws:kms:us-east-1:123456789012:key/key_id",
           "CreationDate": "time",
           "Enabled": true,
           "Description": "",
           "KeyUsage": "ENCRYPT_DECRYPT",
           "KeyState": "Enabled",
           "Origin": "AWS_KMS",
           "KeyManager": "CUSTOMER",
           "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
           "KeySpec": "SYMMETRIC_DEFAULT",
           "EncryptionAlgorithms": [
               "SYMMETRIC_DEFAULT"
           ],
           "MultiRegion": false
       }
   ```

1. テキストエディタを使用して、`bucketencryption.json` という名前のファイルを作成し、次の内容を記述します。

   ```
   {
     "Rules": [
       {
         "ApplyServerSideEncryptionByDefault": {
           "SSEAlgorithm": "aws:kms",
           "KMSMasterKeyID": "{KMS Key ARN}"
         },
         "BucketKeyEnabled": true
       }
     ]
   }
   ```

1. 次のコマンドを入力し、*amzn-s3-demo-bucket* を、ログをエクスポートするバケットの名前に置き換えます。

   ```
   aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration file://bucketencryption.json
   ```

   コマンドがエラーを返さなければ、このプロセスは成功しています。

### クロスアカウントエクスポートのエクスポートタスクを作成する (CLI)
<a name="CreateExportTask-CLI-crossaccount"></a>

次の コマンドを使用してエクスポートタスクを作成します。作成すると、エクスポートするデータのサイズに応じて、エクスポートタスクに数秒から数時間かかる可能性があります。

**を使用して Amazon S3 にデータをエクスポートするには AWS CLI**

1. [アクセス許可の設定 (CLI)](#CreateIAMUser-With-S3-Access-CLI) に記載されているように、十分なアクセス許可を使用してサインインします。

1. コマンドプロンプトで、次の [create-export-task](https://docs.aws.amazon.com/cli/latest/reference/logs/create-export-task.html) コマンドを使用してエクスポートタスクを作成します。

   ```
   aws logs create-export-task --profile CWLExportUser --task-name "my-log-group-09-10-2015" --log-group-name "my-log-group" --from 1441490400000 --to 1441494000000 --destination "amzn-s3-demo-bucket" --destination-prefix "export-task-output"
   ```

   以下は出力の例です。

   ```
   {
       "taskId": "cda45419-90ea-4db5-9833-aade86253e66"
   }
   ```