当前位置:文档之家› 数据库管理系统的安全功能

数据库管理系统的安全功能


已创建新登录
6 管理SQL Server的登录帐户
(2)以登录帐户LoginUser的身份来登录
登录帐户名
LoginUser
***
登录帐户密 码Biblioteka 管理SQL Server的登录帐户
连接权 认证
系统数据库
×
LoginUser
访问权认证
学生库 (用户数据库)
SQl Server 服务器
×
用户数据库2


7.2.2 管理SQL Server的登录帐户

• • •
功能
登录帐户来源 三种身份验证模式 连接权认证步骤图


用户的分类
登录帐户的管理
1. 功能
• 功能:用于连接权认证
连接权 认证
登录帐户A SQl Server 服务器
登录帐户名? 密码?
2 登录帐户的来源
• 登录帐户主要来源
Windows授权用户:来源于Windows的用户或组; SQL 授权用户:来源于非Windows的用户,我们 将这种用户称为SQL用户。
删除登录帐户
sp_droplogin [ @loginame = ] login

--登录名称
DROP LOGIN login_name 操作员:系统管理员
6 管理SQL Server的登录帐户
系统管理员身份
(1)建立新的登录帐户“LoginUser”
Sp_addlogin LoginUser,abc
使用客户应用程序连接到 SQL Server
身份验证模式? Windows NT 身份验证模式
混合模式
NO
Windows NT 账户连接吗?
Yes NO
NO
SQL Server登录 连接吗?
Yes NO
有效登录? 连接许可?
Yes Yes NO
密码正确?
Yes
SQL Server拒绝连接 SQL Server接受连接
1 授予权限——授予对象权限
GRANT { ALL [ PRIVILEGES permission_list } {[ ( column_list ) ] ON { table | view } | ON { table | view } [ ( column_list ) ] | ON stored_procedure | user_defined_function } TO name_list [ WITH GRANT OPTION ] [ AS { group | role } ] • P160~161 ] |
• •
收回权限 禁止权限
1 授予权限——授予语句权限
GRANT { ALL | statement_list } TO name_list statement_list给出授权的语句列表,可以是:

BACKUP DATABASE BACKUP LOG CREATE DATABASE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW
• • 建立登录帐户manager、test1 sp_addlogin manager,123 sp_addlogin test1,123
操作员:系统管理员
例:建立登录帐户
• 建立登录帐户test1
Create login test1 With password='123'
修改登录密码
sp_password [ [ @old = ] old_password , ]
授权某登录用户为数据库用户
CREATE LOGIN test3 with password=‘123’ Use 订货管理
CREATE USER test3user for login test3
操作员:系统管理员
3. 管理数据库用户
登录帐户
映射
数据库用户
从当前数据库中删除用户
sp_revokedbaccess [ @name_in_db = ] name 或

身份验证模式
• 标准模式
• Windows身份验证模式
• 混合模式
Windows身份验证模式

集成身份验证模式也称为Windows身份验证模式, 用户通过Windows NT或 Windows 2000(以下 简称Windows)的身份验证后则自动进行SQL Server身份验证。即当用户通过Windows用户账 户进行连接时,SQL Server通过回叫Windows以 获得信息,重新验证账户名和密码。

7.2 SQL Server的认证过程
• 连接权认证 ——管理SQL Server的登录帐户 访问权认证 ——管理数据库用户 操作权认证 ——管理权限


7.2.3 管理数据库用户
• 功能

数据库用户的管理
1. 功能
要访问哪个数据库,就必须在此数据 库下建立与帐户相对应的数据库用户
连接权 认证
第7章 安全性
第7章 安全性
• • • 安全性概述 SQL Server的安全控制 其他安全问题
7.1 安全性概述
7.1.1 安全性措施的层次
• • • • • 物理层 人员层 操作系统层 网络层 数据库系统层
7.1.2 数据库管理系统的安全功能
• 安全性控制是数据库管理员(或系统管理员)的一个重要 任务,他要充分利用数据库管理系统的安全功能,保证数 据库和数据库中数据的安全。 数据库关系管理系统的安全功能可以划分为用户管理和数 据库操作权限管理两部分。
访问权认证
LoginUser DBUser 学生库 (用户数据库)
×

用户数据库2
SQL Server的认证过程
• 连接权认证 ——管理SQL Server的登录帐户
访问权认证 ——管理数据库用户 操作权认证 ——管理权限


7.2.4 权限管理
• 授予权限
授予语句权限 授予对象权限 隐含 授权
LoginUser
***
3. 管理数据库用户
(3)访问学生库
3. 管理数据库用户
思考 • 能否对 “学生”库 进行操作? • 为什么?
(4)查询“学生库”中的“学生表”的全部 信息
3. 管理数据库用户
查询? 添加数据?……
连接权 认证
系统数据库
无操作权

LoginUser SQl Server 服务器
系统数据库
√ ×
LoginUser SQl Server 服务器
访问权认证
学生库 LoginUser (用户数据库) 的数据库用户
×
用户数据库2
授权登录用户为当前数据库用户
sp_grantdbaccess [@loginame =] login
[,[@name_in_db =] name_in_db]
P159
1 授予权限
• 授予权限
授予语句权限 授予对象权限 查询授权
• • •
收回权限 禁止权限 角色与存取控制
1 授予权限——授予对象权限
• 处理数据或执行存储过程时需要有相应对象的操作或执行权限,这 些权限可以划分为:
SELECT、INSERT、UPDATE和DELETE语句权限, 它们可以应用到整个表或视图上。 SELECT和UPDATE 语句权限,它们可以有选择性地 应用到表或视图中的单个列上。 INSERT和DELETE 语句权限,它们会影响整行,因此 只可以应用到表或视图中,而不能应用到单个列上。 EXECUTE语句权限,即执行存储过程和函数的权限。
--旧登录密码
{ [ @new =] new_password }
[ , [ @loginame = ] login ]

--新登录密码
--登录名称
ALTER LOGIN login_name { <status_option> | WITH <set_option> [ ,... ] } 操作员:该登录账户
--登录名称 --登录密码 --默认数据库 --默认语言 --安全标识号 --密码是否加密
Sql Server 2005里提供了Create login语句
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }
例:建立登录帐户
安全系统的核心问题是身份识别。 几个概念

• •

用户 权限 用户组 角色
7.1.3 自主存取控制与强制存取控制
• 对数据库对象的操作权限或存取控制分为
自主存取控制 强制存取控制
自主存取控制
• 自主存取控制就是由用户(如数据库管 理员)自主控制对数据库对象的操作权 限,哪些用户可以对哪些对象、进行哪 些操作,完全取决于用户之间的授权。 目前大多数数据库管理系统都支持的是 自主存取控制方式。
3 三种身份验证模式
• 三种身份验证模式
标准模式(也称为SQL Server登录模式) Windows身份验证模式
混合验证模式
身份验证模式
• 标准模式
• Windows身份验证模式
• 混合模式
标准身份验证模式
• 在这种模式下,由数据库管理系统独立来管理 自己的数据库安全。 数据库管理系统把用户登录的ID号和口令存储 在特定的系统表中,当用户试图登录到数据库 系统时,数据库管理系统查询有效的登录ID和 口令,以决定是否允许用户登录。
相关主题