

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用控制台将日志数据导出到 Amazon S3
<a name="S3ExportTasksConsole"></a>

在以下示例中，您使用亚马逊 CloudWatch 控制台将名为的 Amazon Log CloudWatch s 日志组中的所有数据导出`my-log-group`到名为的 Amazon S3 存储桶`amzn-s3-demo-bucket`。

支持将日志数据导出到由 SSE-KMS 加密的 S3 存储桶。不支持导出到由 DSSE-KMS 加密的存储桶。

有关如何设置导出的详细信息取决于您要导出到的 Amazon S3 存储桶与要导出的日志是位于同一个账户中，还是不同的账户中。

**Topics**
+ [同账号导出（控制台）](#ExportSingleAccount)
+ [跨账户导出（控制台）](#ExportCrossAccount)

## 同账号导出（控制台）
<a name="ExportSingleAccount"></a>

如果 Amazon S3 存储桶与要导出的日志位于同一个账户中，请参阅本节中的说明。

**Topics**
+ [创建 Amazon S3 存储桶（控制台）](#CreateS3BucketConsole)
+ [设置访问权限（控制台）](#CreateIAMUser-With-S3-Access)
+ [在 Amazon S3 存储桶上设置权限（控制台）](#S3PermissionsConsole)
+ [（可选）将使用 SSE-KMS 加密的 Amazon S3 存储桶导出到目标（控制台）](#S3-Export-KMSEncrypted)
+ [创建导出任务（控制台）](#CreateExportTaskConsole)

### 创建 Amazon S3 存储桶（控制台）
<a name="CreateS3BucketConsole"></a>

我们建议您使用专为 Logs 创建的存储 CloudWatch 桶。但是，如果要使用现有存储桶，请跳至第 2 步。

**注意**  
Amazon S3 存储桶必须与要导出的日志数据位于同一区域。 CloudWatch 日志不支持将数据导出到其他区域的 Amazon S3 存储桶。

**创建 Amazon S3 存储桶**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 如果需要，可以更改区域。从导航栏中，选择您的 CloudWatch 日志所在的区域。

1. 选择**创建存储桶**。

1. 对于 **Bucket Name（存储桶名称）**，输入存储桶的名称。

1. 对于**区域**，选择您的 CloudWatch 日志数据所在的区域。

1. 选择**创建**。

### 设置访问权限（控制台）
<a name="CreateIAMUser-With-S3-Access"></a>

要创建导出任务，您需要使用 `AmazonS3ReadOnlyAccess` IAM 角色和以下权限登录：
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

要提供访问权限，请为您的用户、组或角色添加权限：
+ 通过身份提供者在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供者创建角色（联合身份验证）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

### 在 Amazon S3 存储桶上设置权限（控制台）
<a name="S3PermissionsConsole"></a>

默认情况下，所有 Amazon S3 存储桶和对象都是私有的。只有创建存储桶 Amazon Web Services 账户 的资源所有者才能访问该存储桶及其包含的任何对象。不过，资源所有者可以选择通过编写访问策略来向其他资源和用户授予访问权限。

当您设置策略时，建议包含一个随机生成的字符串作为存储桶的前缀，这样只会将目标日志流导出到该存储桶。

**重要**  
为了使导出到 Amazon S3 存储桶更加安全，我们现在要求您指定允许将日志数据导出到 S3 桶的源账户列表。  
在以下示例中，`aws:SourceAccount`密钥 IDs 中的账户列表将是用户可以从中将日志数据导出到您的 Amazon S3 存储桶的账户。`aws:SourceArn` 密钥是正在进行的操作的资源。如本示例所示，您可以将其限制为特定的日志组，也可以使用通配符。  
建议您还包括创建 S3 桶的账户的账户 ID，以允许在同一账户内导出。

**设置 Amazon S3 存储桶上的权限**

1. 在 Amazon S3 控制台中，选择您创建的存储桶。

1. 选择 **Permissions（权限）**、**Bucket policy（存储桶策略）**。

1. 在 **Bucket Policy Editor**（桶策略编辑器）中，添加以下策略。将 `amzn-s3-demo-bucket` 更改为 S3 存储桶的名称。请务必指定正确的区域端点，例如 **Principal（委托人）**的 `us-west-1`。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
             "Sid": "AllowCloudWatchLogsGetBucketAcl",
             "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": "AllowCloudWatchLogsPutObject",
             "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. 选择 **Save**，将您刚添加的策略设置为存储桶上的访问策略。此策略允许 CloudWatch 日志将日志数据导出到您的 Amazon S3 存储桶。存储桶拥有者对所有导出的对象拥有完全权限。
**警告**  
如果现有存储桶已附加了一个或多个策略，请添加该策略的 CloudWatch 日志访问权限声明。我们建议您评估生成的权限集，确保它们适合访问存储桶的用户。

### （可选）将使用 SSE-KMS 加密的 Amazon S3 存储桶导出到目标（控制台）
<a name="S3-Export-KMSEncrypted"></a>

仅当您要导出到使用服务器端加密的 Amazon S3 存储桶时，才需要执行此步骤。 Amazon KMS keys这种加密称为 SSE-KMS。

**导出到使用 SSE-KMS 加密的桶**

1. 在 [https://console.aws.amazon.com/km Amazon KMS](https://console.amazonaws.cn/kms) s 处打开控制台。

1. 要更改 Amazon Web Services 区域，请使用页面右上角的区域选择器。

1. 在左侧导航栏中，选择 **Customer managed keys**（客户托管密钥）。

   选择 **Create Key**（创建密钥）。

1. 对于**密钥类型**，选择**对称**。

1. 对于 **Key usage**（密钥用法），选择 **Encrypt and decrypt**（加密和解密），然后选择 **Next**（下一步）。

1. 在 **Add labels**（添加标签）下，输入密钥的别名，并添加描述或标签（可选）。然后选择**下一步**。

1. 在 **Key administrators**（密钥管理员）下，选择可以管理此密钥的人员，然后选择 **Next**（下一步）。

1. 在 **Define key usage permissions**（定义密钥使用权限）下，不进行任何更改并选择 **Next**（下一步）。

1. 检查设置，然后选择 **Finish**（完成）。

1. 返回 **Customer managed keys**（客户托管密钥）页面，选择您刚刚创建的密钥的名称。

1. 选择 **Key policy**（密钥策略）选项卡，然后选择 **Switch to policy view**（切换到策略视图）。

1. 在 **Key policy**（密钥策略）部分，选择 **Edit**（编辑）。

1. 将以下语句添加到密钥策略语句列表。完成后，请*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. 选择**保存更改**。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 找到您在 [创建 S3 存储桶 (CLI)](S3ExportTasks.md#CreateS3Bucket) 中创建的桶并选择桶名称。

1. 选择**属性**选项卡。然后，在 **Default Encryption**（默认加密）下，选择 **Edit**（编辑）。

1. 在 **Server-side Encryption**（服务器端加密）下，选择 **Enable**（启用）。

1. 在**加密类型**下，请选择**Amazon Key Management Service 密钥（SSE-KMS）**。

1. **选择从 Amazon KMS 密钥**中选择，然后找到您创建的密钥。

1. 对于 **Bucket Key**（桶密钥），选择 **Enable**（启用）。

1. 选择**保存更改**。

### 创建导出任务（控制台）
<a name="CreateExportTaskConsole"></a>

在此过程中，您将创建用于从日志组中导出日志的导出任务。

**使用 CloudWatch 控制台将数据导出到 Amazon S3**

1. 如 [设置访问权限（控制台）](#CreateIAMUser-With-S3-Access) 中所述，使用足够的权限登录。

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1. 在导航窗格中，选择**日志组**。

1. 在 **Log Groups（日志组）**屏幕上，选择日志组的名称。

1. 选择 **Actions（操作）**、**Export data to Amazon S3（将数据导出到 Amazon S3）**。

1. 在 **Export data to Amazon S3（将数据导出到 Amazon S3）**屏幕的 **Define data export（定义数据导出）**下，使用 **From（从）**和 **To（至）**设置要导出的数据的时间范围。

1. 如果日志组有多个日志流，您可以提供一个日志流前缀，将日志组数据限定为特定流。选择 **Advanced（高级）**，然后为 **Stream prefix（流前缀)**输入日志流前缀。

1. 在 **Choose S3 bucket**（选择 S3 桶）下，选择与 S3 桶关联的账户。

1. 对于 **S3 存储桶名称**，请选择一个 S3 存储桶。

1. 对于 **S3 Bucket prefix（S3 存储桶前缀）**，输入在存储桶策略中指定的随机生成的字符串。

1. 选择 **Export（导出）**，将日志数据导出到 Amazon S3。

1. 要查看您导出到 Amazon S3 的日志数据的状态，请依次选择 **Actions（操作）**、**View all exports to Amazon S3（查看导出到 Amazon S3 的所有内容）**。

## 跨账户导出（控制台）
<a name="ExportCrossAccount"></a>

如果 Amazon S3 存储桶与要导出的日志位于不同账户中，请参阅本节中的说明。

**Topics**
+ [创建用于跨账户导出的 Amazon S3 存储桶（控制台）](#CreateS3BucketConsole-crossaccount)
+ [设置跨账户导出的访问权限（控制台）](#CreateIAMUser-With-S3-Access-crossaccount)
+ [在 S3 存储桶上设置跨账户导出权限（控制台）](#S3PermissionsConsole-crossaccount)
+ [（可选）将使用 SSE-KMS 加密的 Amazon S3 存储桶导出到目标以进行跨账户导出（控制台）](#S3-Export-KMSEncrypted-crossaccount)
+ [为跨账户导出创建导出任务（控制台）](#CreateExportTaskConsole-crossaccount)

### 创建用于跨账户导出的 Amazon S3 存储桶（控制台）
<a name="CreateS3BucketConsole-crossaccount"></a>

我们建议您使用专为 Logs 创建的存储 CloudWatch 桶。但是，如果您想使用现有的存储桶，则可以跳过此过程。

**注意**  
Amazon S3 存储桶必须与要导出的日志数据位于同一区域。 CloudWatch 日志不支持将数据导出到其他区域的 Amazon S3 存储桶。

**创建 Amazon S3 存储桶**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 如果需要，可以更改区域。从导航栏中，选择您的 CloudWatch 日志所在的区域。

1. 选择**创建存储桶**。

1. 对于 **Bucket Name（存储桶名称）**，输入存储桶的名称。

1. 对于**区域**，选择您的 CloudWatch 日志数据所在的区域。

1. 选择**创建**。

### 设置跨账户导出的访问权限（控制台）
<a name="CreateIAMUser-With-S3-Access-crossaccount"></a>

首先，您必须创建新的 IAM 策略，以使 CloudWatch Logs 能够在目标账户中对目标 Amazon S3 存储桶`s3:PutObject`执行操作。

除了`s3:PutObject`操作外，策略中包含的其他操作还取决于目标存储桶是使用 Amazon KMS 加密还是已使用 [S3 对象所有权](https://docs.amazonaws.cn/AmazonS3/latest/userguide/about-object-ownership.html)设置 ACLs 启用。
+ 如果使用 KMS 加密，请为密钥资源添加 `kms:GenerateDataKey` 和 `kms:Decrypt` 操作
+ 如果 ACLs 在存储桶上启用，请为存储桶资源添加`s3:PutObjectAcl`操作

在以下策略中更改`amzn-s3-demo-bucket`目标 S3 存储桶的名称。

**创建 IAM policy 以将日志导出到 Amazon S3 存储桶**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.amazonaws.cn/iam/) 打开 IAM 控制台。

1. 在左侧的导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON**。

1. 如果目标存储桶不使用 Amazon KMS 加密，请将以下策略粘贴到编辑器中。

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

****  

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

------

    如果目标存储桶确实使用了 Amazon 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 在目标存储桶上启用了，则在上述策略中PutObjectAcl将 s3: 添加到 s3: PutObject 操作块。

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

****  

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

------

1. 选择**下一步**。

1. 输入策略名称。您将使用此名称将策略附加到您的 IAM 角色。

1. 选择**创建策略**以保存新策略。

要创建导出任务，您必须使用附加了`AmazonS3ReadOnlyAccess`托管策略、上面创建的 IAM 策略的 IAM 角色以及以下权限登录：
+ `logs:CreateExportTask`
+ `logs:CancelExportTask`
+ `logs:DescribeExportTasks`
+ `logs:DescribeLogStreams`
+ `logs:DescribeLogGroups`

要提供访问权限，请为您的用户、组或角色添加权限：
+ 通过身份提供者在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供者创建角色（联合身份验证）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

### 在 S3 存储桶上设置跨账户导出权限（控制台）
<a name="S3PermissionsConsole-crossaccount"></a>

默认情况下，所有 S3 桶和对象都是私有的。只有创建存储桶 Amazon Web Services 账户 的资源所有者才能访问该存储桶及其包含的任何对象。不过，资源所有者可以选择通过编写访问策略来向其他资源和用户授予访问权限。

当您设置策略时，建议包含一个随机生成的字符串作为存储桶的前缀，这样只会将目标日志流导出到该存储桶。

**重要**  
为了使导出到 S3 桶更加安全，我们现在要求您指定允许将日志数据导出到 S3 桶的源账户列表。  
在以下示例中，`aws:SourceAccount`密钥 IDs 中的账户列表将是用户可以从中将日志数据导出到您的 S3 存储桶的账户。`aws:SourceArn` 密钥是正在进行的操作的资源。如本示例所示，您可以将其限制为特定的日志组，也可以使用通配符。  
建议您还包括创建 S3 桶的账户的账户 ID，以允许在同一账户内导出。

**设置 Amazon S3 存储桶上的权限**

1. 在 Amazon S3 控制台中，选择您创建的存储桶。

1. 选择 **Permissions（权限）**、**Bucket policy（存储桶策略）**。

1. 在 **Bucket Policy Editor**（桶策略编辑器）中，添加以下策略。将 `amzn-s3-demo-bucket` 更改为 S3 存储桶的名称。请务必指定正确的区域端点，例如 **Principal（委托人）**的 `us-east-1`。

------
#### [ 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. 选择 **Save**，将您刚添加的策略设置为存储桶上的访问策略。此策略允许 CloudWatch 日志将日志数据导出到您的 S3 存储桶。存储桶拥有者对所有导出的对象拥有完全权限。
**警告**  
如果现有存储桶已附加了一个或多个策略，请添加该策略的 CloudWatch 日志访问权限声明。我们建议您评估生成的权限集，确保它们适合访问存储桶的用户。

### （可选）将使用 SSE-KMS 加密的 Amazon S3 存储桶导出到目标以进行跨账户导出（控制台）
<a name="S3-Export-KMSEncrypted-crossaccount"></a>

仅当您要导出到使用服务器端加密的 S3 存储桶时，才需要执行此过程。 Amazon KMS keys这种加密称为 SSE-KMS。

**导出到使用 SSE-KMS 加密的桶**

1. 在 [https://console.aws.amazon.com/km Amazon KMS](https://console.amazonaws.cn/kms) s 处打开控制台。

1. 要更改 Amazon Web Services 区域，请使用页面右上角的区域选择器。

1. 在左侧导航栏中，选择 **Customer managed keys**（客户托管密钥）。

   选择 **Create Key**（创建密钥）。

1. 对于**密钥类型**，选择**对称**。

1. 对于 **Key usage**（密钥用法），选择 **Encrypt and decrypt**（加密和解密），然后选择 **Next**（下一步）。

1. 在 **Add labels**（添加标签）下，输入密钥的别名，并添加描述或标签（可选）。然后选择**下一步**。

1. 在 **Key administrators**（密钥管理员）下，选择可以管理此密钥的人员，然后选择 **Next**（下一步）。

1. 在 **Define key usage permissions**（定义密钥使用权限）下，不进行任何更改并选择 **Next**（下一步）。

1. 检查设置，然后选择 **Finish**（完成）。

1. 返回 **Customer managed keys**（客户托管密钥）页面，选择您刚刚创建的密钥的名称。

1. 选择 **Key policy**（密钥策略）选项卡，然后选择 **Switch to policy view**（切换到策略视图）。

1. 在 **Key policy**（密钥策略）部分，选择 **Edit**（编辑）。

1. 将以下语句添加到密钥策略语句列表。完成后，将*us-east-1*替换为日志区域、拥*account-ARN*有 KMS 密钥的账户的 ARN、*123456789012*拥有 KMS 密钥的账号、*key\$1id* kms-key ID 以及用于创建导出任务*role\$1name*的角色。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Allow CWL Service Principal usage",
               "Effect": "Allow",
               "Principal": {
               "Service": "logs.us-east-1.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": "*"
           },
           {
               "Sid": "Enable IAM Role Permissions",
               "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/key-id"
           }
       ]
   }
   ```

------

1. 选择**保存更改**。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 找到您在 [创建 S3 存储桶 (CLI)](S3ExportTasks.md#CreateS3Bucket) 中创建的桶并选择桶名称。

1. 选择**属性**选项卡。然后，在 **Default Encryption**（默认加密）下，选择 **Edit**（编辑）。

1. 在 **Server-side Encryption**（服务器端加密）下，选择 **Enable**（启用）。

1. 在**加密类型**下，请选择**Amazon Key Management Service 密钥（SSE-KMS）**。

1. **选择从 Amazon KMS 密钥**中选择，然后找到您创建的密钥。

1. 对于 **Bucket Key**（桶密钥），选择 **Enable**（启用）。

1. 选择**保存更改**。

### 为跨账户导出创建导出任务（控制台）
<a name="CreateExportTaskConsole-crossaccount"></a>

在此过程中，您将创建用于从日志组中导出日志的导出任务。

**使用 CloudWatch 控制台将数据导出到 Amazon S3**

1. 如 [设置访问权限（控制台）](#CreateIAMUser-With-S3-Access) 中所述，使用足够的权限登录。

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1. 在导航窗格中，选择**日志组**。

1. 在 **Log Groups（日志组）**屏幕上，选择日志组的名称。

1. 选择 **Actions（操作）**、**Export data to Amazon S3（将数据导出到 Amazon S3）**。

1. 在 **Export data to Amazon S3（将数据导出到 Amazon S3）**屏幕的 **Define data export（定义数据导出）**下，使用 **From（从）**和 **To（至）**设置要导出的数据的时间范围。

1. 如果日志组有多个日志流，您可以提供一个日志流前缀，将日志组数据限定为特定流。选择 **Advanced（高级）**，然后为 **Stream prefix（流前缀)**输入日志流前缀。

1. 在 **Choose S3 bucket**（选择 S3 桶）下，选择与 S3 桶关联的账户。

1. 对于 **S3 bucket name**（S3 桶名称），选择 S3 桶。

1. 对于 **S3 Bucket prefix（S3 存储桶前缀）**，输入在存储桶策略中指定的随机生成的字符串。

1. 选择 **Export（导出）**，将日志数据导出到 Amazon S3。

1. 要查看您导出到 Amazon S3 的日志数据的状态，请依次选择 **Actions（操作）**、**View all exports to Amazon S3（查看导出到 Amazon S3 的所有内容）**。