Oracle 透明数据加密 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Oracle 透明数据加密

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

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

TDE 选项是不能从选项组中移除的永久选项。在将数据库实例与具有 Oracle TDE 选项的选项组关联之后,您无法从该实例禁用 TDE。您可以更改使用 TDE 选项的数据库实例的选项组,但与该数据库实例关联的选项组必须包括 TDE 选项。您还可以通过添加或删除其他选项来修改包括 TDE 选项的选项组。

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

注意

您不能共享使用此选项的数据库快照。有关共享数据库快照的更多信息,请参阅 共享数据库快照

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);

要指定加密算法,请使用以下命令:

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

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

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

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

添加 TDE 选项

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

  1. 如果数据库实例未与已启用 TDE 选项的选项组关联,您必须创建选项组并添加 TDE 选项,或者修改关联的选项组以便添加 TDE 选项。有关创建或者修改选项组的信息,请参阅 使用选项组。有关向选项组添加选项的信息,请参阅 将选项添加到选项组

  2. 将数据库实例与具有 TDE 选项的选项组关联。有关将数据库实例与选项组关联的信息,请参阅 修改 Amazon RDS 数据库实例

删除 TDE 选项

要删除 TDE 选项与数据库实例,请完成以下步骤:

  1. 解密数据库实例上的所有数据。

  2. 将数据复制到未与已启用 TDE 的选项组关联的新数据库实例。

  3. 删除原始实例。

您可以将新的实例重命名为前面的数据库实例名称。

将 TDE 与 Oracle 数据转储结合使用

可以使用 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 导入