管理加密关键字

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

Oracle Base Database Service 使用透明数据加密 (Transparent Data Encryption,TDE) 加密存储在表和表空间中的数据。

透明数据加密:

基本数据库服务使用 TDE 加密和解密所有用户创建的表空间。

加密密钥:

您可以选择使用您自己的加密密钥(“客户管理的密钥”)对数据库进行加密,也可以使用 Oracle 托管的密钥。默认情况下,基本数据库服务使用 Oracle 管理的密钥。客户管理的密钥存储在 OCI Vault 中,该 Vault 位于数据库主机的外部。

OCI 保管库密钥:

在 OCI Vault 中,加密密钥是包含用于加密和解密的一个或多个密钥版本的逻辑实体。OCI Vault 可以自动生成这些密钥版本,也可以从外部源(自带密钥)导入这些密钥版本。

有关更多信息,请参见 Introduction to Transparent Data Encryption 和 OCI Vault Key Management 。

必需的 IAM 策略

如果要使用自己的加密密钥对数据库进行加密,则必须创建一个动态组,并为该组分配客户管理的加密密钥的特定策略。请参见 Managing Dynamic Groups 和 Let security admins manage vaults,keys,and secrets 主题中的常见策略。

一般信息

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

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

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

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

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

轮换加密密钥

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

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

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

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

注:轮换加密关键字不适用于使用 Oracle 管理的加密的数据库中。

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

分配密钥版本

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

要使用 OCI 控制台分配密钥版本,请参见 Assign a New Key Version for a Database 和 Assign a New Key Version for a Pluggable Database 。

更改密钥管理

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

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

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

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

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

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

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

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