实验六 安全性控制
(一)实验目的:
1. 了解OpenGauss提供的安全性手段。
2. 熟悉通过SQL对数据进行安全性控制。
3. 领会书上讲解的各种安全性方法。
4. 重点掌握授权和回收授权方法。
(二)实验内容:
1. 创建一些数据库用户,并理解数据库用户和角色之间的关系。
2. 利用DCL熟悉通过SQL对数据进行安全性控制(grant和revoke语句)。
(三)实验类型:演示 验证 □综合 □设计
(四)实验步骤记录、实验结果及分析(需要包含实验截图):
1.用户
通过CREATE USER创建的用户,默认具有LOGIN权限,且通过CREATE USER创建用户的同时,系统会在执行该命令的数据库中为该用户创建一个同名的SCHEMA。
创建用户cxj,登录密码为:Caoxj@123
查看用户列表
为用户cxj追加权限CREATE ROLE,使其拥有创建角色的权限。
删除用户(删除方式为级联删除)
2.角色
角色是一个命名的权限的集合。当一组用户必须具有相同的存取权限时,使用角色定义存取权限,并对用户授权是方便的,可以简化授权,并有利于授权管理。
- 创建角色
创建一个名为Teller的角色。
- 使用角色授权
GRANT<角色列表>TO<用户/角色列表>
[WITH ADMIN OPTION]
可选短语 WITH ADMIN OPTION 允许获得角色授权的用户可以传播角色授权,缺省时不能传播。
收回授予角色的权限。
3.将数据库对象授权给角色或用户。
1)创建名为joe的用户,并将sysadmin权限授权给joe。
2)撤销joe用户的sysadmin权限,然后创建tpcds模式,并给tpcds模式下创建一张reason表。
3)将模式tpcds的使用权限和表tpcds.reason的所有权限授权给用户joe。
授权成功后,joe用户就拥有了tpcds.reason表的所有权限,包括增删改查等权限。
将tpcds.reason表中r_reason_sk、r_reason_id、r_reason_desc列的查询权限,r_reason_desc的更新权限授权给joe。
将数据库postgres的连接权限授权给用户joe,并给予其在postgres中创建schema的权限,而且允许joe将此权限授权给其他用户。
6)创建角色tpcds_manager,将模式tpcds的访问权限授权给角色tpcds_manager,并授予该角色在tpcds下创建对象的权限,不允许该角色中的用户将权限授予给其他人。
4.将用户或者角色的权限授权给其他用户或角色。
1)创建角色manager,将joe的权限授权给manager,并允许该角色将权限授权给其他人。
2)创建用户senior_manage,将用户manager的权限授权给该用户。
5.权限回收
撤销权限,并清理用户。
(五)问题及解决方法:
数据库用户和角色之间的关系:
角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者兼顾两者。
在数据库中添加一个新角色,角色无登录权限。
创建角色的用户必须具备CREATE ROLE的权限或者是系统管理员。
(六)实验总结(实验总结与体会等):
数据安全性是为了保护数据库,防止未经授权的访问和恶意破坏和修改。为了保护数据库,需要在多个层面上采取安全性措施。从技术角度,数据库系统的主要安全措施包括用户标识与鉴别、存取控制、视图、审计和数据加密。
存取控制是数据库系统的主要安全措施。自主存取控制通过授权来防止未经授权和恶意访问。
实验六 安全性控制
(一)实验目的:
1. 了解OpenGauss提供的安全性手段。
2. 熟悉通过SQL对数据进行安全性控制。
3. 领会书上讲解的各种安全性方法。
4. 重点掌握授权和回收授权方法。
(二)实验内容:
1. 创建一些数据库用户,并理解数据库用户和角色之间的关系。
2. 利用DCL熟悉通过SQL对数据进行安全性控制(grant和revoke语句)。
(三)实验类型:演示 验证 □综合 □设计
(四)实验步骤记录、实验结果及分析(需要包含实验截图):
1.用户
通过CREATE USER创建的用户,默认具有LOGIN权限,且通过CREATE USER创建用户的同时,系统会在执行该命令的数据库中为该用户创建一个同名的SCHEMA。
2.角色
角色是一个命名的权限的集合。当一组用户必须具有相同的存取权限时,使用角色定义存取权限,并对用户授权是方便的,可以简化授权,并有利于授权管理。
GRANT<角色列表>TO<用户/角色列表>
[WITH ADMIN OPTION]
3.将数据库对象授权给角色或用户。
授权成功后,joe用户就拥有了tpcds.reason表的所有权限,包括增删改查等权限。
4.将用户或者角色的权限授权给其他用户或角色。
5.权限回收
(五)问题及解决方法:
数据库用户和角色之间的关系:
角色是拥有数据库对象和权限的实体。在不同的环境中角色可以认为是一个用户,一个组或者兼顾两者。
在数据库中添加一个新角色,角色无登录权限。
创建角色的用户必须具备CREATE ROLE的权限或者是系统管理员。
(六)实验总结(实验总结与体会等):
数据安全性是为了保护数据库,防止未经授权的访问和恶意破坏和修改。为了保护数据库,需要在多个层面上采取安全性措施。从技术角度,数据库系统的主要安全措施包括用户标识与鉴别、存取控制、视图、审计和数据加密。
存取控制是数据库系统的主要安全措施。自主存取控制通过授权来防止未经授权和恶意访问。