48
第第第第第第

第一讲 用户权限设置

  • Upload
    pelham

  • View
    86

  • Download
    3

Embed Size (px)

DESCRIPTION

第一讲 用户权限设置. 工作目标. 用户权限设置. 系统数据备份与恢复. 1. 2. 工作任务. 决策与计划. 资 讯. 实 施. 检查与评价. 基于工作过程化的学习情境. 信息收集 理论学习. 讨论方案 制定计划. 任务分解 过程实施. 质量评价 项目拓展. 资 讯. 分析情景任务单主要内容: 信息收集 介绍商品管理系统中的用户权限界面和系统备份和还原界面,引入系统数据库建立的工作流程。 理论学习 了解数据库的安全机制和措施 - PowerPoint PPT Presentation

Citation preview

Page 1: 第一讲  用户权限设置

第一讲 用户权限设置

Page 2: 第一讲  用户权限设置

1. 培养职业能力目标 ( 1 )具备数据库系统安全维护能力;( 2 )能设置用户权限和设置数据库访问属性;( 3 )能根据需要灵活地进行数据库备份和还原。

2.培养专业知识目标 ( 1 )了解数据库安全性机制措施;( 2 )掌握数据库用户权限设置;( 3 )掌握数据库备份和还原策略。

3.培养职业素质能力( 1 )树立数据安全意识;( 2 )培养严肃、认真的工作态度。

工作目标工作目标

Page 3: 第一讲  用户权限设置

基于工作过程化的学习情境

资 讯资 讯

决策与计划决策与计划

实 施实 施

检查与评价检查与评价

信息收集

理论学习

讨论方案

制定计划

任务分解

过程实施

质量评价

项目拓展

用户权限设置1

系统数据备份与恢复2

工作任务

Page 4: 第一讲  用户权限设置

分析情景任务单主要内容:

信息收集 介绍商品管理系统中的用户权限界面和系统备份和还原

界面,引入系统数据库建立的工作流程。 理论学习 了解数据库的安全机制和措施 分析数据库用户访问安全管理方法 分析当前数据库的数据的备份和还原方法

资 讯资 讯

Page 5: 第一讲  用户权限设置

任何一个管理系统中都有各种各样的用户,不同的用户在系统中的作用是不同的, 所以应该区别对待,这里就要求如何实现系统的不同用户权限设置?

同时,企业存放在服务器上的数据可能会因为种种原因出现丢失、损坏等问题。如何在系统中去防范和弥补这些问题。使数据能够尽可能的安全。

学习情境引入学习情境引入

Page 6: 第一讲  用户权限设置

数据库应用系统实例演示数据库应用系统实例演示

Page 7: 第一讲  用户权限设置

通过对商品管理系统开发的安全维护,通过两讲共 6 个课时进行讲解:

第一讲 用户权限设置 第二讲 数据备份与恢复机制 第三讲 数据导入和导出

学习情境 5 商品管理系统数据库维护

Page 8: 第一讲  用户权限设置

第一讲 用户权限设置

Page 9: 第一讲  用户权限设置

讨论: 讨论系统中用户的分类:例如 普通客户、销售人员、仓库

管理人员等。 这些人员在系统中所起到的作用不同,为了保证数据库中数

据的安全性。因此,需要对系统中的用户进行权限划分。

返回目录

资 讯资 讯

Page 10: 第一讲  用户权限设置

为了保证数据库中数据的安全可靠和正确有效, DBMS必须提供一套有效的数据库安全保护措施,防止数据意外丢失和不一致数据的产生,以及当数据库遭受破坏后能迅速地恢复正常。 DBMS 对数据库的安全保护功能是通过四方面实现的。分别如下:

安全性控制 完整性控制 并发性控制 数据库恢复

资 讯——系统安全性能分析 资 讯——系统安全性能分析

Page 11: 第一讲  用户权限设置

数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。非法使用是指不具有数据操作权的用户进行了越权的数据操作。 DBMS 通过种种防范措施以防止用户越权使用数据库,其安全措施是否有效是衡量数据库系统优劣的重要性能指标。

资 讯——系统安全性能分析 资 讯——系统安全性能分析

数据库安全控制的一般方法 教师引导,分析讨论。

Page 12: 第一讲  用户权限设置

安全管理概述

安全管理结构 安全管理模型

服务器安全性:建立在对登录用户进行身份验证的基础上

