

# 加密在 Amazon S3 中存储的 Athena 查询结果
<a name="encrypting-query-results-stored-in-s3"></a>

使用 Athena 控制台或使用 JDBC 或 ODBC 时设置查询结果加密。使用工作组可以强制对查询结果实施加密。

**注意**  
加密查询结果时，Athena 会加密由查询写入的所有对象。这包括 `INSERT INTO` 和 `UPDATE` 等语句以及对 Iceberg 或其他格式数据的查询结果。

在控制台中，您可以通过两种方式配置对查询结果加密的设置：
+ **客户端设置** - 当您在控制台中使用 **Settings**（设置） 或者 API 操作来指示您希望加密查询结果时，这称为使用客户端设置。客户端设置包括查询结果位置和加密。如果您指定这些内容，则除非工作组设置进行覆盖，否则将使用它们。
+ **Workgroup settings**（工作组设置）– 当您[创建或编辑工作组](creating-workgroups.md)并选择 **Override client-side settings**（覆盖客户端设置）字段时，此工作组中运行的所有查询均使用工作组设置和查询结果位置设置。有关更多信息，请参阅 [Override client-side settings (覆盖客户端设置)](workgroups-settings-override.md)。

**使用控制台加密在 Amazon S3 中存储的查询结果**
**重要**  
如果工作组中的 **Override client-side settings**（覆盖客户端设置）字段已被选中，则工作组中的所有查询均使用工作组设置。不使用通过 Athena 控制台的**设置**选项卡、API 操作及 JDBC 和 ODBC 驱动程序指定的加密配置和查询结果位置。有关更多信息，请参阅 [Override client-side settings (覆盖客户端设置)](workgroups-settings-override.md)。

1. 在 Athena 控制台中，选择 **Settings**（设置）。  
![\[Athena 查询编辑器的设置选项卡。\]](http://docs.aws.amazon.com/zh_cn/athena/latest/ug/images/settings.png)

1. 选择**管理**。

1. 在 **Location of query result**（查询结果位置）中，输入或选择 Amazon S3 路径。这是存储查询结果的 Amazon S3 位置。

1. 选择 **Encrypt query results**。  
![\[Athena 控制台管理设置页面上的加密查询结果选项。\]](http://docs.aws.amazon.com/zh_cn/athena/latest/ug/images/encrypt-query-results.png)

1. 对于 **Encryption type**，选择 **CSE-KMS**、**SSE-KMS** 或 **SSE-S3**。在这三者中，**CSE-KMS** 提供的加密级别最高，**SSE-S3** 提供的加密级别最低。

1. 如果您选择了 **SSE-KMS** 或 **CSE-KMS**，则指定 AWS KMS 密钥。
   + 对于**选择 AWS KMS 密钥**，如果您的账户有权访问某个现有 AWS KMS 客户自主管理型密钥，请选择其别名或输入 AWS KMS 密钥 ARN。
   +  如果您的账户无权访问某个现有的客户自主管理型密钥，请选择**创建 AWS KMS 密钥**，然后打开 [AWS KMS 控制台](https://console.aws.amazon.com/kms)。有关更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[创建密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
**注意**  
Athena 仅支持读取和写入数据的对称密钥。

1. 返回 Athena 控制台，选择您通过别名或 ARN 创建的密钥。

1. 选择**保存**。

## 使用 JDBC 或 ODBC 时对 Athena 查询结果进行加密
<a name="encrypting-query-results-stored-in-s3-jdbc-odbc"></a>

如果您使用 JDBC 或 ODBC 驱动程序进行连接，请配置驱动程序选项来指定要使用的加密类型以及 Amazon S3 暂存目录位置。要配置 JDBC 或 ODBC 驱动程序以使用 Athena 支持的任何加密协议加密查询结果，请参阅[通过 ODBC 和 JDBC 驱动程序连接到 Amazon Athena](athena-bi-tools-jdbc-odbc.md)。