当前课程知识点:数据库系统原理与开发 >  第5章 数据库管理 >  5.4 安全管理 >  5.4.2 安全管理-2

返回《数据库系统原理与开发》慕课在线视频课程列表

5.4.2 安全管理-2在线视频

下一节:5.5 数据库备份与恢复

返回《数据库系统原理与开发》慕课在线视频列表

5.4.2 安全管理-2课程教案、知识点、字幕

大家好!

我是主讲教师陆鑫

下面我们开始学习数据库课程

第5.4小节 安全管理—用户、角色、权限管理

本节学习目标如下

1)掌握数据库用户管理方法

2)掌握数据库权限管理方法

3)掌握数据库角色管理方法

一、用户管理

用户要访问数据库

必须先在DBMS中创建其账号

并成为数据库的用户

此后,用户每次访问数据库

都需要在DBMS进行身份验证

只有合法用户才能进入系统

访问操作数据库对象

在数据库系统中

DBMS验证用户过程如下图所示

在数据库系统中

验证用户身份是由DBMS相应模块来实现

只有在用户输入正确的登录名及其密码后

才能成功验证通过

DBMS根据该用户的角色

赋予他访问数据库对象的操作权限

该用户只能在他的权限范围内访问操作数据库对象

用户管理

在数据库安全管理中

DBMS需要对每个用户进行管理

如用户创建、用户修改

用户删除等管理

实现用户管理方式

数据库服务器执行SQL语句管理用户

通过管理工具GUI操作管理用户

1.用户创建SQL语句

CREATE USER [ [WITH] option […]]

例如,创建一个新用户

其账号名字为“userA”

密码为“123456”

该用户具有登录权限(Login)和角色继承权限(Inherit)

但它不是超级用户(SuperUser)

不具有创建数据库权限(CreateDB)

创建角色权限(CreateRole)

数据库复制权限(Replication)

此外,数据库连接数(Connection Limit)不受限

实现该用户创建的SQL语句如下

在创建用户的SQL语句中

会使用一些数据库选项参数

其定义具体见相应的DBMS技术手册

用户创建SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入用户创建SQL语句

点取“运行”按钮

当该SQL正确执行后

系统返回成功消息

2.用户修改SQL语句

针对用户修改

SQL语言提供了多种内容的修改语句

如下所示

修改用户属性 ALTER USER [ [ WITH ] option [ ... ] ]

修改用户名称 ALTER USER RENAME TO ;

修改用户参数值 ALTER USER SET

重置用户参数值 ALTER USER RESET ;

例如, 修改用户“userA”的账号密码为“gres123”

同时也限制该用户的数据库连接数为10

针对该用户修改要求

其SQL语句如下

用户修改SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入用户修改SQL语句

点取“运行”按钮

当该SQL正确执行后

系统返回成功消息

3.用户删除SQL语句

如下所示

DROP USER ;

例如, 在数据库中删除用户“userA”

可以通过执行如下用户删除SQL语句实现用户删除

用户删除SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入用户删除SQL语句

点取“运行”按钮

当该SQL正确执行后

系统返回成功消息

二、权限管理

数据库权限管理是指DBA管理员

或数据库对象拥有者对其所拥有对象进行权限控制设置

权限管理基本操作

授予权限

收回权限

拒绝权限

权限类别

数据库系统权限

数据库对象访问操作权限

数据库对象定义操作权限

1.权限管理SQL语句

授予权限SQL语句 GRANT

收回权限SQL语句 REVOKE

拒绝用户权限SQL语句 DENY

权限管理实例

例如, 在3.7.1节工程项目管理系统中

DBA管理员赋予员工用户(userA)对部门表(Department)

员工表(Employee)

项目表(Project)和任务表(Assignment)的读取数据权限

对用户“userA”实现授权SQL程序如下

赋予用户userA在部门表上查询权限

赋予用户userA在雇员表上查询权限

赋予用户userA在项目表上查询权限

赋予用户userA在任务表上查询权限

用户授权SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入用户授权SQL语句

点取“运行”按钮

当该SQL正确执行后

系统返回成功消息

三、角色管理

在DBMS中为了方便对众多用户及其权限进行管理

通常将一组具有相同权限的用户定义为角色(Role)

角色管理内容

创建角色

修改角色

删除角色

角色管理实现方式

执行SQL语句管理角色

通过GUI操作管理角色

1.角色管理SQL语句

角色管理包括创建角色

修改角色、删除角色等操作

其SQL语句如下所示

创建角色语句 CREATE ROLE [ [ WITH ] option [ ... ] ]

修改角色属性语句 ALTER ROLE [ [ WITH ] option [ ... ] ]

修改角色名称语句 ALTER ROLE RENAME TO

修改角色参数语句 ALTER ROLE SET

复位角色参数语句 ALTER ROLE RESET

删除指定角色语句 DROP ROLE

2.角色管理实例

例如, 在工程项目管理系统中

假定需要在ProjectDB数据库内创建经理角色Role_Manager

该角色具有登录权限(Login)和角色继承权限(Inherit)

但它不是超级用户(SuperUser)

不具有创建数据库权限(CreateDB)创建角色权限(CreateRole)

数据库复制权限(Replication)

此外,数据库连接数(Connection Limit)不受限

实现该角色创建的SQL语句如下所示

角色创建SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入角色创建SQL语句

点取“运行”按钮

当该SQL正确执行后

系统返回成功消息

3.角色权限授予

例如, 在创建好经理角色Role_Manager后