数据库安全性:建立在对数据库用户进权限认证的基础上

Page 13: 第一讲  用户权限设置

基于为主体分配安全对象的访问权限机制

主体:Windows级主体、服务器级主体、数据库级主体

安全对象:服务器、数据库和架构 3种范围的安全对象

Page 14: 第一讲  用户权限设置

SQL Server2005 的安全机制主要包括以下五个方面

客户机的安全机制 : 用户必须能够登录到客户机 , 然后才能使用SQL Server 应用系统

网络传输的安全机制 : 一般采用数据加密和解密来实现 , 但速度慢 , 一般不采用

服务器的安全机制 : 必须在服务器有个账号和密码数据库的安全机制 : 任何登录到服务器的账号对应着一个默认

的工作数据库数据对象的安全机制 : 用户通过前面四道防线 , 才能访问数据库

中的数据对象

Page 15: 第一讲  用户权限设置

确定任务内容步骤,制定初步工作计划: 1. 确定用户权限设置方案理解 SQL Server 2005 安全机制和身份验证模式掌握服务器登录帐号的创建和删除掌握数据库用户的创建和删除理解角色概念,掌握服务器角色和数据库角色的管理掌握权限的授予、拒绝和废除2 .确定系统备份和还原的方法和步骤掌握数据库备份的原理及备份机制掌握数据库恢复的原理及恢复机制

决策与计划决策与计划

Page 16: 第一讲  用户权限设置

教师引导 SQL Server2005 是通过设置不同级别的用户和分配

不同的权限的方法来实现数据库的安全性的。用户如果要访问 SQL Server 数据库中的数据,必须提供有效的认证信息。数据库引擎必须经过 3 个认证过程:

登录身份验证(操作系统级的验证) 用户帐号验证( SQL Server 级的验证) 操作许可验证(数据库级的验证)

决策与计划——确定用户权限设置方案 决策与计划——确定用户权限设置方案

Page 17: 第一讲  用户权限设置

分组讨论数据库认证的三个过程 教师引导 服务器安全管理、数据库安全管理和数据库对象的访问权

限管理。

Page 18: 第一讲  用户权限设置

决策与计划——确定用户权限设置方案 决策与计划——确定用户权限设置方案

第一步:账户管理 SQL Server 账户包含两种:登录者和数据库用户

登录者是面对整个 SQL Server 管理系统的,某位用户必须使用特定的登录账户才能连接到 SQL Server ,但连接上并不说明就有访问数据库的权力。

数据库用户则针对 SQL Server 管理系统中的某个数据库而言,当某位用户用合法登录账户连接到 SQL Server 后,他还必须在所访问的数据中创建数据库用户。

Page 19: 第一讲  用户权限设置

第二步:角色设置与管理 在 SQL Server2005 中提供了“角色”这个概念,角

色实际是授予了一定权限的用户组。 SQL server 管理者可以将某些用户设置为某一角色,这样只需对角色进行权限设置便可实现对隶属于该角色的所有用户的权限设置,大大减少了管理员的工作量。

SQL Server2005 中有三类角色: 服务器角色、数据库用户角色、应用程序角色。

Page 20: 第一讲  用户权限设置

服务器角色 : 是执行服务器级管理操作的权限的集合 , 作用整个服务器 , 用户不能创建

用户添加到一个服务器角色时 , 该用户也将获得与角色相关联的权限。

Page 21: 第一讲  用户权限设置

数据库角色 : 具有数据库级别管理权力 , 有固定数据库角色和用户自定义数据库角色。

Page 22: 第一讲  用户权限设置

决策与计划——确定用户权限设置方案 决策与计划——确定用户权限设置方案

第三步:权限管理 权限用来指定授权用户可以使用的数据库对象和这些授权

用户可以对这些数据库对象执行的操作。用户在登录到SQL Server 之后,其用户帐号所归属的 Windwos 组或角色所被赋予的权限决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。

在 SQL Server 中包括三种类型的权限:语句权限对象权限预定义权限

Page 23: 第一讲  用户权限设置

实 施——身份验证模式设置 实 施——身份验证模式设置

第一级安全机制 对所有连接服务器的登录用户进行身份验证,并允许创建

Windows 登录用户和 SQL Server 用户进行服务器访问。管理:

登录用户管理固定服务器角色管理

身份验证模式管理登录用户

