2 SQLServer安全管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

db_securityadmin
db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin
能建立架构、更改角色
能添加或删除用户、组或角色 能备份数据库 能从数据库表中读数据 能修改数据库表中的数据 能添加、修改或删除数据库对象
(1)登录账户本身的用户账户有权访问SQL Server,但无权访 问该数据库。 (2)该数据库包含了guest用户账户。
Page 27/28
添加数据库用户
有登录用户后,能用该帐号登录到dbms服 务器。要访问数据库,还要建立数据库用 户 建立数据库用户语句格式
CREATE USER user_name [ { FOR | FROM } LOGIN login_name ]
数据库角色
用户定义数据库角色:一组具有相同权限的用户
在以下情况时将用户定义的数据库角色添加到数据库:
有一组人需要在SQL server中执行一组指定的活动, 并且不存在可使用的windows组;
没有管理windows用户账户的权限。
Page 33/28
数据库用户帐户和角色
Windows 组用户
Windows 2000
数据库安全对象范围 数据库用户/应用程序角色/角色/程序集/消息 类型 / 路由 / 服务 / 远程服务绑定 / 全文目录 / 证 书/非对称密钥/对称密钥/约定/架构 架构安全对象范围 类型/XML 架构集合/聚合/约束/函数/过 程/队列/统计信息/同义词/表/视图
Page 6/28
有权限能操作 数据库的用户
Page 5/28
主体 Windows 级 Windows 组 Windows 域登录名 Windows 本地登录名 SQL Server 级 SQL Server 登录名 固定服务器角色 请求 数据库级 数据库用户 固定数据库角色 应用程序角色
安全对象
有权限登录到这个 服务器的用户
服务器安全对象范围 端点 SQL Server 登录名 数据库
在建立了SQL Server登录账户以 后,需要授予用户和组许可,使 他们在数据库中执行任务
Page 23/28
数据库用户
登录账户用于访问SQL Server实例,数据库用户则用于访 问数据库。访问数据库需要在数据库上建立数据库的用户 数据库用户是映射到登录账户的用户
当一个登录账户映射到一个Windows组时,可以建立一个 数据库用户映射到这个登录账户,以使Windows组的成员 能够访问数据库,也可以为这个Windows组的成员单独建 立用户,而不用再新建登录账户。
Page 39/28
管理权限
对数据库对象的安全管理,是通过权限来进 行的 权限用于控制对数据库对象的访问,以及指 定用户对数据库可以执行的操作。 访问数据库资源的唯一方法是被直接授予权 限或者间接的通过角色或组的成员授予权限。
SQL Server安全性管理
内容
SQLServer的安全机制 登录账号与数据库用户的建立
了解服务器角色的作用
了解服务器角色的作用 数据库中对象的权限赋予
SQL Server 2008安全机制
服务器的安全机制 网络传输的安全机制 客户机的安全机制
身份验证 指定数据库 对象权限
登录
网络
用户 客户机 SQL Server 数据库 数据对象
如:create user zxx for login zxx
数据库角色
数据库用户账户对该数据库所具有的权限由该账户所属的数 据库角色决定 SQL Server提供了两类数据库角色:固定数据库角色和用 户自定义数据库角色
Page 29/28
数据库角色
固定数据库角色
db_owner
描述
拥有数据库的所有许可
Page 14/28
服务器角色-1
什么是服务器角色(固定服务器角色)
执行服务器级管理操作的用户权限的集合 是系统内置的 不能创建服务器角色 每个角色有一定的权限 登录帐户可以添加到服务器角色 拥有大多数常用管理功能 可以使管理员很方便地给用户授予权限 作用于整个服务器而不是单独的哪个数据库
Page 36/28
阶段总结 数据库用户
从登录中映射 特殊用户:Dbo和guest
数据库角色
固定数据库角色 用户定义数据库角色
Page 37/28
增加用户数据库角色
exec sp_addrolemember 'db_owner', 'zxx‘
存放数据库用户sysusers Select * from sysusers
添加登录帐户到服务器角色
在指派登录账户到服务器角色中时注意以下几点:
不能添加、修改和删除服务器角色。
任何已经被指派到服务器角色的登录账户可以添加其它登录 账户到这个角色。
可以通过对象资源管理器来从服务器角色中去除登录账户。
Page 19/28
登录帐户与服务器角色 SP_addsrvsolemember loginName, serverRole
create login zxx with password='123' sp_addsrvrolemember 'zxx','sysadmin'
Page 20/28
阶段总结 SQL Server 2008安全机制 身份验证模式
Windows身份验证 SQL Server身份验证
登录帐号
db_denydatareader
db_denydatawriter public
不能从数据库表中读数据
不修改数据库表中的数据 维护默认的权限
查看数据库角色
Page 30/28
数据库角色
Public角色:
维护数据库的默认用户权限
所有用户、角色或组默认的属于Public角色,因此不能将 它们分配给Public角色 包含在每一个数据库中,包括系统数据库和用户数据库 不能被删除
Page 31/28
数据库角色
在没有设置权限的情况下,用户拥有public角色的任何权 限,能够进行一下任务: 执行不要求权限的语句,如print语句。 查看系统表的信息,并执行某些存储过程,以从它们有权 访问的master和用户数据库中检索信息。
使用guest账户获得任一用户的访问权。
Page 32/28
Page 10/28
切换身份验证模式
演示
切换身份 验证模式
Page 11/28
SQL Server登录帐户
当需要使用登录账户时采用如下方法:
(1)把已有的windows用户或组添加为登录账户。
(2)创建新的SQL server登录账户。
(3)使用系统默认的登录账户。
创建登录账户 语句 CREATE LOGIN loginName {WITH <option_list>} {FROM <sources>} Sources
数据库的安全机制
数据对象的安全机制
Page 3/28
登录到系统 当用户登录数据库管理系统时,如何确保 只有合法的用户才能登录? 身份验证和主体 SQL Server提供了身份验证模式,用以验 证客户端和服务器之间连接的方式。
Windows身份验证模式 SQL Server 和Windows 身份验证模式
SQL Server 验证信任连接
SQL Server 指定登录 用户和角色
数据库用户

