发文章是为了证明自己真的掌握了一个知识,同时给他人带来帮助,如有问题,欢迎指正,祝大家万事胜意!
目录
前言
本实验主要内容为操作系统参数检查、 openGauss 健康状态检查、数据库性能检查、日志检查
和清理、时间一致性检查、应用连接数检查、例行维护表等
我的环境:
设备名称 | 设备型号 | 软件版本 |
虚拟机 | VMware | VMware-workstation-full-17.5.1 |
操作系统 | openEuler | openEuler 22.3LTS |
数据库 | openGauss | openGauss 5.0.0 |
需要的工具,大家不用现在下,后面用到了再下也可以,如果需要相关文件,可以评论,其实大多数都是可以去官网下的哈,因为我只能通过网盘给大家,文件又有点大,网盘的速度大家都是清楚的哈哈,所以还是推荐大家去官网,如果实在找不到可以找我
openGauss数据库安全指导
1 用户权限控制
1.1 实验介绍
1.1.1 关于本实验
本实验主要描述用户的创建管理、角色的创建管理、
Schema
的创建管理、用户权限设置、用
户安全策略设置。
1.1.2 实验目的
掌握用户、角色、
Schema
的创建及管理;
掌握用户权限的授予各回收;
掌握用户安全策略如何设置。
1.2 用户
通过
CREATE USER
创建的用户,默认具有
LOGIN
权限;
通过
CREATE USER
创建用户的同时系统会在执行该命令的数据库中,为该用户创建一个同名
的
SCHEMA
;其他数据库中,则不自动创建同名的
SCHEMA
;用户可使用
CREATE SCHEMA
命令,分别在其他数据库中,为该用户创建同名
SCHEMA
。
1.2.1 创建、修改、删除用户
步骤
1
启动服务器,再使用
gsql
客户端以管理员用户身份连接
postgres
数据库,假设端口号为
15400
。
[omm@node0 ~]$ gsql -d postgres -p 26000 -r
failed to connect /opt/huawei/tmp:26000.
[omm@node0 ~]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
步骤
2
连接数据库后,进入
SQL
命令界面。创建用户
jim
,登录密码为
Bigdata@123
。
openGauss=# CREATE USER jim PASSWORD 'Bigdata@123';
CREATE ROLE
openGauss=#
说明:密码规则如下:
密码默认不少于
8
个字符;
不能与用户名及用户名倒序相同;
至少包含大写字母(
A-Z
),小写字母(
a-z
),数字(
0-9
),非字母数字字符(限定为
~!@#$%^&*()-_=+\|[{}];:,<.>/?
)四类字符中的三类字符;
创建用户时,应当使用双引号或单引号将用户密码括起来。
步骤
3
查看用户列表。
openGauss=# SELECT * FROM pg_user;
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valbegin | valuntil | respool | parent | spacelimit | useconfig | nodegroup | tempspacelimit |
spillspacelimit | usemonitoradmin | useoperatoradmin | usepolicyadmin
---------+----------+-------------+----------+-----------+---------+----------+----------+----------+--------------+--------+------------+-----------+-----------+----------------+-
----------------+-----------------+------------------+----------------
omm | 10 | t | t | t | t | ******** | | | default_pool | 0 | | | | |
| t | t | t
lucy | 49478 | f | f | f | f | ******** | | | default_pool | 0 | | | | |
| f | f | f
jim | 82240 | f | f | f | f | ******** | | | default_pool | 0 | | | | |
| f | f | f
(3 rows)
步骤
4
创建有
“
创建数据库
”
权限的用户,则需要加
CREATEDB
关键字。
openGauss=# CREATE USER dim CREATEDB PASSWORD 'Bigdata@123';
CREATE ROLE
openGauss=#
步骤
5
将用户
jim
的登录密码由
Bigdata@123
修改为
Abcd@123
。
openGauss=# ALTER USER jim IDENTIFIED BY 'Abcd@123' REPLACE 'Bigdata@123';
ALTER ROLE
openGauss=#
步骤
6
为用户
jim
追加有创建角色的
CREATEROLE
权限。
openGauss=# ALTER USER jim CREATEROLE;
ALTER ROLE
openGauss=#
步骤
7
锁定
jim
帐户。
openGauss=# ALTER USER jim ACCOUNT LOCK;
ALTER ROLE
openGauss=#
步骤
8
解锁
jim
帐户。
openGauss=# ALTER USER jim ACCOUNT UNLOCK;
ALTER ROLE
openGauss=#
步骤
9
删除用户.
openGauss=# DROP USER jim CASCADE;
DROP ROLE
openGauss=#
1.3 角色
角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者
兼顾两者。
在数据库中添加一个新角色,角色无登录权限。
创建角色的用户必须具备
CREATE ROLE
的权限或者是系统管理员。
1.3.1 创建、修改、删除角色
步骤
1
启动服务器,再使用
gsql
客户端以管理员用户身份连接
postgres
数据库,假设端口号为
15400
。
[omm@node0 ~]$ gsql -d postgres -p 15400 -r
gsql ((openGauss 5.0.0 build a07d57c3) compiled at 2023-03-29 03:37:13 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
openGauss=#
步骤
2
创建一个角色,名为
manager
,密码为
Bigdata@123
。
openGauss=# CREATE ROLE manager IDENTIFIED BY 'Bigdata@123';
CREATE ROLE
openGauss=#
步骤
3
创建一个角色,从
2020
年
7
月
1
日开始生效,到
2020
年
12
月
1
日失效。
openGauss=# CREATE ROLE miriam WITH LOGIN PASSWORD 'Bigdata@123' VALID BEGIN '2020-07-01' VALID UNTIL '2020-12-01';
CREATE ROLE
openGauss=#
步骤
4
修改角色
manager
的密码为
abcd@123
。
openGauss=# ALTER ROLE manager IDENTIFIED BY 'abcd@123' REPLACE 'Bigdata@123';
ALTER ROLE
openGauss=#
步骤
5
修改角色
manager
为系统管理员。
openGauss=# ALTER ROLE manager SYSADMIN;
ALTER ROLE
步骤 6 删除角色 manager。
openGauss=# DROP ROLE manager;
DROP ROLE
步骤
7
查看角色。
openGauss=# SELECT * FROM PG_ROLES;
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolauditadmin | rolsystemadmin | rolconnlimit | rolp
assword | rolvalidbegin | rolvaliduntil | rolrespool | rolparentid | roltabspace | rolconfig | oid | roluseft | rolkind | nodegroup | roltempspace | rolspills
pace | rolmonitoradmin | roloperatoradmin | rolpolicyadmin
--------------------------+----------+------------+---------------+-------------+--------------+-------------+----------------+---------------+----------------+--------------+-----
--------+------------------------+------------------------+--------------+-------------+-------------+-----------+-------+----------+---------+-----------+--------------+----------
-----+-----------------+------------------+----------------
dim | f | t | f | t | f