

# 在 RDS Custom for SQL Server 中使用服务主密钥
<a name="custom-sqlserver-features.smk"></a>

RDS Custom for SQL Server 支持使用服务主密钥（SMK）。RDS Custom 在 RDS Custom for SQL Server 数据库实例的整个生命周期中保留相同的 SMK。通过保留相同的 SMK，您的数据库实例可以使用通过 SMK 加密的对象，例如链接服务器密码和凭证。如果您使用多可用区部署，RDS Custom 还会在主和辅助数据库实例之间同步和维护 SMK。

**Topics**
+ [区域和版本可用性](#custom-sqlserver-features.smk.list)
+ [支持的特征](#custom-sqlserver-features.smk.supportedfeatures)
+ [使用 TDE](#custom-sqlserver-features.smk.tde)
+ [配置功能](#custom-sqlserver-features.smk.configuringfeatures)
+ [要求和限制](#custom-sqlserver-features.smk.reqlimits)

## 区域和版本可用性
<a name="custom-sqlserver-features.smk.list"></a>

对于 RDS Custom 上提供的所有 SQL Server 版本，在所有提供 RDS Custom for SQL Server 的区域中都支持使用 SMK。有关适用于 RDS Custom for SQL Server 的 Amazon RDS 的版本和区域可用性的更多信息，请参阅[支持 RDS Custom for SQL Server 的区域和数据库引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.sq)。

## 支持的特征
<a name="custom-sqlserver-features.smk.supportedfeatures"></a>

将 SMK 与 RDS Custom for SQL Server 一起使用时，支持以下功能：
+ 透明数据加密 (TDE)
+ 列级加密
+ 数据库邮件
+ 链接服务器
+ SQL Server Integration Services (SSIS)

## 使用 TDE
<a name="custom-sqlserver-features.smk.tde"></a>

SMK 支持配置透明数据加密（TDE），这种加密在数据写入存储之前对数据进行加密，并在从存储读取数据时自动解密数据。与 RDS for SQL Server 不同，在 RDS Custom for SQL Server 数据库实例上配置 TDE 不需要使用选项组。相反，创建证书和数据库加密密钥后，可以运行以下命令在数据库级别开启 TDE：

```
ALTER DATABASE [myDatabase] SET ENCRYPTION ON;
```

 有关将 TDE 与 RDS for SQL Server 一起使用的更多信息，请参阅[SQL Server 中的透明数据加密支持](Appendix.SQLServer.Options.TDE.md)。

 有关 Microsoft SQL Server 中的 TDE 的详细信息，请参阅 Microsoft 文档中的[透明数据加密](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption?view=sql-server-ver15)。

## 配置功能
<a name="custom-sqlserver-features.smk.configuringfeatures"></a>

有关配置将 SMK 和 RDS Custom for SQL Server 结合使用的功能的详细步骤，您可以参阅 Amazon RDS 数据库博客中的以下博客：
+ 链接服务器：[Configuring linked servers on RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/configure-linked-servers-on-amazon-rds-custom-for-sql-server/)。
+ SSIS：[Migrate SSIS packages to RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/migrate-microsoft-sql-server-ssis-packages-to-amazon-rds-custom-for-sql-server/)。
+ TDE：[Secure your data using TDE on RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/secure-your-data-at-rest-on-amazon-rds-custom-for-sql-server-using-transparent-data-encryption-tde-or-column-level-encryption-cle/)。

## 要求和限制
<a name="custom-sqlserver-features.smk.reqlimits"></a>

在 RDS Custom for SQL Server 数据库实例中使用 SMK 时，请记住以下要求和限制：
+ 如果您在数据库实例上重新生成 SMK，则应立即执行手动数据库快照。我们建议尽可能避免重新生成 SMK。
+ 必须保留服务器证书和数据库主密钥密码的备份。如果不维护这些内容的备份，可能会导致数据丢失。
+ 如果您配置 SSIS，则应使用 SSM 文档将 RDS Custom for SQL Server 数据库实例加入到域中，以防扩展计算或主机更换。
+ 启用 TDE 或列加密后，数据库备份会自动加密。当您执行快照还原或时间点恢复时，将还原源数据库实例的 SMK 以解密进行还原的数据，并生成一个新的 SMK 来重新加密已还原实例上的数据。

 有关 Microsoft SQL Server 中服务主密钥的更多信息，请参阅 Microsoft 文档中的 [SQL Server 和数据库加密密钥](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-and-database-encryption-keys-database-engine?view=sql-server-ver15)。