SQL Server
数据库角色
SQL Server 登录帐户
SQL Server 验证用户名和口令
wk.baidu.com
Page 34/28
数据库角色
演示
创建用户 定义数据
库角色
注意:在对角色应用权限时,该角色的每一个成员都获得该权限。
Page 9/28
身份验证模式
混合模式的优点:
通常用于运行在非Windows系统环境的用户、Internet用户或者 混杂的工作组用户访问SQL Server时
提示:
Windows用户映射到SQL Server 登录账户称为Windows登录账户, 由SQL Server验证的登录账户为SQL Serevr 登录账户。
身份验证模式
Windows身份验证模式
SQL Server
Windows 身份验证
用户
注意:
如果SQL server发现“SQL server登录账户列表”中的windows 账户或组账户在syslogins表中存在,则接受该账户的连接。
SQL server识别不出在windows中被删除后再重新建立的用户 或组。用户必须将该账户从SQL server中删除,然后再进行添加。
可以终止 SQL Server 实例中运行的进程
配置复制和链接服务器 用于管理磁盘文件 可以运行 BULK INSERT 语句
回顾
syslogins
登录账户存放在那个表中? 身份验证模式有哪些?
Windows身份模式和混合模式
添加登录帐户到服务器角色
服务器 角色
演示
添加服 务器角 色成员
Page 18/28
Page 35/28
添加数据库角色成员
向数据库定义的角色添加安全账户时考虑一下因素:
向角色添加安全账户时,任何应用于该角色的权限会 应用到新成员;
将一个SQL Server角色添加为另一个SQL Server角 色成员时,不能创建循环角色。故如果角色A已经是角 色B的成员时,不能将B角色添加为A角色的成员。
WINDOWS CERTIFICATE
Option_list
PASSWORD=‘***’ CHECK_CHANGE CHECK_EXPIRATION={ON| OFF}
Page 13/28
创建登录账户 create login df with password='123',default_database=schtest --建立登录账号 create login zxx with password='123',default_database=schtest --建立登录账号
Windows登录帐号 SQL Server登录帐号
服务器角色
系统内置 用户可以添加到服务器角色
Page 21/28
数据库用户
访问数据库需要在那个数据库上建立数据 库用户
从登录中映射 特殊用户
• Dbo • guest
SQL Server 用户
数据库
Page 22/28
管理数据库安全
Page 4/28
主体
主体是可以请求系统资源的个体、组合过 程。 Microsoft SQL Server 2008系统有多种不 同的主体,不同主体之间的关系是典型的 层次结构关系,位于不同层次上的主体其 在系统中影响的范围也不同。位于层次比 较高的主体,其作用范围比较大;位于层 次比较低的主体,其作用范围比较小。
Page 15/28
服务器角色-2
固定服务器角色
sysadmin dbcreator serveradmin securityadmin 执行任何活动 可以创建、更改数据库
描述
可以更改服务器范围的配置选项和关闭服务器 管理和审核登录帐户
processadmin
setupadmin diskadmin bulkadmin
演示
修改数据库用户
向数据库添加帐户
1、添加用户账户 2、默认数据库账户
Page 26/28
向数据库添加帐户
2、默认数据库账户
Guest用户账户:允许没有用户账户的用户登录并访问数据库。 可以对其配置权限、删除或将其添加到除master、tempdb以外 的任何数据库中。满足下面条件是采用guest身份登录:
Page 24/28
演示
映射数据库用户
数据库用户
修改用户属性 可以在对象资源管理器的中修改用户属性。 方法:选择数据库用户,单击鼠标右键,选择“属性”,修改用户的属 性。
删除用户
可以在对象资源管理器的中删除数据库用户。
方法是:选择要删除的数据库用户,单击鼠标右键,选择“删除”。
Page 25/28
Page 7/28
身份验证模式
SQL Server
Windows 身份验证
用户
windows 身份验证模式的优势:
(1)可以将一个Windows的用户或组被映射到SQL Serevr的登录账户。 (2)用户访问SQL Server更快,不用输入用户名和密码。 (3)提供更多功能。如安全确认和密码加密、审核、密码到期、最小密码 长度和输入无效密码后将账户锁定等。
Page 8/28
身份验证模式—混合验证
SQL Server 和Windows 身份验证模式
Windows 身份验证
用户
SQL Server
用户使用Windows身份验证可以直接访问SQL Server。 用户使用SQL Server账户与密码进行连接时,将验证账户是否在 syslogins表中,密码是否匹配。
相关文档
最新文档