当前位置: 首页 > news >正文

Oceanbase 透明加密TDE

官方文档:数据库透明加密概述-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 解除加密操作成功。

相关文章:

Oceanbase 透明加密TDE

官方文档:数据库透明加密概述-V4.3.2-OceanBase 数据库文档-分布式数据库使用文档 OceanBase 数据库社区版暂不支持数据透明加密。 数据存储加密是指对数据和 Clog 等保存在磁盘中的数据进行无感知的加密,即透明加密(简称 TDE)。…...

图像去噪实验:基于全变分(TV)模型的MATLAB实现

一、背景 全变分模型在图像处理领域中被广泛用于去除噪声,同时保持图像边缘的清晰度。 二、实验步骤 图像的读取、噪声添加、去噪处理以及结果的显示。 三、实验仿真结果图 四、结论 全变分模型是一种有效的图像去噪方法,它能够在去除噪声的同时&#…...

97.WEB渗透测试-信息收集-Google语法(11)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:96.WEB渗透测试-信息收集-Google语法(10) 2 、找上传类漏洞地址&…...

连锁美业门店如何寻找精准客户?美业SaaS拓客系统管理系统源码

连锁美业门店要寻找精准客户,可以采取多种方法结合现实因素进行推广和营销。以下是博弈美业系统给出的一些建议: 1.定位目标客户群体: 首先,门店需要确定目标客户是谁。这可能包括年龄、性别、收入水平、生活方式以及消费习惯等…...

RK3588开发板利用udp发送和接收数据

目录 1 send.cpp 2 receive.cpp 3 编译运行 4 测试 1 send.cpp #include <iostream> #include <string> #include <cstring> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> //…...

代码整洁之道(第3章节)--函数

目录 3.1 短小 3.2 只做一件事 3.3 每个函数一个抽象层级 3.4switch语句 3.5 使用描述性的名称 3.6 函数参数 3.6.1 一元函数的普遍形式 3.6.2标识参数 3.6.3 二元函数 3.6.4 三元函数 3.6.5参数对象 3.6.6参数列表 3.6.7动词与关键字 3.8分隔指令与询问 3.9使用…...

92. UE5 GAS RPG 使用C++创建GE实现灼烧的负面效果

在正常游戏里&#xff0c;有些伤害技能会携带一些负面效果&#xff0c;比如火焰伤害的技能会携带燃烧效果&#xff0c;敌人在受到伤害后&#xff0c;会接受一个燃烧的效果&#xff0c;燃烧效果会在敌人身上持续一段时间&#xff0c;并且持续受到火焰灼烧。 我们将在这一篇文章里…...

Echarts可视化大屏数据详解

1、ECharts介绍 1.1、什么是ECharts ECharts是一款由百度开发并开源的数据可视化图表库&#xff0c;旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发&#xff0c;利用 HTML5 的 Canvas 技术进行图形渲染&#xff0c;这使得它能够…...

Linux---文件(2)---文件描述符缓冲区(语言级)

目录 文件描述符 基础知识 文件描述符 对“Linux一切皆文件”的理解 文件描述符分配规则 缓冲区 刷新策略 存放位置 解释一个"奇怪的现象" 格式化输入输出 文件描述符 基础知识 在系统层面上&#xff0c;文件操作都是通过文件描述符来操作的。 程序在启…...

云计算实训39——Harbor仓库的使用、Docker-compose的编排、YAML文件

一、Harbor部署 1.验证python版本 [rootdocker2 ~]#python --version 2.安装pip [rootdocker2 ~]# yum -y install python2-pip #由于版本过低&#xff0c;需要对其进行一个升级 #更新pip [rootdocker2 ~]#pip install --upgrade pip 3.指定版本号 [rootdocker2 ~]# p…...

lambda表达式用法——C#学习笔记

“Lambda 表达式”是一个匿名函数&#xff0c;它可以包含表达式和语句&#xff0c;并且可用于创建委托或表达式目录树类型。 实例如下&#xff1a; 代码如下&#xff1a; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.…...

【C++ Primer Plus习题】11.6

问题: 解答: main.cpp #include <iostream> #include "Stonewt.h" using namespace std; const int SIZE 6;int main() {Stonewt stone_arr[SIZE] { 253.6,Stonewt(8,0.35),Stonewt(23,0) };double input;Stonewt eleven Stonewt(11, 0.0);Stonewt max st…...

Redis八种数据结构简介

Redis数据结构 Redis新旧版本中一共出现过八种数据结构&#xff0c;分别是SDS、双向链表、压缩列表、整数集合、哈希表、跳表、quicklist、listpack。 SDS SDS是用于存储Redis中字符串的数据结构&#xff0c;Redis底层使用的语言是C语言&#xff0c;因此字符串也是C语言的字…...

数据治理策略:确保数据资产的安全与高效利用

数据治理策略&#xff1a;确保数据资产的安全与高效利用 在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;随着数据量的爆炸性增长和数据来源的多样化&#xff0c;如何有效地管理和利用这些数据成为企业面临的重要挑战。数据治理策略的制定和执行&a…...

ts格式转mp4,四款亲测好用软件推荐!

在这个数字视频时代&#xff0c;我们经常会遇到各种视频格式兼容性问题&#xff0c;尤其是从网络下载的高清电影或电视剧集&#xff0c;很多时候都是以TS格式存储。然而&#xff0c;当我们想要在移动设备、社交媒体或视频编辑软件中播放、上传时&#xff0c;MP4格式因其广泛的兼…...

10、Django Admin修改标题

admin from django.contrib import admin from .models import Category, Origin, Hero, Villain # 添加以下代码 admin.site.site_header "系统管理" admin.site.site_title "管理员界面" admin.site.index_title "欢迎来到这里&#xff…...

ESRI ArcGIS Pro 3.1.5新功能及安装教程和下载

ESRI ArcGIS Pro 3.1.5 主要新功能包括&#xff1a; 改进的数据编辑和管理&#xff1a;支持更多数据格式和更精细的属性表操作。增强的空间分析工具&#xff1a;新增和优化空间分析工具&#xff0c;提高数据分析效率。更好的3D可视化&#xff1a;改进3D渲染性能&#xff0c;支…...

人工智能,语音识别也算一种人工智能。

现在挺晚了&#xff0c;还是没有去睡觉&#xff0c;自己在想什么呢&#xff0c;也不确定。 这是一篇用语音写的文章&#xff0c;先按自己的想法说出来&#xff0c;然后再适当修改&#xff0c;也许就是一个不错的文章。 看来以后就不需要打字了&#xff0c;语音识别度很高&#…...

Token和Refresh Token

获取令牌&#xff08;Token&#xff09; 和 刷新令牌(Refresh Token&#xff09; 在认证和授权机制中有不同的使用场景和目的&#xff0c;二者主要的区别和为什么需要刷新令牌可以通过以下几点解释&#xff1a; 1. 获取令牌和刷新令牌的区别 获取令牌&#xff08;Token&#x…...

STM32(一)简介

一、stm32简介 1.外设接口 通过程序配置外设来完成功能 2.系统结构 3.引脚定义 4.启动配置 5.最小系统电路...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...