前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 20c 设置默认表空间加密算法

Oracle 20c 设置默认表空间加密算法

作者头像
Yunjie Ge
发布2022-04-24 09:42:30
1.7K0
发布2022-04-24 09:42:30
举报
文章被收录于专栏:数据库与编程

在 Oracle 20c 中对默认表空间的加密算法方面有所增强,可以通过设置:

TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM,动态参数来定义表空间创建操作的默认加密算法。

例如,如果将 :

TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM 设置为AES256,则以后的表空间创建操作将使用AES256作为默认加密算法。

TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM 适用于脱机和联机表空间加密操作。

此外,当您使用 DBCA 创建新表空间时,可以通过使用 DBCA 命令行进行静默安装来设置默认表空间加密算法。支持的加密算法为:AES128、AES192、AES256 和 3DES168。

如果未设置 :

TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM,则默认的加密算法是以前版本中使用的默认加密算法:AES128。

默认情况下,您在Database Classic Cloud Service数据库中创建的所有新表空间都是加密的。

但是,并非在创建数据库部署时创建的所有表空间都被加密:

在 Oracle Database 11g 数据库中,创建数据库部署时创建的表空间均未加密。

在 Oracle Database 12c 第1版数据库中,创建数据库部署时创建的表空间均未加密。在 Oracle Database 12c 第2版或更高版本的数据库中,只有在创建数据库部署时创建的 USERS 表空间才被加密。 其他表空间均未加密。包括 CDBROOT,PDBSEED 和创建数据库部署时创建的 PDB。

  • 创建加密的表空间

默认情况下,用户创建的表空间是加密的。

默认情况下,使用 CREATE TABLESPACE 命令创建的所有新表空间都使用AES128加密算法进行加密。您无需包括 USING 'encrypt_algorithm' 子句即可使用默认加密。

您可以通过在 CREATE TABLESPACE 命令中包含 USING 'encrypt_algorithm' 子句来指定另一种受支持的算法。支持的算法包括:AES256,AES192,AES128 和 3DES168。

示例:

在以下示例中,第一个语句通过打开钱包启用数据库的加密。第二条语句创建一个加密的表空间。

代码语言:javascript
复制
ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "wallet_password";


CREATE TABLESPACE encrypt_ts
  DATAFILE '$ORACLE_HOME/dbs/encrypt_df.dbf' SIZE 1M
  ENCRYPTION USING 'AES256' ENCRYPT;
  • 管理表空间加密

您可以管理软件密钥库(在Oracle Database 11g中称为Oracle钱包)、主加密密钥,并控制默认情况下是否启用加密。

  • 管理软件密钥库和主加密密钥

表空间加密使用基于密钥的两层体系结构来透明地加密(和解密)表空间。主加密密钥存储在外部安全模块(软件密钥库)中。此主加密密钥用于对表空间加密密钥进行加密,而该密钥又用于对表空间中的数据进行加密和解密。

在 Database Classic Cloud Service 上创建数据库部署后,将创建本地自动登录软件密钥库。密钥库在计算节点本地,并受系统生成的密码保护。自动登录软件密钥库在访问时会自动打开。

您可以使用 dbaascli 实用程序的 tde rotate masterkey 子命令来更改(旋转)主加密密钥。执行此子命令时,将提示您输入密钥库密码。输入在数据库部署创建过程中指定的密码。例如:

代码语言:javascript
复制
DBAAS>tde rotate masterkey
Executing command tde rotate masterkey
Enter keystore password:
Successfully rotated TDE masterkey
  • 控制默认表空间加密

ENCRYPT_NEW_TABLESPACES 初始化参数控制新表空间的默认加密。在数据库经典云服务数据库中,默认情况下此参数设置为 CLOUD_ONLY。

该参数的值如下:

描述

ALWAYS

在创建期间,除非在 ENCRYPTION 子句中指定了其他算法,否则表空间将使用 AES128 算法透明加密。

CLOUD_ONLY

除非在 ENCRYPTION 子句中指定了其他算法,否则在数据库 Classic Cloud Service 数据库中创建的表空间将使用 AES128 算法透明加密。 对于非云数据库,仅在指定了 ENCRYPTION 子句的情况下,才对表空间进行加密。 这是默认值。

DDL

在创建期间,表空间默认情况下不会透明加密,并且仅在指定了 ENCRYPTION 子句的情况下才进行加密。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山东Oracle用户组 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档