




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQLSERVER安全性 SQL SERVER 数据库管理系统 SQLSERVER安全性 SQL Server 2005安全架构 身份验证模式 登录管理 用户管理 角色管理 权限管理 SQLSERVER安全性 两个安全阶段:身份验证和权限验证 视图安全机制 加密方法: 加密机制:证书、对称密钥、非对称密钥 用户架构分离 安全与加密函数 with encryption子句 审核 SQL Server Profiler(事件跟踪) SQLSERVER安全性 Windows身份验证模式 混合身份验证模式(即SQL Server身份验证 模式) 设置验证模式 SQLSERVER安全性 WINDOWS身
2、份验证模式是指通过 Windows用户帐户连接到SQL Server,用 户身份由Windows系统验证 优点: 高级安全特性 访问速度快 SQLSERVER安全性 混合身份验证模式允许用户使用Windows 和SQL Server身份进行连接,由SQL Server检验登录和密码的正确性 优点: 非Windows客户、Internet 客户能够通过混合 模式建立连接 增加了安全性的选择 SQLSERVER安全性 方法一:在“已注册的服务器”选择服务 器,单击鼠标右键,在弹出的菜单上选择 “属性”项,在“编辑”窗口进行设置。 方法二:在“对象资源管理器”中,右键 单击服务器,再单击选择“属性”
3、项。在 “安全性”页上的“服务器身份验证”下 进行设置。 SQLSERVER安全性 sysxlogins Windows Windows Group or User SQL Server Login Account sysxlogins 受信任连接受信任连接 验证登录名和验证登录名和 密码密码 SQL Server SQLSERVER安全性 系统管理员登录账号 使用Management Studio管理登录帐户 用T-SQL管理登录帐户 SQLSERVER安全性 两个默认的系统管理员登录帐号,可以在 服务器中执行任何活动 sa BUILTINAdministrators(本地管理员组) 注:应
4、给sa账号指定口令 SQLSERVER安全性 创建登录账户 查看、修改或删除登录帐户 SQLSERVER安全性 创建登录账户: 1) 选择服务器,展开“安全性”、“登录名”,并选 择“新建登录名”,进入对话框。 2) 选择验证模式,根据需要输入帐户名称、密码 3) 单击“服务器角色”,查看固定服务器角色中的成 员 4) 单击“用户映射”,查看登录到数据库用户的映射 5) 最后按“确定”按钮。 SQLSERVER安全性 查看、修改登录账户: 1) 选择服务器,展开“安全性”、“登录名。 2) 单击“登录名”下某一登录帐户,在弹出菜 单上单击“属性”项,可查看该帐户信息 3) 单击“删除”,能删除
5、该登录帐户。 SQLSERVER安全性 新建登录账户: Create LOGIN login_name WITH sp_addlogin 修改登录帐户: ALTER LOGIN; 删除帐户: DROP LOGIN; sp_droplogin; sp_revokelogin SQLSERVER安全性 新建登录账户: Create LOGIN login_name WITH |FROM sp_addlogin 修改登录帐户: ALTER LOGIN; 删除帐户: DROP LOGIN; sp_droplogin; sp_revokelogin SQLSERVER安全性 登录名与数据库用户名的关系
6、使用Management Studio管理用户 用T-SQL管理用户 SQLSERVER安全性 登录名是访问SQL Server的通行证,要访 问具体的数据库,还要有该数据库的用户 名 默认情况下,用户名和登录名使用相同的 名称 一个登录帐户可以映射到不同的数据库, 一个数据库用户只能映射到一个登录帐户 一个登录名在一个数据库中只能有一个用 户 SQLSERVER安全性 在创建登录帐户时,可指定该帐户允许访 问的数据库,同时生成该登录帐户在数据 库中的用户 步骤: 1) 选择服务器和要设置的数据库,展开“安全 性”、“用户” 2) 选择“新建数据库用户”,在弹出的对话框 输入用户名字及对应的登
7、录名,按“确定”完 成。 SQLSERVER安全性 CREATE USER语句; sp_adduser ALTER USER DROP USER; sp_revokeaccess SQLSERVER安全性 例1:创建名为AborHam且密码为 340$Uxwp7Mcxo7Khy的服务器登录名,然后在 Sales中创建对应的数据库用户AborHam。 CREATE LOGIN AborHam WITH PASSWORD=340$Uxwp7Mcxo7Khy USE Sales CREATE USER AborHam SQLSERVER安全性 dbo用户 dbo是特殊的数据库用户,它是数据库所有者,
8、 可在数据库中执行所有的操作。服务器角色 sysadmin的任何成员都会对应到每个数据库内的 一个dbo用户,且服务器角色sysadmin 任何成员 创建的任何对象自动属于dbo。dbo无法删除。 guest用户 由系统创建数据库后自动生成,它的作用是让 未经授权的或未明确定义的用户具有一定的权限, guest也无法删除。 SQLSERVER安全性 public角色 固定服务器角色:在服务器级别定义 数据库角色:在数据库级别定义 用户定义的角色 应用程序角色 SQLSERVER安全性 public角色在每个数据库中都存在,是系统 预定义的角色。每个数据库用户都自动是 此角色的成员,无法在此角色
9、中添加或删 除用户。 public角色提供数据库中用户的默认权限, 不能删除。用户将继承授予public角色的权 限。 SQLSERVER安全性 系统管理员系统管理员sysadmin可以执行任何活动可以执行任何活动 数据库创建者数据库创建者Dbcreator创建更改和删除数据库创建更改和删除数据库 磁盘管理员磁盘管理员diskadmin管理磁盘文件管理磁盘文件 进程管理员进程管理员processadmin 管理在管理在 SQL Server 中运行的进程中运行的进程 服务器管理员服务器管理员serveradmin 设置服务器范围的配置选项,关闭服务器设置服务器范围的配置选项,关闭服务器 安装管
10、理员安装管理员setupadmin可以安装复制可以安装复制 安全管理员安全管理员securityadmin 管理和审计登录帐号管理和审计登录帐号 大容量管理员大容量管理员Bulkadmin执行执行 BULK INSERT 语句语句 SQLSERVER安全性 固定服务器角色具有服务器级别上的管理 权限,存储在master.syslogins系统表中 为固定服务器角色添加/删除登录帐号: 设置登录帐号属性 系统存储过程:sp_addsrvrolemembers; sp_dropsrvrolemembers 用management studio添加/删除角色成员 查看固定服务器角色的成员: sp_h
11、elpsrvrolemembers SQLSERVER安全性 方法一:选择服务器和要设置的数据库, 展开“安全性”-“服务器角色”,在某固 定服务器角色上单击右键,选择菜单中的 “属性”项,单击“添加”或“删除”按 钮选择成员。 方法二:选择服务器和要设置的数据库, 展开“安全性”-“登录名”,在某登录名 上右击,选择“属性”,出现“登录属性” 对话框。单击“服务器角色”选项卡,直 接多项选择该登录名所属的固定服务器角 色。 SQLSERVER安全性 例1:将登录名HelenS添加到sysadmin固 定服务器角色 EXEC sp_addsrvrolemember HelenS 用manage
12、ment studio添加 例2:查看sysadmin固定服务器角色的成员 sp_helpsrvrolemember sysadmin SQLSERVER安全性 publicMaintain all default permissions db_ownerPerform any database role activity db_accessadmin Add or remove database users, groups, and roles db_ddladminAdd, modify, or drop database objects db_security adminAssign s
13、tatement and object permissions db_backupoperatorBack up database db_datareaderRead data from any table db_datawriterAdd, change, or delete data from all tables db_denydatareaderCannot read data from any table db_denydatawriterCannot change data in any table SQLSERVER安全性 public提供数据库中用户的默认权限提供数据库中用户的
14、默认权限 db_owner (dbo)可以执行数据库所有的维护和配置活动可以执行数据库所有的维护和配置活动 db_accessadmin 可为登录帐户添加或删除访问权限可为登录帐户添加或删除访问权限 db_ddladmin可以在数据库中运行任何数据定义语言可以在数据库中运行任何数据定义语言(DDL) db_security admin可以修改角色成员身份和管理权限可以修改角色成员身份和管理权限 db_backupoperator可以备份该数据库可以备份该数据库 db_datareader可以读取所有用户表中的所有数据可以读取所有用户表中的所有数据 db_datawriter可以在所有用户表中添
15、加、删除或更改数据可以在所有用户表中添加、删除或更改数据 db_denydatareader不能读取用户表中的任何数据不能读取用户表中的任何数据 db_denydatawriter不能添加、删除或更改用户表中的任何数据不能添加、删除或更改用户表中的任何数据 SQLSERVER安全性 为固定数据库角色添加/删除用户: 系统存储过程:sp_addrolemembers; sp_droprolemembers 用management studio添加/删除角色成员 查看固定数据库角色的成员: sp_helprolemembers SQLSERVER安全性 选择要处理的固定数据库角色,右击后选 择“属
16、性”。在对话框中,单击“添加” 按钮,选择要加入数据库角色的用户名。 按“确定”完成。 SQLSERVER安全性 用于组织数据库用户的安全 当一组用户在 SQL Server中有相同的 权限时,可建用户角色 用户定义的角色只适用于数据库级别 SQLSERVER安全性 用management studio创建、删除角色 用T-SQL创建、删除角色 CREATE ROLE role_name AUTHORIZATION owner_name; sp_addrole ALTER ROLE role_name WITH NAME=new_name DROP ROLE sp_helprole 返回当前数
17、据库中的所有角色 SQLSERVER安全性 选择服务器和要设置的数据库,展开“安 全性”-“角色”-“数据库角色”,在数据 库角色目录上单击右键,选择菜单中的 “新建数据库角色”项,指定角色名与所 有者,单击“确定” 完成。 在某数据库角色上单击右键,选择菜单中 的“属性”项,可查阅或修改角色信息。 单击“删除”项完成删除。 注:角色成员 必须为空才能删除。 SQLSERVER安全性 例1:创建用户Miller拥有的数据库角色 buyers CREATE ROLE buyers AUTHORIZATION Miller 用management studio添加 例2:将角色buyers的名称更
18、改为purchasing ALTER ROLE buyers WITH NAME= purchasing SQLSERVER安全性 用management studio添加与删除角色成员 用T-SQL添加与删除角色成员 sp_addrolemember rolename=role,membername=securit y_account(安全账户) sp_droprolemember sp_helprolemember 返回当前数据库中的某个 角色的成员信息 SQLSERVER安全性 方法一:在前面提过的某数据库角色的 “数据库角色属性”对话框中,“常规” 选项卡上,右下角成员操作区,单击 “
19、添 加”或“删除”按钮选择成员。 方法二:选择要设置的数据库,展开“安 全性”-“用户” ,选择某具体用户,右击, 选择“属性”,出现“数据库用户”对话 框。在右下角成员操作区,直接多项选择 该用户名所属的数据库角色。 SQLSERVER安全性 例1:将用户Ben添加到数据库角色purchasing Sp_addrolemember purchasing,Ben 用management studio添加 SQLSERVER安全性 用于应用程序级的安全,不允许用户直接 操作表中数据,只能通过特定的应用程序 访问 特点: 定义在数据库中,类似于用户定义的数据库角 色,可以分配权限 建立时,需提供口
20、令 无成员 非活动的,使用时需要激活(sp_setapprole) SQLSERVER安全性 用management studio创建、删除角色 用T-SQL创建、删除角色 CREATE APPLICATION ROLE appication_role_name WITH PASSWORD=password ,DEFAULT_SCHEMA=schema_name ALTER APPLICATION ROLE DROP APPLICATION ROLE sp_setapprole, sp_unsetapprole SQLSERVER安全性 选择服务器和要设置的数据库,展开“安 全性”-“角色”-
21、“应用程序角色”,在数 据库角色目录上单击右键,选择菜单中的 “新建应用程序角色”项,在“常规”选 项卡指定角色名称指定角色名称、默认结 构、密码等信息,单击“确定” 完成。 SQLSERVER安全性 用户权限是指不同的用户对不同的数据对 象允许执行的操作权限 主体与安全对象的概念 权限类型 管理权限 SQLSERVER安全性 1) 主体 主体是可以请求SQL Server数据资源的个体、 组,每个主体有唯一的安全标识符(SID)。主 体分为如下几种: Windows级别的主体:Windows登录名 SQL Server级别的主体:SQL Server登录名 数据库级别的主体:数据库用户、数据
22、库角色、应 用程序角色 SQLSERVER安全性 2) 安全对象 安全对象是系统控制对其访问的资源。安全对 象范围有服务器、数据库、架构三个层次。 安全对象范围服务器:包含端点、登录帐户、数据 库等 安全对象范围数据库:包含用户、角色、应用程序 角色、程序集、服务、证书、非对称密钥、对称密 钥、约定等 安全对象范围架构:包含类型、约束、函数、过程、 队列、统计信息、表、视图等 SQLSERVER安全性 Fixed Role Object Owner SELECT INSERT UPDATE DELETE REFERENCES SELECT UPDATE REFERENCES EXEC TABL
23、E VIEW COLUMN STORED PROCEDURE CREATE DATABASE CREATE TABLE CREATE VIEW CREATE PROCEDURE CREATE RULE CREATE DEFAULT CREATE FUNCTION BACKUP DATABASE BACKUP LOG SQLSERVER安全性 用management studio管理权限 用T-SQL管理权限 授予、拒绝和废除许可权限 “授予权限”许可访问 “拒绝权限”即禁止访问 废除已授予或已拒绝的权限 SQLSERVER安全性 GRANT: 授予授予 REVOKE: 回收回收 DENY: 拒绝拒绝 SQLSERVER安全性 可从主体或安全对象出发来设置权限 从主体:选择用户或角色,右击“属性” 项,单击“安全对象”选项卡,对权限进 行设置 从安全对象:选择数据库或表,右击“属 性”项,单击“权限”选项卡,选定用户 或角色对其权限进行设置 SQLSERVER安全性 GRANT、REVOKE、DENY 例:授予用户Ben对Sales中的Employee的 SELECT权限 GRANT SELECT ON Sales. E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市延庆区2025届高三下学期2月一模试题 物理(含答案)
- 河北省衡中清大教育集团2025年高三第二学期期中考试物理试题试卷含解析
- 建东职业技术学院《专业英语B》2023-2024学年第一学期期末试卷
- 廊坊市广阳区2025年小升初素养数学检测卷含解析
- 湖北省黄石市育英高级中学2025届高三第二学期高考生物试题模拟试卷含解析
- 日喀则地区定日县2025年三下数学期末教学质量检测试题含解析
- 沈阳体育学院《水土保持工程学》2023-2024学年第二学期期末试卷
- 四川省达州市重点中学2025届高三第四次联合测试卷语文试题文试卷含解析
- 山东省青岛市市南区重点达标名校2025届初三第三次质量预测生物试题试卷含解析
- 云南省丽江市古城中学2024-2025学年第二学期高三第二次模拟考试语文试题含解析
- 山东省日照市东港区2023-2024学年六年级下学期期中数学试题
- 李丰黄金K线理论详解
- MOOC 家庭与社区教育-南京师范大学 中国大学慕课答案
- 癌症的一病一品
- 初中一年级下学期期末考试语文试卷含答案(人教版)
- 合作商务方案
- 档案数字化培训课件
- 母与子性可行性报告
- 口腔行业人效分析
- 人工智能教育在中小学班级管理中的应用策略
- 华为QSA审核报告
评论
0/150
提交评论