

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

# 在 Amazon RDS for SQL Server 中启用透明数据加密
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server"></a>

*Ranga Cherukuri，Amazon Web Services*

## Summary
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-summary"></a>

本示例介绍了如何在 Amazon Relational Database Service (Amazon RDS) 中实现透明数据加密 (TDE)，让 SQL Server 对静态数据进行加密。

## 先决条件和限制
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account
+ Amazon RDS for SQL Server 数据库实例

**产品版本**

Amazon RDS 当前支持在以下 SQL Server 版本中使用 TDE：
+ SQL Server 2016 企业版
+ SQL Server 2017 企业版
+ SQL Server 2019 标准版和企业版
+ SQL Server 2022 标准版和企业版

有关支持的版本和版本的最新信息，请参阅 Amazon RDS 文档中的 [SQL Server 中对透明数据加密的支持](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html)。

## 架构
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-architecture"></a>

**技术堆栈**
+ Amazon RDS for SQL Server

**架构**

![用于为 Amazon RDS for SQL Server 数据库启用 TDE 的架构](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/f513ea66-fd14-48d3-a576-8eb281e77b21/images/8a121e67-9a90-42d2-988e-3bcab0e6bc35.png)


## 工具
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-tools"></a>
+ Microsoft SQL Server Management Studio (SSMS) 是用于管理 SQL Server 基础结构的集成环境。它提供了用户界面和一组工具，其中包含与 SQL Server 交互的丰富脚本编辑器。

## 操作说明
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-epics"></a>

### 在 Amazon RDS 控制台创建选项组
<a name="create-an-option-group-in-the-amazon-rds-console"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 打开 Amazon RDS 控制台。 | 登录 AWS 管理控制台 并打开 [Amazon RDS 控制台](https://console.aws.amazon.com/rds/)。 | 开发人员、数据库管理员 | 
| 创建选项组。 | 在导航窗格中，依次选择**选项组**和**创建组**。选择 **sqlserver-ee** 为数据库引擎，然后选择引擎版本。 | 开发人员、数据库管理员 | 
| 添加透明数据加密选项。 | 编辑您创建的选项组并添加名为 `TRANSPARENT_DATA_ENCRYPTION` 的选项。 | 开发人员、数据库管理员 | 

### 将选项组与数据库实例相关联
<a name="associate-the-option-group-with-the-db-instance"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 选择数据库实例。 | Amazon RDS 控制台的导航窗格，选择**数据库**，然后选择要与选项组关联的数据库实例。 | 开发人员、数据库管理员 | 
| 将数据库实例与选项组相关联。 | 选择**修改**，然后使用**选项组**设置，将 SQL Server 数据库实例与您之前创建的选项组相关联。 | 开发人员、数据库管理员 | 
| 应用更改。 | 根据需要立即应用更改或在下一个维护时段内应用更改。 | 开发人员、数据库管理员 | 
| 获取证书名称。 | 使用以下查询获取默认证书名称。<pre>USE [master]<br />GO<br />SELECT name FROM sys.certificates WHERE name LIKE 'RDSTDECertificate%'<br />GO</pre> | 开发人员、数据库管理员 | 

### 创建数据库加密密钥
<a name="create-the-database-encryption-key"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 使用 SSMS 连接到 Amazon RDS for SQL Server 数据库实例 | 有关说明，请参阅 Microsoft 文档中的[使用 SSMS](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms)。 | 开发人员、数据库管理员 | 
| 通过默认证书创建数据库加密密钥。 | 通过之前获得的默认证书名称创建数据库加密密钥。通过以下 T-SQL 查询创建数据库加密密钥。您可指定 AES\_256 算法而不是 AES\_128。<pre>USE [Databasename]<br />GO<br />CREATE DATABASE ENCRYPTION KEY<br />WITH ALGORITHM = AES_128<br />ENCRYPTION BY SERVER CERTIFICATE [certificatename]<br />GO</pre> | 开发人员、数据库管理员 | 
| 在数据库启用加密。 | 通过以下 T-SQL 查询启用数据库加密。<pre>ALTER DATABASE [Database Name]<br />SET ENCRYPTION ON<br />GO</pre> | 开发人员、数据库管理员 | 
| 检查加密状态。 | 使用以下 T-SQL 查询检查加密状态。<pre>SELECT DB_NAME(database_id) AS DatabaseName, encryption_state, percent_complete FROM sys.dm_database_encryption_keys</pre> | 开发人员、数据库管理员 | 

## 相关资源
<a name="enable-transparent-data-encryption-in-amazon-rds-for-sql-server-resources"></a>
+ [SQL Server 中的透明数据加密支持](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.TDE.html)（Amazon RDS 文档）
+ [使用选项组](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)（Amazon RDS 文档）
+ [修改 Amazon RDS 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)（Amazon RDS 文档）
+ [适用于 SQL Server 的透明数据加密](https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption)（Microsoft 文档）
+ [使用 SSMS](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms)（Microsoft 文档）