Oceanbase 透明加密TDE

news2024/9/24 21:24:57

官方文档:数据库透明加密概述-V4.3.2-OceanBase 数据库文档-分布式数据库使用文档

OceanBase 数据库社区版暂不支持数据透明加密。

数据存储加密是指对数据和 Clog 等保存在磁盘中的数据进行无感知的加密,即透明加密(简称 TDE)。数据在写入存储设备前自动进行加密,读取时自动解密,该过程对用户是透明的,黑客和恶意用户无法从数据文件、数据库备份或磁盘中读取到敏感数据。

一.Mysql模式下的数据透明加密:

使用限制
  • 系统租户不能开启加密。
  • 租户配置透明加密后,除非租户重建,否则无法再切换为其他加密模式。为新创建的表设置透明加密

为新创建的表设置透明加密


业务租户登录到集群的 MySQL 租户
1..执行以下语句,开启 internal 方式的透明加密。
ALTER SYSTEM SET tde_method='internal';

2.执行以下语句,确认该租户上所有 OBServer 节点上的配置项 tde_method 的值均为 internal
 SHOW PARAMETERS LIKE 'tde_method';

3.确认后,执行以下语句,生成主密钥。
 ALTER INSTANCE ROTATE INNODB MASTER KEY;

4.创建表空间并指定加密算法
CREATE TABLESPACE sectest_ts1 encryption = 'y'; 

5.在加密的表空间中创建新表
CREATE TABLE t1 (id1 int, id2 int) TABLESPACE sectest_ts1;
6.确认表空间内的表是否标记为加密。
SELECT table_name,encryptionalg,encrypted FROM oceanbase.V$OB_ENCRYPTED_TABLES;

我这里测试版本是企业版V3 所以和 V4视图名称不一样。

为已有表设置透明加密

业务租户登录到集群的MySQL租户
1.执行以下语句,开启 internal 方式的透明加密。
ALTER SYSTEM SET tde_method='internal';

2.执行以下语句,确认该租户上所有 OBServer 节点上的配置项 tde_method 的值均为 internal
SHOW PARAMETERS LIKE 'tde_method';

3.确认后,执行以下语句,生成主密钥。
ALTER INSTANCE ROTATE INNODB MASTER KEY;

4.创建表空间并指定加密算法。
CREATE TABLESPACE sectest_ts1 encryption = 'y'; 

5.创建t1表
CREATE TABLE t1 (id1 int, id2 int);
6.将已有表移入加密表空间
ALTER TABLE t1 TABLESPACE sectest_ts1;

解除加密:

假设表  t1 的加密状态如下,且表  t1 在加密的表空间  sectest_ts1 中。
对表执行渐进合并。
将  progressive_merge_num 的值设置为大于  1 的数,并执行  OPTIMIZE 命令,准备做渐进合并。
ALTER TABLE t1 SET progressive_merge_num = 3;       
OPTIMIZE TABLE t1;

CREATE TABLESPACE ts2;

将表 t1 从加密的表空间 sectest_ts1 中移到未加密的表空间 ts2 中。

ALTER TABLE t1 TABLESPACE ts2;

SHOW CREATE TABLE t1 \G

查询 oceanbase.V$OB_ENCRYPTED_TABLES 视图,确认表的加密状态。

二.Oracle模式下的数据透明加密

为新创建的表设置存储加密

1.管理员用户登录到数据库的 Oracle 租户。
执行以下语句,开启 internal 方式的存储加密。
 ALTER SYSTEM SET tde_method='internal';

2.执行以下语句,确认该租户上所有 OBServer 节点上的配置项 tde_method 的值均为 internal
SHOW PARAMETERS LIKE 'tde_method';

3.创建 Keystore。
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE keystore_name IDENTIFIED BY password;

4.开启 Keystore。
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY password;

5.执行以下语句,生成主密钥。
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY password;

6.创建表空间并指定加密算法。
CREATE TABLESPACE sectest_ts1 ENCRYPTION USING 'aes-256';

7.验证加密是否配置成功

创建表并指定表空间。

CREATE TABLE t1 (id1 int, id2 int) TABLESPACE sectest_ts1;

确认表空间内的表是否标记为加密。

SELECT TABLE_NAME,ENCRYPTIONALG FROM v$encrypted_tables;

