openGuass——管理用户安全

2024-08-26 16:28
文章标签 安全 管理 用户 openguass

本文主要是介绍openGuass——管理用户安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、默认权限机制

二、管理员

 1、核心管理员

 2、辅助管理员

三、三权分立

1、思想

2、实践

四、权限操作

1、用户的创建与删除

2、用户的修改与信息查看

五、角色

1、创建、修改和删除角色

六、GRANT

七、REVOKE

八、设置用户安全策略

自动锁定和解锁用户

手动锁定和解锁用户

设置帐号有效期

设置密码安全策略


一、默认权限机制

  • 对象创建者默认是该对象的所有者。
  • openGauss安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT命令将对象的权限授予其他用户。
  • openGauss支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE和USAGE。
  • 要撤消已经授予的权限,可以使用REVOKE命令。
  • 对象所有者的权限(例如ALTER、 DROP、GRANT和REVOKE)是隐式的,无法授予或撤消。但对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读。
  • 系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。

二、管理员

 1、核心管理员

数据库中默认的三个管理员及权限:

  •  系统管理员:具备SYSADMIN权限,默认安装情况下具有与对象所有者相同的权限,但不包括dbe_perf模式的对象权限
  •  安全管理员:具备SAFEADMIN权限。
  •  审计管理员:具备AUDITADMIN权限。

三个管理员并非唯一的,可以按需创建。以系统管理为例可以创建新的系统管理员,或将权限授予现有用户:

openGauss=# ALTER USER sysadmin SYSADMIN;

授予现有用户:

openGauss=# CREATE USER sysadmin WITH SYSADMIN password "xxxxxxxxx";

2、辅助管理员

数据库中默认的三个辅助管理员及权限:

  •  监控管理员:具备MONADMIN权限,具有查看dbe_perf模式下视图和函数的权限,亦可以对dbe_perf模式的对象权限进行授予或收回。
  • 运维管理员:具有OPRADMIN属性的用户。
  • 安全策略管理员是指具有POLADMIN属性的用户,具有创建资源标签、脱敏策略和统一审计策略的权限。

辅助管理员也并非唯一的,可以按需创建。以监控管理员为例可以创建新的监控管理员,或将权限授予现有用户:

openGauss=# CREATE USER monadmin WITH MONADMIN password "xxxxxxxxx";

授予现有用户

openGauss=# ALTER USER monadmin MONADMIN;

三、三权分立

1、思想

默认规则下系统管理员继承了初始用户绝大部分权限,拥有的权限过高。为了避免权限过于集中带来的风险,建议对安全有较高要求的用户开启三权分立,又叫三员分立:

减少系统管理员的权限
与安全管理员、安全审计员相互制约。
三员相互独立、配合管理。

2、实践

系统管理员取消CREATEROLE权限和AUDITADMIN权限
CREATEROLE授予安全管理员
AUDITADMIN授予审计管理员
开启三权分立:将参数enableSeparationOfDuty设置为on

  • 使用CREATE USER和ALTER USER可以创建和管理数据库用户。openGauss包含一个或多个已命名数据库。用户和角色在整个openGauss范围内是共享的,但是其数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里声明的那个数据库。
  • 非三权分立下,openGauss用户用户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。三权分立时,用户用户只能由初始用户和安全管理员创建
  • 在用户登录openGauss时会对其进行身份验证。用户可以拥有数据库和数据库对象(例如表),并且可以向用户和角色授予对这些对象的权限以控制谁可以访问哪个对象。除系统管理员外,具有CREATEDB属性的用户可以创建数据库并授予对这些数据库的权限。

四、权限操作

1、用户的创建与删除

创建用户joe,并设置用户拥有CREATEDB属性

openGauss=# CREATE USER joe WITH CREATEDB PASSWORD "xxxxxxxxx";
CREATE ROLE

删除用户,同时会删除同名的schema。语法格式

DROP USER [ IF EXISTS ] user_name [, ...] [ CASCADE | RESTRICT ];

CASCADE:级联删除依赖用户的对象。
RESTRICT:如果用户还有任何依赖的对象,则拒绝删除该用户(缺省行为)

 

2、用户的修改与信息查看

修改角色的权限

ALTER USER user_name [ [ WITH ] option [ ... ] ];

修改用户名

ALTER USER user_name RENAME TO new_name;

修改与用户关联的指定会话参数值

ALTER USER user_name  SET configuration_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT };

重置与用户关联的指定会话参数值

ALTER USER user_name RESET { configuration_parameter | ALL };

ALTER USER中修改的会话参数只针对指定的用户,且在下一次会话中有效。

要查看用户列表,请查询视图PG_USER:

openGauss=# SELECT * FROM pg_user; 

