1 / 22

数据库原理与 SQL Server

数据库原理与 SQL Server. 第 19 课 数据安全性. 第 19 课 数据安全性. 目标: 掌握 SQL Server 认证模式 掌握登录账号管理 掌握数据库用户管理 掌握角色管理 掌握权限管理. 8.1 SQL Server 安全机制. 安全管理. 登录数据库服务器. 服务器级安全 :. 访问数据库. 数据库级安全 :. 数据库对象级安全:. 操作数据库对象. 8.2 登录管理. 1. 认证模式 Windows 认证模式: Windows 用户 混合认证模式: Windows 用户+ SQL Server 用户.

saxton
Download Presentation

数据库原理与 SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库原理与SQL Server 第19课 数据安全性

  2. 第19课 数据安全性 目标: • 掌握SQL Server认证模式 • 掌握登录账号管理 • 掌握数据库用户管理 • 掌握角色管理 • 掌握权限管理

  3. 8.1 SQL Server安全机制 安全管理 登录数据库服务器 服务器级安全: 访问数据库 数据库级安全: 数据库对象级安全: 操作数据库对象

  4. 8.2 登录管理 1. 认证模式 Windows认证模式:Windows用户 混合认证模式: Windows用户+SQL Server用户 2. 设置认证模式 • SQL-EM→数据库服务器→右键→属性→安全性 引例:创建登录账号

  5. 一、创建登录账号 登录账号类型:标准账号、Windows用户账号、 Windows组账号 1. 使用SQL-EM SQL-EM→安全性→登录→右键→新建登录 实例 创建Windows用户登录账号login1,默认数据库student 注:Windows用户名称为“<计算机名或域名>\<用户名或组名>” 2. 使用SQL语句 语句格式:sp_addlogin '<登录账号>','<密码>','<数据库>' 实例 创建SQL Server用户登录账号login2 ,默认数据库student

  6. 二、修改登录账号 1. 使用SQL-EM SQL-EM→安全性→登录账号→右键→属性 2. 使用SQL语句 修改密码:sp_password '<原密码>','<新密码>','<登录账号>' 修改默认数据库:sp_defaultdb '<登录账号>','<默认数据库>'

  7. 三、删除登录账号 1. 使用SQL-EM SQL-EM→安全性→登录账号→右键→删除 2. 使用SQL语句 语句格式:sp_droplogin '<登录账号>'

  8. 8.3 用户管理 SQL Server账号 登录账号(Login Name):登录数据库服务器 用户账号(User Name):使用数据库 引例:创建数据库用户

  9. 一、默认数据库用户 1. dbo 数据库创建者即为dbo(数据库所有者),拥有数据库最高权限 新建数据库中只有一个用户dbo,不能删除 sa、固定服务器角色自动关联dbo 2. guest 所有登录账号自动拥有guest用户的权限 新建数据库中没有guest用户

  10. 二、创建数据库用户 1. 使用SQL-EM SQL-EM→数据库→用户→右键→新建数据库用户 实例 为登录账号login1在student中创建数据库用户user01 2. 使用SQL语句 语句格式:sp_grantdbaccess '<登录账号>'[,'<数据库用户>'] 实例 为登录账号login2在student中创建数据库用户user02

  11. 三、删除数据库用户 1. 使用SQL-EM SQL-EM→数据库→用户→右键→删除 注 不能删除拥有数据库对象的用户 2. 使用SQL语句 语句格式:sp_revokedbaccess '<数据库用户>'

  12. 8.4 角色管理 角色:不同角色拥有不同权限 不同用户共同拥有的权限 方便权限管理 固定服务器角色 • 固定数据库角色 • 自定义数据库角色 角色

  13. 固定服务器角色 权限 sysadmin 可在SQL Server中执行任何活动 serveradmin 可设置服务器范围的配置选项,关闭服务器 setupadmin 可管理链接服务器和执行某些系统过程 securityadmin 可管理登录和CREATE DATABASE权限,读取错误日志和更改密码 processadmin 可以管理在 SQL Server 中运行的进程 dbcreator 可以创建、更改和删除数据库 diskadmin 可以管理磁盘文件 bulkadmin 可以执行BULK INSERT语句 一、固定服务器角色 固定服务器角色:服务器级别,实现登录账号分组管理

  14. 管理固定服务器角色 服务器角色在安装时定义,不能修改,只能添加删除成员 1.添加成员 SQL-EM:SQL-EM→安全性→服务器角色→右键→属性 SQL语句:sp_addsrvrolemember '<登录账号>','<服务器角色>' 2.删除成员 SQL-EM:SQL-EM→安全性→服务器角色→右键→属性 SQL语句:sp_dropsrvrolemember '<登录账号>','<服务器角色>'

  15. 固定数据库角色 权限 db_owner 在数据库中有全部权限 db_accessadmin 可添加或删除用户 db_securityadmin 可管理全部权限、对象所有权、角色和角色成员 db_ddladmin 可以添加、修改和删除数据库中的对象 db_backupoperator 可对数据库进行备份 db_datareader 可查看数据库内任何用户表中的所有数据 db_datawriter 可更改数据库内任何用户表中的所有数据 db_denydatareader 不能查看数据库中的数据 db_denydatawriter 不能更改数据库中的数据 二、固定数据库角色 固定数据库角色:数据库级别,实现数据库用户分组管理 Public角色:所有数据库用户都属于Public角色 固定数据库角色在安装时定义,不能修改只能添加删除成员

  16. 三、自定义数据库角色 如果一组用户具有相同权限,可以通过自定义数据库角色实现 1. 创建自定义数据库角色 SQL-EM:SQL-EM→数据库→角色→右键→新建数据库角色 实例 在student中创建角色teacher并添加用户user01、02 SQL语句:添加角色 sp_addrole '<角色名>' 添加成员 sp_addrolemember '<角色>','<用户>' 2.删除自定义数据库角色 SQL-EM:SQL-EM→数据库→角色→右键→删除 SQL语句:sp_droprole '<角色名>'

  17. 8.5 权限管理 通过账号可以访问数据库,但对数据库对象操作必须拥有权限 默认权限: • 对象权限: • 语句权限: 系统自动授予,包括固定服务器、数据库角色 对数据库对象的访问权限 执行管理类语句的权限 权限 语句权限控制语句本身,所涉及数据库对象由对象权限决定 引例:设置数据库库用户权限

  18. 一、对象权限 1. 使用SQL-EM SQL-EM→数据库→对象→右键→属性 实例 授予public对student表s的select操作权限 该例实际将student表s的select操作权限授予student的所有用户 2. 使用SQL语句 授予、撤销、禁止对象权限:GRANT|REVOKE|DENY ALL|<对象权限> ON <对象名> TO <用户>|<自定义数据库角色> 实例 授予user02对student表s的insert、delete、update操作权限 撤销与禁止权限的区别是:撤销还可从角色中继承,而禁止不能

  19. 二、语句权限 1. 使用SQL-EM SQL-EM→数据库→右键→属性 实例 授予public对student的create table语句权限 create database语句权限在master中设置 2. 使用SQL语句 授予、撤销、禁止语句权限:GRANT|REVOKE|DENY ALL|<对象权限> TO <用户>|<自定义数据库角色> 实例 授予user02对student的create table、 create view语句权限

  20. SQL Server安全管理机制 数据库 数据库 对象 数据库 服务器 注册 访问 操作 登录账号 数据库用户 权限及角色

  21. 作业 第八章 习题 1、2、3、4、5、6、7、8、9、10

  22. 实训 实训名称:数据安全性管理 目的要求:掌握SQL Server 2000中有关登录账号、用户账号、角色和权限的管理 操作步骤: ① 设置SQL Server 2000数据库服务器使用SQL Server和Windows混合认证模式。 ② 创建登录账号,账号名要求为:<班级>_<学号>,自行设置密码,并用账号<班级>_<学号>登录,测试其能否访问数据库student。 ③ 创建登录账号<班级>_<学号>在数据库student中对应的用户账号<班级>_<学号>,并用账号<班级>_<学号>登录,测试其能否对数据库student中的表进行操作。 ④ 授予用户<班级>_<学号>对表<班级>_<学号>_s、<班级>_<学号>_c、<班级>_<学号>_sc的查询、插入和修改权限,用账号<班级>_<学号>登录,测试其能否对数据库student对象进行操作。 ⑤ 授予用户<班级>_<学号>对数据库student的SELECT语句的权限。 ⑥ 创建自定义数据库角色student,并将用户<班级>_<学号>添加到自定义数据库角色student中。

More Related