为已有表设置透明加密

1.管理员用户登录到数据库的 Oracle 租户
2.执行以下语句,开启 internal 方式的存储加密
ALTER SYSTEM SET tde_method='internal';
3.执行以下语句,确认该租户上所有 OBServer 节点上的配置项 tde_method 的值均为 internal
SHOW PARAMETERS LIKE 'tde_method';

4.创建 Keystore
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE keystore_name IDENTIFIED BY password;

5.开启 Keystore
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY password;

6.执行以下语句,生成主密钥
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY password;

7.创建表空间并指定加密算法
CREATE TABLESPACE sectest_ts1 ENCRYPTION USING 'aes-256';

8.将已有表移入加密表空间
ALTER TABLE t1 TABLESPACE sectest_ts1;

对表执行全量合并

ALTER TABLE t1 set progressive_merge_num = 1;
ALTER SYSTEM MAJOR FREEZE;
SELECT * FROM v$encrypted_tables;

确认所有宏块是否已完成加密。

解除加密:

假设表 t1 的加密状态如下,且表 t1 在加密的表空间 sectest_ts1 中。
SELECT * FROM v$encrypted_tables;

SHOW CREATE TABLE t1;

将表从加密表空间中移出,创建未加密的表空间 ts2
CREATE TABLESPACE ts2;

ALTER TABLE t1 TABLESPACE ts2;

操作成功后,执行 SHOW CREATE TABLE 语句,可以看到表 t1 已经移到了表空间 ts2 中

SHOW CREATE TABLE t1;

SELECT * FROM sys.v$encrypted_tables;

可以看到表 t1 的 STATUS 字段为 NORMAL 即未加密状态,说明表 t1 解除加密操作成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2105082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)指针进阶 例题

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 字符数组例题: arr后面放了六个字符 所以这个数组的元素个数就是6 第一个arr 因为他计算的是一整个数组的大小 就是打印6 第二个arr0 arr没有单独放在它的内部 所以它计算的就是…

flunet瞬态处理时均问题

fluent处理时均问题 最近遇到个同学,处理心脏跳动的时均问题,由于仅想取部分稳定时间段的时均数据,fluent的自动采样仅能对全部时间做处理,就存在问题了,网上看到两篇很详细的文章,记录下。 具体网址&…

Docker Elasticsearch安装ik分词插件教程

本章教程在通过Docker 安装Elasticsearch,并安装ik分词插件。本文的重点是安装ik分词插件。 一、安装Elasticsearch 安装教程以前写过,参考:https://blog.csdn.net/qq_19309473/article/details/140725121 安装之后,通过http://ip:9200,可以访问,就表示安装成功。 二、安装…

[python]socket之网络编程基础知识

1.三要素介绍: ip地址:设备在网络内的标识,分为ipv4和ipv6 端口号:软件(程序)在设备上的唯一标识.0-65535,其中0-1024为知名端口号,程序开发中最好不要使用 协议:数据发送的规则,有TCP和UDP 等 ip地址详解: 简单来说主要分为 IpV4, IpV6 IpV4: 采用4个字节, 十进制的形式来…

DSP基本名词术语及其关系

前言 信号处理是现代科技和工程领域中一个重要的分支,涉及对各种信号进行采集、传输、处理和分析的一系列方法和技术。其核心概念包括信号、系统、线性系统、时域与频域、稳定性和稳定性等。信号处理技术主要用于对模数转换后和数模转换前的数字信号进行处理&#x…

递归算法专题——真正理解递归和正确使用递归力扣实战应用

目录 1、使用递归 1.1 如何理解递归 1.2 如何写好一个递归算法 2、 算法应用【leetcode】 2.1 题一:汉诺塔问题【面试题】 2.1.1 算法原理 2.1.2 算法代码 2.2 题二:合并两个有序链表 2.2.1 算法原理 2.2.2 算法代码 2.3 题三:反转…

XC企业建站系统V1.2.5