管理固定服务器角色

Page 24: 第一讲  用户权限设置

实 施——身份验证模式设置 实 施——身份验证模式设置

SQL Server 2005 的身份验证 Windows 身份验证模式:也称Windows 验证。此模式

下, SQL Server直接利用 Windows 2000 操作系统上创建的登录者来登录。

混合模式:此模式下,用户能使用 Windows 身份验证或 SQL Server 2005 的身份验证进行连接。

选择身份验证模式: ( 1 )安装 SQL Server 时 ( 2 )新建 SQL Server 注册时 ( 3 )编辑 SQL Server 注册属性时 ( 4 )配置服务器属性的安全性选项时

Page 25: 第一讲  用户权限设置

将当前 SQL Server 实例的验证模式由“windows 身份验证”改为“ SQL Server 和

Windows 身份验证” 模式。

步骤 1 :启动 SQL

Server Management

Studio ,在【对象资源管理器】中右键单击服务器,选择【属性】,打开【服务器属性】对话框,如图所示。

Page 26: 第一讲  用户权限设置

步骤 2 :选择【安全性】选项,更改【服务器的身份验证】为“ SQL Server 和

Windows 验证模式” ,单击【确定】按扭 ,完成验证模式的设置。

Page 27: 第一讲  用户权限设置

登录名就是可以访问 SQL Server 数据库系统的账户。1 .利用 SQL Server Management Studio 创建登录名( 1 )启动 SQL Server Management Studio 工具后,在“对象资源管

理器”下,右击“安全性”下的“登录名”节点,在弹出的快捷菜单中选择“新建登录名”命令。

( 2 )在“登录名 -新建”界面上,设置登录名( te_login )、身份验证模式( SQL Server 身份验证)、密码( 123456 )、默认数据库( sales )和语言的类型等,如图所示。

实 施——登录帐号实 施——登录帐号

Page 28: 第一讲  用户权限设置

管理登录名

利用 SQL Server Management

Studio 创建登录名

右击登录名 te_login ,在弹出的快捷菜单中,选择“编写登录脚本为:” |“CREATE 到” |“新查询编辑器窗口”命令,系统将创建登录名的过程以脚本形式保存下来。由此可知利用 Transact-

SQL语句创建登录名的方法。

脚本中的主要代码如下:CREATE LOGIN [te_login]

WITH PASSWORD=N'123456',

DEFAULT_DATABASE=[teaching], DEFAULT_LANGUAGE=[ 简体中文 ],

CHECK_EXPIRATION=OFF,

CHECK_POLICY=OFF

GO

EXEC sys.sp_addsrvrolemember @loginame = N'te_login',

@rolename = N'sysadmin'

GO

ALTER LOGIN [te_login] DISABLE

Page 29: 第一讲  用户权限设置

利用系统过程管理登录名

利用 master 数据库下的下列系统存储过程 sp_addlogin 、 sp_droplogin

、 sp_password也可以用于管理 SQL Server 的登录名。

( 1 ) sp_addlogin 。系统过程 sp_addlogin 可以用于创建 SQL

Server 登录名,用户可以通过该登录访问 SQL Server 系统,其语法过程如下:

sp_addlogin ‘login_name’ [,’passwd’[,’database’

[,language’]]] 利用系统过程 sp_addlogin 向“员工管理”数据库创建 1 个新

登录。Exec sp_addlogin ‘rale', 'aabbcc', ‘sales'GO

Page 30: 第一讲  用户权限设置

利用系统过程管理登录名

( 2 ) sp_droplogin 。利用系统存储过程 sp_droplogin 可以删除一个现有的 SQL Server 登录名, sp_droplogin 系统过程可以通过系统表syslogins 中删除相应的行来达到删除登录名的目的。

( 3 ) sp_password 。系统存储过程 sp_password 为 SQL Server 登录创建密码,或替换现有的口令密码。

利用该过程用户可以随时修改自己的口令密码,系统管理员通过sp_password 可以更改任何口令密码。

sp_password 'aabbcc', '112233', 'hanry'

Page 31: 第一讲  用户权限设置

服务器角色:是管理与维服务器安全对象的用户组。

8 个固定服务器角色:sysadmin

