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

gaussdb 主备 8 数据库安全学习

在这里插入图片描述

1 用户及权限

1.1 默认权限机制-未开启三权分立
1.1.1 数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。
1.1.2 GaussDB支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE、USAGE、ALTER、DROP、COMMENT、INDEX和VACUUM
1.1.3 系统表和系统视图要么只对系统管理员可见,要么对所有用户可见
1.1.4 数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象(表、视图、字段、函数),系统管理员不受影响
1.1.5 不建议用户修改系统表和系统视图的权限。
1.2 管理员
1.2.1 初始用户
数据库安装过程中自动生成的账户称为初始用户。初始用户也是系统管理员、监控管理员、运维管理员和安全策略管理员,拥有系统的最高权限,能够执行所有的操作。
1.2.2 系统管理员
系统管理员是指具有SYSADMIN属性的账户,默认安装情况下具有与对象所有者相同的权限,但不包括dbe_perf模式的对象权限
CREATE USER sysadmin WITH SYSADMIN password “";
ALTER USER joe SYSADMIN;
1.2.3 安全管理员
安全管理员是指具有CREATEROLE属性的账户,具有创建、修改、删除用户或角色的权限,和授予或者撤销任何非系统管理员、内置角色、永久用户、运维管理员的权限。
要创建新的安全管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库。三权分立打开时,请以安全管理员身份连接数据库
ALTER USER joe CREATEROLE;
CREATE USER createrole WITH CREATEROLE password "
”;
1.2.4 审计管理员
审计管理员是指具有AUDITADMIN属性的账户,具有查看和删除审计日志的权限。
要创建新的审计管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库。三权分立打开时,只能以初始用户身份连接数据库
gaussdb=# CREATE USER auditadmin WITH AUDITADMIN password “";
gaussdb=# ALTER USER joe AUDITADMIN;
1.2.5 监控管理员
监控管理员是指具有MONADMIN属性的账户,具有查看dbe_perf模式下视图和函数的权限,亦可以对dbe_perf模式的对象权限进行授予或收回。
要创建新的监控管理员,请以系统管理员身份连接数据库,并使用带MONADMIN选项的CREATE USER语句或ALTER USER语句进行设置。
CREATE USER monadmin WITH MONADMIN password "
”;
ALTER USER joe MONADMIN;
1.2.6 运维管理员
运维管理员是指具有OPRADMIN属性的账户,具有使用Roach工具执行备份恢复的权限。
要创建新的运维管理员,请以初始用户身份连接数据库,并使用带OPRADMIN选项的CREATE USER语句或ALTER USER语句进行设置。
1.2.7 安全策略管理员
安全策略管理员是指具有POLADMIN属性的账户,具有创建资源标签、脱敏策略和统一审计策略的权限。
要创建新的安全策略管理员,请以系统管理员用户身份连接数据库,并使用带POLADMIN选项的CREATE USER语句或ALTER USER语句进行设置。
1.3 三权分立-削减系统管理员权限
1.3.1 系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员),即不再拥有创建角色和用户的权限,也不再拥有查看和维护数据库审计日志的权限
1.3.2 初始用户的权限不受三权分立设置影响。因此建议仅将此初始用户作为DBA管理用途,而非业务应用。
1.3.3 三权分立的设置方法为:将GUC参数enableSeparationOfDuty设置为on。
1.4 用户
1.4.1 普通用户
1.4.2 永久用户
创建具有PERSISTENCE属性,可用使用保留连接额连接数据库
gaussdb=# CREATE USER user_persistence WITH PERSISTENCE IDENTIFIED BY “********”;
service_reserved_connections
https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-10-0259.html#section8
为后台运维用户(带有persistence属性)预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,运维用户的最大连接数等于max_connections + service_reserved_connections。
1.5 角色
1.5.1 SELECT * FROM PG_ROLES;
1.5.2 非三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。
1.6 Schema
1.6.1 每个数据库都包含一个pg_catalog Schema,它包含系统表和所有内置数据类型、函数和操作符
1.7 行级访问控制
1.7.1 行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式应用到执行计划上,影响最终的执行结果。当前受影响的SQL语句包括SELECT、UPDATE和DELETE。

2 VACUUM