多模板主题的企业官网建站系统。提供全部无加密源码,支持私有化部署。 V1.2.5添加小功能 站点配置,增加【留言板显示开关】 站点主题 - 扩展配置,增加对首页【产品中心】【新闻资讯】板块的显示开关和标题自定义功能(注&#xff…

day-49 使数组中所有元素相等的最小操作数

思路 第一个数和最后一个数要变为一致,需要操作n-1次,然后第二个数和倒数第二个数要操作n-3次 解题过程 以此类推即可得出答案 Code class Solution {public int minOperations(int n) {int ans0;int t(n-1);while(t>0){anst;t-2;}return ans;} }作…

一、selenium自动化简介selenium工具集

文章目录 一、简介二、组成部分三、selenium工具集3.1 Selenium IDE3.2 Selenium WebDriver3.3 Selenium Grid3.4 Appium 一、简介 官方网站 Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。 它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分…

企业分享 - 益丰大药房监控升级之路

益丰大药房是全国大型药品零售连锁企业(中国沪市主板上市连锁药房),专注医药零售行业23载, 市值稳居国内上市连锁药店前列/中国上市公司500强。 益丰有体量庞大的研发运维团队,有体量庞大的 IT 设施和服务,…

iic学习

iic 时钟scl为高的时候 sda数据为低的时候是起始位 当scl信号为高电平的时候 sda数据为高的时候是 停止位 (时钟稳定 数据变化 才会发生起始位和停止位) 当sclk为高电平时 sda 数据需要保持或者需要保持稳定 (理解就是不要有上升沿和下降沿的…

WebTopo 组态软件+ARM 工业计算机:重塑污水处理

污水处理领域也在不断寻求更高效、更稳定的解决方案。WebTopo 组态软件与 ARM 工业计算机的结合,尤其是 ARMxy 工业树莓派在污水处理中的应用,为这个领域带来了全新的变革。 WebTopo 组态软件以其清晰的布局和强大的功能,成为了污水处理系统中…

用C语言生成字符贪吃蛇游戏

用C语言生成字符贪吃蛇游戏 1. 引言 贪吃蛇是一个经典的小游戏,玩家通过控制蛇的移动来吃食物,随着食物的增加,蛇的长度也会增加,游戏的难度逐渐提升。本文将介绍如何使用C语言来实现一个简单的字符贪吃蛇游戏。 2. 环境准备 在…

shell介绍

[基础入门]正向shell和反弹shell-CSDN博客 shell:执行用户命令的接口,通过这个接口实现对计算机的控制 反弹shell:一台主机控制另一台 正向shell:在攻击机上开启一个监听端口,让被攻击机主动连接攻击机,…

Python实践:多种方式实现数字前补零

更多内容 个人网站:孔乙己大叔 一、理解数字前补零的重要性 数字前补零,简而言之,就是在数字转换为字符串时,在其前面填充一定数量的零,以达到指定的宽度。这一操作看似简单,实则对于数据的格式化、排序和…

基于PLC的粮食自动烘干机控制系统设计

基于PLC的粮食自动烘干机控制系统设计是一个综合性的工程任务,旨在通过PLC(可编程逻辑控制器)实现对粮食烘干过程的自动化控制,以提高烘干效率、保证烘干质量并降低能耗。以下是一个基于PLC的粮食自动烘干机控制系统设计的基本框架和关键要点: 前言 在我国,作为农业大国…

鸿蒙(API 12 Beta6版)图形【NativeImage开发指导 (C/C++)】方舟2D图形服务

场景介绍 NativeImage是提供Surface关联OpenGL外部纹理的模块,表示图形队列的消费者端。开发者可以通过NativeImage接口接收和使用Buffer,并将Buffer关联输出到OpenGL外部纹理。 针对NativeImage,常见的开发场景如下: 通过Nati…

服务器文件权限限制写入

1、先查看文件需要的用户权限。 ls -l2、判断自己的账户不具备写入权限 container里面建的文件,需要用户身份是root,如果你不在rootfile里file的话,是无法对需要root权限的文件增删改的。 3、创建container与宿主机共享的文件夹 如果想宿…

【Python】统计列表出现某个数字/字段的次数+去除列表的nan值+计算列表中的正负值百分比和绝对值

1. 统计一个列表出现某个数字或者字段的次数 A. 列表推导式法 原理:使用列表推导式找出所有等于0的元素,并用sum()函数计算它们的数量。 这个方法的优点是:可以筛选等于和不等于的,用来统计占比。如果需要筛选的是字符串&#…

【AQS源码】深入理解AQS的工作原理

【AQS源码】深入理解AQS的工作原理-CSDN博客