系统存储过程或目录视图 功能sp_addsrvrolemember 将某一登录加入到服务器角色中。sp_dropsrvrolemember 将某一登录从某一服务器角色中删除。sp_helpsrvrole 返回固定服务器角色列表。sp_helpsrvrolemember 返回固定服务器角色成员的信息。sys.server_role_members 查看为每个固定服务器角色的 ID 及其每个

成员的 ID 。

【例】为固定服务器角色 dbcreator,添加成员 new_login1。 (SSMS)

【例】将登录 new_login3添加到固定服务器角色 sysadmin中。 (T-SQL)

实 施——管理固定服务器角色实 施——管理固定服务器角色

Page 32: 第一讲  用户权限设置

使用 SSMS ,将登录名“ rale” 加入到服务器角色 “ securityadmin” 中。

启动 SQL Server Management Studio ,在【对象资源管理器】展开【安全性 →】 【服务器角色】节点。

右键单击【 securityadmin】,选择【属性】。 打开【服务器角色属性 - securityadmin】对话框。单击【添加】按钮,打开【选择登录名】对话框,从中选择要添加到securityadmin 服务器角色的登录名,单击【确定】即可。

如果要删除该角色中的登录名,只要在【角色成员】窗口中选择相应的登录名,然后单击【删除】按钮即可。

实 施——角色设置实 施——角色设置

Page 33: 第一讲  用户权限设置

将数据库用户 rale添加到 sales 数据库的固定数据库角色db-owner 中。

启动 SQL Server Management Studio ,在【对象资源管理器】中依次展开【数据库】节点、【 sales】节点、【安全性】节点、【角色】节点、【数据库角色】节点。

右键单击【 db-owner】,选择【属性】,打开【数据库角色属性 -db-owner】对话框。

单击【添加】按钮,打开【选择数据库用户或角色】对话框,选择【浏览】按钮,选择指定登录名“ rales” 。

单击【确定】按钮,将数据库用户“ rales”添加到“ db-owner” 数据库角色中。

Page 34: 第一讲  用户权限设置

第二级安全机制 将需要访问数据库的登录名映射为数据库用户,使其具有访问数据库及其对象的合法权限。

管理: 数据库用户 数据库角色

管理数据库用户 管理数据库角色 管理架构

Page 35: 第一讲  用户权限设置

登录用户与数据库用户的对应关系:一个登录用户可以映射到不同的数据库,在每个数据库中映射为一个数据库用户。

一个数据库用户(除特殊用户 guest )必须与一个登录用户相关联。

系统允许登录用户和数据库用户使用相同的名称。默认数据库用户:

dbo 、 guest 、 INFORMATION_SCHEMA 和 sys

实 施——管理数据库用户实 施——管理数据库用户

Page 36: 第一讲  用户权限设置

管理数据库用户: SSMS 和 T-SQL

T-SQL命令 功能CREATE USER 创建用户ALTER USER 修改用户GRANT CONNECT TO guest 激活 guest 用户 DROP USER 删除用户

Page 37: 第一讲  用户权限设置

数据库用户是访问某个特定数据库的主体。

利用 SQL Server Management Studio 创建数据库用户

( 1 )在“对象资源管理器”下,展开数据库 sale ,右击“安全性” |“ 用户”,在弹出的快捷菜单中选择“新建” |“ 用户”命令。

( 2 )在弹出的“数据库用户 -新建”

窗体中的“常规”选项卡中,输入用

户名 hans 、选择登录名 te_login ,

并选择架构。也可以指定“默认架构”项。

Page 38: 第一讲  用户权限设置

2 .利用 Transact-SQL命令创建数据库用户向当前数据库添加用户的 Transact-SQL 语法如下:

