Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

Oracle 透明数据加密

Amazon RDS 支持 Oracle 透明数据加密 (TDE),这是 Oracle Enterprise Edition 中提供的 Oracle 高级安全选项中的功能。此功能在将数据写入到存储之前自动对数据进行加密,并在从存储读取数据时自动对数据进行解密。

Oracle 透明数据加密适用于下列情况,即必须加密敏感数据以防止第三方获取这些数据文件和备份,或者需要解决有关安全的合规性问题。

注意

您可以使用 TDE 选项或 AWS CloudHSM Classic,但不能同时使用二者。有关更多信息,请参阅 使用 AWS CloudHSM Classic 存储 Amazon RDS Oracle TDE 密钥

TDE 选项具有永久性,不能从选项组中删掉,而且,选项组一旦与数据库实例关联在一起后,也不能从数据库实例中删掉。在将数据库实例与具有 Oracle TDE 选项的选项组关联之后,您无法从该实例禁用 TDE。

详细介绍 Oracle 透明数据加密的内容超出了本指南的范围。有关使用 Oracle 透明数据加密的详细信息,请参阅使用透明数据加密保护存储数据安全。有关 Oracle 高级安全的详细信息,请参阅 Oracle 文档中的 Oracle 高级安全。有关 AWS 安全性的更多信息,请参阅 AWS 安全中心

TDE 加密模式

Oracle 透明数据加密支持两种加密方式,即 TDE 表空间加密和 TDE 列加密。TDE 表空间加密用于加密整个应用程序表。TDE 列加密用于加密单个包含敏感数据的数据元素。此外,您还可以应用同时使用 TDE 表空间和列加密的混合加密解决方案。

注意

Amazon RDS 为数据库实例管理 Oracle Wallet 和 TDE 主密钥。您无需使用命令 ALTER SYSTEM set encryption key 设置加密密钥。

有关 TDE 最佳实践的信息,请参阅 Oracle 高级安全透明数据加密最佳实践

启用该选项之后,可以使用以下命令查看 Oracle Wallet 状态:

SELECT * FROM v$encryption_wallet;

要创建加密的表空间,请使用以下命令:

CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);

要指定加密算法 (适用于版本 11.2.0.2.v7 或更高版本),请使用以下命令:

CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);

请注意,以前的表空间加密命令与用于非 Amazon RDS 上的 Oracle 安装的命令相同,用于加密列的 ALTER TABLE 语法也与用于非 Amazon RDS 上的 Oracle 安装的命令相同。

您应该确定数据库实例是否与具有 TDE 选项的选项组关联。要查看与数据库实例关联的选项组,您可以使用 RDS 控制台、describe-db-instance AWS CLI 命令或 API 操作 DescribeDBInstances

为遵守多种安全标准的规定,Amazon RDS 实施了自动定期主密钥轮换机制。

添加 TDE 选项

将 Oracle 透明数据加密 (TDE) 与 Amazon RDS 一起使用的过程如下:

  1. 如果数据库实例没有与已启用 TDE 选项的选项组相关联,那么,必须要么创建一个选项组并添加 TDE 选项,要么修改关联的选项组给其添加 TDE 选项。有关创建或者修改选项组的信息,请参阅 使用选项组。有关向选项组添加选项的信息,请参阅 将选项添加到选项组

  2. 将数据库实例与具有 TDE 选项的选项组关联。有关将数据库实例与选项组关联的信息,请参阅 修改运行 Oracle 数据库引擎的数据库实例

删除 TDE 选项

如果您不再希望在数据库实例上使用 TDE 选项,则必须解密该数据库实例上的所有数据,将数据复制到新的、与启用了 TDE 的选项组不再关联的数据库实例上,然后删除原来的实例。如果您愿意,也可以将新的实例重命名为前面的数据库实例名称。

TDE 与数据转储一起使用

您可以使用 Oracle Data Pump 导入或导出加密转储文件。Amazon RDS 支持针对 Oracle Data Pump 的密码加密方式 (ENCRYPTION_MODE = PASSWORD)。Amazon RDS 不支持针对 Oracle Data Pump 的透明加密方式 (ENCRYPTION_MODE = TRANSPARENT)。有关将 Oracle Data Pump 与 Amazon RDS 一起使用的更多信息,请参阅 Oracle Data Pump

相关主题