2.1 VACUUM的本质就是一个“吸尘器”,用于吸收“尘埃”。而尘埃其实就是旧版本数据,如果这些数据没有及时清理,那么将会导致数据库空间膨胀,性能下降,更严重的情况会导致宕机

3 数据库审计

3.1 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
3.2 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
3.3 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,会立即生效,无需重启数据库。
3.4 配置审计项
3.4.1 用户登录、注销审计
参数:audit_login_logout
3.4.2 数据库启动、停止、恢复和切换审计
参数:audit_database_process
3.4.3 用户锁定和解锁审计
参数:audit_user_locked
3.4.4 用户访问越权审计
参数:audit_user_violation
3.4.5 授权和回收权限审计
参数:audit_grant_revoke
3.4.6 对用户操作进行全量审计
参数:full_audit_users
3.4.7 不需要审计的客户端名称及IP地址
参数:no_audit_client
3.4.8 数据库对象的CREATE,ALTER,DROP操作审计
参数:audit_system_object
3.4.9 具体表的INSERT、UPDATE和DELETE操作审计
参数:audit_dml_state
3.4.10 SELECT操作审计
参数:audit_dml_state_select
3.4.11 COPY审计
参数:audit_copy_exec
3.4.12 执行存储过程和自定义函数的审计
参数:audit_function_exec
3.4.13 执行白名单内的系统函数审计
参数:audit_system_function_exec
3.4.14 SET
参数:audit_set_parameter
3.4.15 事务ID记录
参数:audit_xid_info
3.4.16 内部工具连接及操作审计
参数:audit_internal_event

相关文章:

gaussdb 主备 8 数据库安全学习

1 用户及权限 1.1 默认权限机制-未开启三权分立 1.1.1 数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。 1.1.2 GaussDB支持以下的…...

React 基础阶段学习计划

React 基础阶段学习计划 目标 能够创建和使用React组件。理解并使用State和Props。掌握事件处理和表单处理。 学习内容 环境搭建 安装Node.js和npm 访问 Node.js官网 下载并安装最新版本的Node.js。打开终端或命令行工具,输入 node -v 和 npm -v 检查是否安装…...

FFmpeg的简单使用【Windows】--- 指定视频的时长

目录 功能描述 效果展示 代码实现 前端代码 后端代码 routers 》users.js routers 》 index.js app.js 功能描述 此案例是在上一个案例【FFmpeg的简单使用【Windows】--- 视频混剪添加背景音乐-CSDN博客】的基础上的进一步完善,可以先去看上一个案例然后再…...

请求参数中字符串的+变成了空格

前端请求 后端接收到的结果 在URL中,某些字符(包括空格、、&、? 等)需要被编码。具体而言,在URL中,空格通常被编码为 或 %20。因此,如果你在请求参数中使用 ,它会被解释为一个空格。 如果…...

前端开发攻略---使用AJAX监控网络请求进度

1、XHR实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title></head&…...

[已解决]DockerTarBuilder永久解决镜像docker拉取异常问题

前阵子发现阿里云的docker加速镜像失效了&#xff08;甚至连nginx都拉取不了&#xff09;&#xff0c;重新换了并且加多了网络上比较常用的dokcer加速源&#xff0c;可以解决一部分问题&#xff0c;但仍然有一些镜像的某个版本或一些比较冷的镜像就是拉取不了&#xff0c;原因未…...

机器学习实战27-基于双向长短期记忆网络 BiLSTM 的黄金价格模型研究

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战27-基于双向长短期记忆网络 BiLSTM 的黄金价格模型研究。本文针对黄金价格预测问题&#xff0c;展开基于改造后的长短期记忆网络BiLSTM的黄金价格模型研究。文章首先介绍了项目背景&#xff0c;随后详细…...

阿拉伯应用市场的特点

阿拉伯应用程序市场是一个充满活力和快速增长的行业&#xff0c;由年轻、精通技术的人口、高智能手机渗透率和整个地区数字化程度的提高所塑造。作为世界上最大的消费群体之一&#xff0c;阿拉伯语受众为希望扩大影响力的开发商和品牌提供了巨大的潜力。 文化相关性在应用程序…...

音频响度归一化 - python 实现