CREATE USER user_name [{ { FOR | FROM } { LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name } | WITHOUT LOGIN ]   [WITH DEFAULT_SCHEMA = schema_name ]

在 sale 数据库中创建用户 Abol

CREATE LOGIN Abol

WITH PASSWORD = '327Shy';

USE sale;

CREATE USER Abol;

GO

Page 39: 第一讲  用户权限设置

管理数据库角色

数据库角色是数据库用户构成的组

包括:固定数据库角色( 10 个)用户定义数据库角色

2 类管理操作:管理用户定义数据库角色

CREATE ROLEALTER ROLEDROP ROLE

管理数据库角色的成员

系统存储过程或目录视图

功能

sp_addrolemember

向某一角色中添加数据库用户。

sp_droprolemember

删除某一角色的数据库用户。

sp_helprolemember

显示某一角色的所有数据库用户。

sys.database_role_members

查看为每个数据库角色的 ID 及其每个成员的 ID 。

Page 40: 第一讲  用户权限设置

权限管理

权限管理: 指将安全对象的权限对相关主体进行授予、拒绝、取消操作。

安全对象的权限 使 用 SQL Server

Management Studio 管理权限 使用 T-SQL 管理权限

Page 41: 第一讲  用户权限设置

权限是 SQL Server 安全性的最后一个级别。权限可以明确用户能够使用哪些数据库对象,并对它们进行何种操作。用户在数据库内的权限取决于用户账号的权限和该用户所属的角色的权限。

在 SQL Server 中,权限分为语句、对象和暗示性 3 种类型: 语句权限。在数据库中创建数据库或其他项目的活动时所受到的权限控制。

对象权限。使用数据或执行程序的活动受到的权限控制。

暗示性权限。执行只有固定角色的成员或数据库对象的所有者才能够秩序的某些活动权限,不能授予、撤消或拒绝。

Page 42: 第一讲  用户权限设置

语句权限1 .利用 SQL Server Management Studio 管理语句权

限在“对象资源管理器”下,右击“数据库” |“sale” ,在弹出的菜单中选择“属性”,然后选择“权限”选项卡,可以查看、设置角色或用户的语句权限。 “授予”表示指权限分配给用户或角色。 “具有授予权限”是指用户或角色获得的权限可以再授予其他用户或角色。

“拒绝”将覆盖表级对列级权限以外的所有层次的权限设置

如果未进行任何设置,将从其他组成员身份中继承权限。

Page 43: 第一讲  用户权限设置

语句权限2 .利用 Transact-SQL语句管理语句权限数据控制语言( DCL )是用来设置或更改数据库用户或角色权

限的语句,包括 GRANT 、 DENY 和 REVOKE 等语句。 3 种语句的功能如

语句 含义 功能描述GRANT 授予 将安全对象的权限授予主体

DENY 拒绝 拒绝授予主体权限。防止主体通过其组或角色成员身份继承权限

REVOKE 撤销 取消以前授予或拒绝了的权限

Page 44: 第一讲  用户权限设置

语句权限 在数据库 sale 中,为数据库用户 hans 和 Abol设置

DELETE 、 INSERT 和 SELECT语句权限。程序代码如下:use teachingGO-- 为 hans 和 Abol设置带有“具有授予权

限”DELETE ,UPDATE语句的权限--WITH ADMIN OPTION 为可选项,允许被授权的用户将指

定的权限再授予其他用户或角色。GRANT DELETE ,UPDATE TO hans,Abol WITH GRANT

OPTION GO

Page 45: 第一讲  用户权限设置

对象权限 对象权限就是指使用数据或执行程序的活动时受到的权

限控制。对象权限表示对特定的数据库对象(表、视图、字段和存储过程)的操作权限,它决定了能对表、视图等数据库对象执行的操作。

1 .利用 SQL Server Management Studio 管理对象权限

在 SQL Server Management Studio 中,为查看现有的对象权限,以及“授予”、“具有授予权限”、“允许”或“拒绝”语句权限提供了图形界面。

Page 46: 第一讲  用户权限设置

对象权限1 .利用 SQL Server Management Studio 管理对象权限 在“对象资源管理器”下,右击“数据库” |rale|“表” |

员工信息,在弹出的菜单中选择“属性”,然后选择“权限”选项卡,可以查看、设置表的对象权限。

如果选择一个操作语句,然后单击“列权限”按钮,还可以设置表中某些列的权限。

Page 47: 第一讲  用户权限设置

对象权限2 .利用 Transact-SQL语句管理对象权限管理对象权限的 Transact-SQL语句包括

GRANT 、 DENY 和 REVOKE 等语句。

DENY UPDATE ON dbo.st_score (courseno) TO Abol

GO

GRANT UPDATE ON dbo.st_score (final) TO Abol

WITH GRANT OPTION AS dbo

GO

-- 查看表 st_score 的所有对象权限EXECUTE sp_helprotect 'st_score'

GO

Page 48: 第一讲  用户权限设置

总 结

安全管理结构分为两个层次:服务器安全管理和数据库安全管理。

T-SQL 使用 GRANT 、 DENY 、 REVOKE语句为主体授予、拒绝或取消特定安全对象的访问权限。