五、角色

        角色是一组用户的集合。通过GRANT把角色授予用户后,用户即具有了角色的所有权限。推荐使用角色进行高效权限分配。例如,可以为设计、开发和维护人员创建不同的角色,将角色GRANT给用户后,再向每个角色中的用户授予其工作所需数据的差异权限。在角色级别授予或撤消权限时,这些更改将作用到角色下的所有成员。
        openGauss提供了一个隐式定义的拥有所有角色的组PUBLIC,所有创建的用户和角色默认拥有PUBLIC所拥有的权限。关于PUBLIC默认拥有的权限请参考GRANT。要撤销或重新授予用户和角色对PUBLIC的权限,可通过在GRANT和REVOKE指定关键字PUBLIC实现。
        要查看所有角色,请查询系统表PG_ROLES:

openGauss=# SELECT * FROM PG_ROLES;

1、创建、修改和删除角色

        非三权分立时,只有系统管理员和具有CREATEROLE属性的用户才能创建、修改或删除角色。三权分立下,只有初始用户和具有CREATEROLE属性的用户才能创建、修改或删除角色。
        要创建角色,请使用CREATE ROLE。
        要在现有角色中添加或删除用户,请使用ALTER ROLE。
        要删除角色,请使用DROP ROLE。DROP ROLE只会删除角色,并不会删除角色中的成员用户用户。

六、GRANT

使用GRANT命令进行用户授权包括以下三种场景:

  •  将系统权限授权给角色或用户

        系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和LOGIN。

  • 将数据库对象授权给角色或用户

        将数据库对象(表和视图、指定字段、数据库、函数、模式、表空间等)的相关权限授予特定角色或用户;

  • 将角色或用户的权限授权给其他角色或用户

        将一个角色或用户的权限授予一个或多个其他角色或用户。在这种情况下,每个角色或用户都可视为拥有一个或多个数据库权限的集合。

创建名为mvsuser的用户,并将sysadmin权限授权给他

openGauss=# CREATE USER mvsuser PASSWORD ’ password#123'; 
openGauss=# GRANT ALL PRIVILEGES TO mvsuser; 

授权成功后,用户mvsuseer会拥有sysadmin的所有权限。

七、REVOKE

REVOKE用于撤销一个或多个角色的权限。

非对象所有者试图在对象上REVOKE权限,命令按照以下规则执行:

  • 如果授权用户没有该对象上的权限,则命令立即失败。
  • 如果授权用户有部分权限,则只撤销那些有授权选项的权限。
  • 如果授权用户没有授权选项,REVOKE ALL PRIVILEGES形式将发出一个错误信息,而对于其他形式的命令而言,如果是命令中指定名称的权限没有相应的授权选项,该命令将发出一个警告。
  • 不允许对表分区进行REVOKE操作,对分区表进行REVOKE操作会引起告警。

八、设置用户安全策略

        openGauss为用户提供了自动锁定和解锁用户、手动锁定和解锁异常用户和删除不再使用的用户等一系列的安全措施,保证数据安全。

自动锁定和解锁用户

        为了保证用户安全,如果用户输入密码次数超过一定次数(failed_login_attempts),系统将自动锁定该用户,默认值5。次数设置越小越安全,但是在使用过程中会带来不便。
        当用户被锁定时间超过设定值(password_lock_time),则当前用户自动解锁,默认值为1天。时间设置越长越安全,但是在使用过程中会带来不便。

手动锁定和解锁用户

        若管理员发现某用户被盗、非法访问等异常情况,可手动锁定该用户。
当管理员认为用户恢复正常后,可手动解锁该用户。

设置帐号有效期

        创建新用户时,需要限制用户的操作期限(有效开始时间和有效结束时间)。
        不在有效操作期内的用户需要重新设定帐号的有效操作期。

设置密码安全策略

        用户密码存储在系统表pg_authid中,为防止用户密码泄露,openGauss对用户密码进行加密存储,所采用的加密算法由配置参数password_encryption_type决定。
        当参数password_encryption_type设置为0时,表示采用md5方式对密码加密。md5为不安全的加密算法,不建议使用。
        当参数password_encryption_type设置为1时,表示采用sha256和md5方式对密码加密,为默认配置。
        当参数password_encryption_type设置为2时,表示采用sha256方式对密码加密。

这篇关于openGuass——管理用户安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109076

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

PMBOK® 第六版 规划进度管理

目录 读后感—PMBOK第六版 目录 规划进度管理主要关注为整个项目期间的进度管理提供指南和方向。以下是两个案例,展示了进度管理中的复杂性和潜在的冲突: 案例一:近期,一个长期合作的客户因政策要求,急需我们为多家医院升级一个小功能。在这个过程中出现了三个主要问题: 在双方确认接口协议后,客户私自修改接口并未通知我们,直到催进度时才发现这个问题关于UI设计的部分,后台开发人员未将其传递给