管理加密密钥

本文提供了有关加密密钥和加密密钥的详细信息。

Oracle Base Database Service 使用透明数据加密 (TDE) 对存储在表和表空间中的数据进行加密。

透明数据加密
基本数据库服务使用 TDE 来加密和解密所有用户创建的表空间。
加密密钥
您可以选择使用自己的加密密钥(“客户管理的密钥”)或使用 Oracle 管理的密钥对数据库进行加密。默认情况下,基本数据库服务使用 Oracle 管理的密钥。客户管理的密钥存储在 OCI Vault 中,OCI Vault 在数据库主机的外部。
OCI Vault 密钥
在 OCI Vault 中,加密密钥是包含一个或多个用于加密和解密的密钥版本的逻辑实体。OCI Vault 可以自动生成这些密钥版本,也可以从外部源导入(自带密钥)。

有关更多信息,请参见 Introduction to Transparent Data EncryptionOCI Vault Key Management

必需的 IAM 策略

如果要使用自己的加密密钥对数据库进行加密,则必须创建一个动态组并为客户管理的加密密钥的组分配特定策略。请参阅管理动态组常见策略中的让安全管理员管理 Vault、密钥和密钥主题。

一般信息

创建新数据库系统时,会同时向容器数据库和可插入数据库分配密钥。

密钥版本(如果提供)将仅用于容器数据库,而不用于其可插入数据库。将为可插入数据库分配自动生成的新密钥版本。创建期间无法将特定密钥版本分配给可插入数据库。

可插入数据库将始终使用与容器数据库相同的密钥,但使用相同或不同的密钥版本。

您可以指定任何密钥版本,包括所选密钥的最新版本。

默认情况下,数据库是使用 Oracle 管理的密钥配置的。但是,您可以选择使用客户管理的密钥进行配置。

轮换加密密钥

轮换加密密钥操作将为同一密钥生成新密钥版本。

可以执行任意数量的密钥轮换。定期轮换密钥会限制一个密钥版本加密或签名的数据量。还会维护已停用密钥的历史记录,这使您能够轮换密钥并仍能够解密由早期密钥加密的数据。

容器数据库和可插入数据库级别的旋转密钥彼此独立工作。容器数据库上的轮换密钥操作不会轮换可插入数据库中的密钥。同样,在一个可插入数据库中轮换密钥不会轮换其他可插入数据库或其容器数据库中的密钥。

要确保使用最新版本,请从 OCI 控制台上的数据库详细信息页面(而不是 Vault 服务的控制台页面)轮换密钥。

注意:

轮换加密密钥不可用于使用 Oracle 管理的加密的数据库。

要使用 OCI 控制台轮换加密密钥,请参见 Rotate Encryption Key for a Database Rotate Encryption Key for a Pluggable Database

分配密钥版本

您可以为容器数据库和可插入数据库创建和分配新的密钥版本。只能更改密钥版本。无法更改密钥。

要使用 OCI 控制台分配密钥版本,请参见为数据库分配新密钥版本为可插入数据库分配新密钥版本

更改密钥管理

您可以从 Oracle 管理的密钥切换到现有数据库上的客户管理密钥。但是,不支持从客户管理的密钥切换到 Oracle 管理的密钥。

更改容器数据库的密钥后,该密钥也会自动应用于可插入数据库。无法单独更改可插入数据库的密钥。可插入数据库将始终使用与容器数据库相同的密钥,但它们可以使用相同或不同的密钥版本。

切换到客户管理的密钥时,容器数据库及其所有可插入数据库必须处于打开状态,并且所有表空间都必须处于读/写模式。

要使用 OCI 控制台更改密钥管理类型,请参见更改数据库的密钥管理类型

克隆、远程克隆和重新定位可插入数据库

克隆数据库在使用客户管理的加密密钥的数据库系统时,将使用与源数据库相同的密钥版本。

源数据库和目标数据库必须使用相同的密钥,但可以具有不同的密钥版本。如果源数据库和目标数据库使用不同的密钥,则远程克隆或重定位操作将失败。

在执行远程克隆和重定位操作后,将在目标密钥储存库中轮换密钥。因此,将为目标数据库中的远程克隆或重新定位的可插入数据库生成新的密钥版本。