还需要赋予该角色对数据库表Department、Employee、Project、Assignment的

插入、修改、删除、查询权限

实现该角色权限授予的SQL语句如下

授予经理角色在部门表上查询、插入、修改、删除权限

授予经理角色在雇员表上查询、插入、修改、删除权限

授予经理角色在项目表上查询、插入、修改、删除权限

授予经理角色在任务表上查询、插入、修改、删除权限

角色授权SQL语句执行

将该SQL提交数据库服务器执行

其操作界面如下图所示

在数据库管理工具中

输入角色授权SQL语句

点取“运行”按钮

当该SQL语句执行成功后

系统返回成功消息

好了,本节学习结束!

数据库系统原理与开发课程列表:

第1章 数据库系统概论

-1.1 数据库及其系统概念

--1.1 数据库及其系统概念

-1.2 数据库技术发展

--1.2 数据库技术发展

-1.3 数据库应用系统

--1.3 数据库应用系统

-1.4 典型数据库管理系统

--1.4 典型数据库管理系统

-1.5 PostgreSQL对象-关系数据库系统软件

--1.5 PostgreSQL对象-关系数据库系统软件

-第1章 数据库系统概论--本章单元测试

-第1章 数据库系统概论--本章重点问题讨论

第2章 数据库关系模型

-2.1 关系及其相关概念

--2.1.1关系及其相关概念-1

--2.1.2关系及其相关概念-2

-2.2 关系模型原理

--2.2.1关系模型原理-1

--2.2.2关系模型原理-2

-2.3 PostgreSQL数据库关系操作实践

--2.3 PostgreSQL数据库关系操作实践

-第2章 数据库关系模型--本章单元测试

-第2章 数据库关系模型--本章重点问题讨论

第3章 数据库操作SQL语言

-3.1 SQL语言概述

--3.1 SQL语言概述

-3.2 数据定义SQL语句

--3.2.1数据定义SQL语句-1

--3.2.2数据定义SQL语句-2

--3.2.3数据定义SQL语句-3

-3.3 数据操纵SQL语句

--3.3 数据操纵SQL语句

-3.4 数据查询SQL语句

--3.4.1单表数据查询

--3.4.2 内置函数与分组统计

--3.4.3 多表关联查询

-3.5 数据控制SQL语句

--3.5 数据控制SQL语句

-3.6 视图SQL语句

--3.6 视图SQL语句

-3.7 PostgreSQL数据库SQL实践

--3.7 PostgreSQL数据库SQL实践

-第3章 数据库操作SQL语言--本章单元测试

-第3章 数据库操作SQL语言--本章重点问题讨论

第4章 数据库设计与实现

-4.1 数据库设计概述

--4.1 数据库设计概述

-4.2 E-R模型方法

--4.2.1 E-R模型方法-1

--4.2.2 E-R模型方法-2

-4.3 数据库建模设计

--4.3.1 数据库建模设计-1

--4.3.2 数据库建模设计-2

-4.4 数据库规范化设计

--4.4.1 数据库规范化设计-1

--4.4.2 数据库规范化设计-2

-4.5 数据库设计模型SQL实现

--4.5 数据库设计模型SQL实现

-4.6 基于Power Designer的数据库设计建模实践

--4.6 基于Power Designer的数据库设计建模实践

-第4章 数据库设计与实现--本章单元测试

-第4章 数据库设计与实现--本章重点问题讨论

第5章 数据库管理

-5.1 数据库管理概述

--5.1 数据库管理概述

-5.2 事务管理

--5.2 事务管理

-5.3 并发控制

--5.3.1 并发控制-1

--5.3.2 并发控制-2

-5.4 安全管理

--5.4.1 安全管理-1

--5.4.2 安全管理-2

-5.5 数据库备份与恢复

--5.5 数据库备份与恢复

-5.6 PostgreSQL数据库管理项目实践

--5.6 PostgreSQL数据库管理项目实践

-第5章 数据库管理--本章单元测试

-第5章 数据库管理--本章重点问题讨论

第6章 数据库应用编程

-6.1 数据库连接技术

--6.1.1 数据库连接技术-1

--6.1.2 数据库连接技术-2

-6.2 数据库存储过程

--6.2 数据库存储过程

-6.3 数据库触发器

--6.3 数据库触发器

-6.4 数据库游标

--6.4 数据库游标

-6.5 嵌入式SQL编程

--6.5 嵌入式SQL编程

-第6章 数据库应用编程--本章单元测试

-第6章 数据库应用编程--重点问题讨论

第7章 NoSQL数据库技术

-7.1 NoSQL数据库概述

--7.1.1 NoSQL数据库概述-1

--7.1.2 NoSQL数据库概述-2

--7.1.3 NoSQL数据库概述-3

-7.2 列存储数据库

--7.2.1列存储数据库-1

--7.2.2列存储数据库-2

-7.3 键值对数据库

--7.3.1 键值对数据库-1

--7.3.2 键值对数据库-2

--7.3.3 键值对数据库-3

-7.4 文档型数据库

--7.4.1文档型数据库-1

--7.4.2文档型数据库-2

--7.4.3文档型数据库-3

-7.5 图形数据库

--7.5.1图形数据库-1

--7.5.2图形数据库-2

--7.5.3 图形数据库-3

-7.6 HBase数据库项目实践

--7.6 HBase数据库项目实践

-第7章 NoSQL数据库技术--本章单元测试

-第7章 NoSQL数据库技术--本章重点问题讨论

期末考试

-期末测试--期末测试

5.4.2 安全管理-2笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。