在处理音频样本时&#xff0c;往往我们的音频样本由于录制设备&#xff0c;环境&#xff0c;人发音的音量大小的不同影响&#xff0c;会造成音频响度不统一&#xff0c;分布在一个不同的响度值域上。为了让语音模型更好的学习音频特征&#xff0c;就有必要对音频的响度进行归一…...

嵌入式硬件设计详解

嵌入式硬件设计详解 嵌入式硬件设计是一个复杂而精细的过程&#xff0c;它涉及将微控制器&#xff08;MCU&#xff09;、微处理器&#xff08;MPU&#xff09;或数字信号处理器&#xff08;DSP&#xff09;等核心芯片与其他外围电子元件&#xff08;如传感器、执行器、存储器、…...

Linux防火墙与SElinux

文章目录 一、防火墙介绍二、iptables和firewalld的区别操作方式&#xff1a;配置层面&#xff1a;性能和管理&#xff1a; 三、iptables与firewalld的优缺点iptablesfirewalld 四、iptables的工作流程五、firewalld的工作流程六、iptables安装与使用6.1、关闭firewalld服务6.2…...

【MySQL】基本查询(上):创建、读取

1.Create(创建) 语法&#xff1a; INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ...value_list: value, [, value] ... 接下来我们用这个下表作为例子&#xff1a; -- 创建一张学生表 CREATE TABLE students ( id INT UNSIGN…...

在线刷题系统测试报告

一、项目背景 1. 本项目是一个在线刷题系统&#xff0c;灵感来源于力扣和牛客等刷题平台&#xff0c;旨在锻炼自己的代码能力和剖析系统整体结构与各模块之间关系的能力。系统支持用户注册与登录&#xff0c;查看题目列表与题目详情&#xff0c;在线提交代码并提供反馈。 2. 该…...

即时通讯增加Redis渠道

情况说明 在本地和服务器分别启动im服务&#xff0c;当本地发送消息时&#xff0c;会发现服务器上并没有收到消息 初版im只支持单机版&#xff0c;不支持分布式的情况。此次针对该情况对项目进行优化,文档中贴出的代码非完整代码&#xff0c;可自行查看参考资料[2] 代码结构调…...

C++list

list简介 list是我们的链表&#xff0c;而且是带头双向循环链表&#xff0c;如下图 我们都知道&#xff0c;链表是由一个一个的节点组成的&#xff0c;它的成员由下面几个部分组成 通过对前面string,vector的学习&#xff0c;其实再来看我们的链表及其成员函数&#xff0c;是…...

设计模式 - 结构型

结构型 适配器模式&#xff0c;代理模式&#xff0c;桥接模式&#xff0c;装饰器模式&#xff0c;外观模式&#xff0c;组合模式&#xff0c;享元模式&#xff0c; 单一职责避免子类爆炸Bridge 模式对象的实现Decorator 模式对对象的职责&#xff0c;不生成子类接口隔离Adapt…...

STM32编码器接口

一、概述 1、Encoder Interface 编码器接口概念 编码器接口可接收增量&#xff08;正交&#xff09;编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用…...

2024客户世界年度大会开幕,码号卫士赋能数字运营服务新升级

10月15日&#xff0c;2024年客户世界年度的大会在通州北投希尔顿酒店开幕。作为行业内的一个重要活动&#xff0c;本次大会以“数字运营支撑服务产业新升级”为主题&#xff0c;吸引了众多行业专家和企业代表。 据悉&#xff0c;本次大会以“数字运营支撑服务产业新升级”为主题…...

AcWing 802. 区间和(离散化算法,python)

本篇博客详细讲解一下离散化知识点&#xff0c;通过讲解和详细列题带大家掌握离散化。 题目&#xff1a; 原题链接&#xff1a;https://www.acwing.com/problem/content/description/804/ 假定有一个无限长的数轴&#xff0c;数轴上每个坐标上的数都是 0。 现在&#xff0c;…...

【网页设计】CSS 盒子模型

目标 能够准确阐述盒子模型的 4 个组成部分能够利用边框复合写法给元素添加边框能够计算盒子的实际大小能够利用盒子模型布局模块案例能够给盒子设置圆角边框能够给盒子添加阴影能够给文字添加阴影 1. 盒子模型 页面布局要学习三大核心, 盒子模型, 浮动 和 定位. 学习好盒子模…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...