数据库安全性概述
sp_addsrvrolemember ‘登录名’,’服务器角色名’ 注:角色设定好后,必须重启方能生效
将某一登录者从某一服务器角色中删除,使其 不再具有该角色权限
sp_dropsrvrolemember ‘登录名’,’服务器角色名’
上一页
下一页
例:为‘seu’登录授予固定服务器角色为 ‘sysadmin’,成功后再将其从该服务器角色删除,使其 不再具有该角色权限。
上一页
下一页
特点:
用户和组由WINDOWS管理及维护,数据 库管理员的工作仅是管理数据库;
WINDOWS具有很强的管理用户帐户的工 具;
可以在SQL SERVER增加用户组。
上一页
下一页
2、混合安全模式
功能:指用户登录时,其身份由 WINDOWS和SQL SERVER共同认证。
适用对象:适合用于外界用户访问数据库 或不能登录到WINDOWS域时使用。
登录帐户和数据库用户是SQL SERVER进行权限管理的两 种不同的对象。
一个登录帐户可与服务器上的所有数据库进行关联,产 生多个数据库用户,但在一个数据库中只能拥有一个用户;
而一个数据库用户只能映射到一个登录帐户。 SQL SERVER允许数据库为每个用户对象分配不同的权限 ,为数据库用户授权的过程也就是为登录对象提供对数据库的 访问权限的过程。
能够管理磁盘文件
Dbcreator
能够创建和修改数据库
bulkadmin
能够执行大容量数据的插入数据操作
上一页
下一页
查看固定服务器角色
sp_helpsrvrole 查看某个固定服务器角色的权限:
sp_srvrolepermission 服务器角色
上一页
下一页
2、使用T-SQL命令管理服务器角色
将登录帐户添加到服务器角色内,使其成为该 角色的成员:
删除登录帐户:删除一个登录帐户,必须确认 该登录帐户无关联的用户存在于数据库系统中,即 不存在孤儿型的用户(没有任何登录名与其映射) 。删除步骤:
先删除用户:sp_revokedbaccess ‘用户名’
再删除帐户:sp_droplogin ‘帐户名’
注:不能删除系统管理者sa以及当前连接到SQL 的登录。
2、优点:避免大量重复的工作,简化 和方便对用户的管理。
上一页
下一页
3、分类:
服务器角色:是服务器级的一个对象, 主要用于对登录名设置其对服务器的管理权 限
数据库角色:是数据库级的一个对象, 主要用于对数据库用户设置其对数据库的管 理权限
注:同一用户可属于多个角色。
上一页
下一页
固定服务器角色
SQL安装完成后,系统自动创建8个 固定的服务器角色,对于服务器角色来说, 数据库管理员只能完成以下两个操作:添加 和删除服务器角色中的成员,而不能删除服 务预定义的角色。
一个数据库只能有一个数据库所有者,其不能 被删除,默认情况下,sa帐户映射到库中的用户是 dbo,改变所有权步骤:
打开要更改所有权的数据库: 更改所有权: sp_changedbowner 登录号
注:若将所有权授予某个登录时,该登录不能 在数据库中已存在用户,若存在则先删除用户后授 予所有权。
上一页
sp_droplogin ‘seu‘
上一页
下一页
用企业管理器设置:
服务器/安全性/登录/新建登录 在弹出窗口的“常规”标签中:①若选择
WINDOWS身份验证,则需选择域名及域帐户②若
选择SQL SERVER验证模式,则需输入登录帐户名、 密码及确认密码。
单击“服务器角色”:授予该登录用户服务器范围 内的权限;
sp_addsrvrolemember ‘seu','sysadmin‘ --此时用seu重新连接后,可执行SYSADMIN的 所有功能。
Go
Sp_dropsrvrolemember ‘seu’,’sysadmin’
Go --此时只有访问权限
上一页
下一页
数据库角色
数据库角色的作用域都只在其对应的数据 库内,数据库角色分为固定数据库角色和自 定数据库角色
下一页
其中PUBLIC角色是一个特殊的数据库角色,每 位数据库用户都是该角色成员,主要负责维护数据 库中用户的全部默认许可,不能将用户和组或角色 指定为PUBLIC角色。
注:
数据库角色在数据库级别上被定义,存在于数 据库之内,存储在每个数据库sysusers表中
固定角色不能被删除、修改和创建
固定数据库角色可指定给其他登录帐户。
下一页
例:将teach的所有权授序seu帐号:
use teach Go Sp_revokedbaccess ‘abcd’ –先删除已有用户名 go sp_changedbowner ‘seu’ --授予所有权给seu帐号
上一页
下一页
角色管理
1、定义:角色类似于组,一般将具有 相同权限的一群用户群添加为某角色成员, 然后给这个角色授予适当的权限。这样该用 户群的所有用户就都具有了该角色的权限, 而没有必要逐个对每一个用户去授予相同的 权限
上一页
下一页
用T-SQL语句创建、查看、删除数据库用户
创建步骤:(1)创建登录帐户;(2)将登录帐 户映射为数据库中同名的用户。
1、在当前数据库中创建用户:sp_grantdbaccess
‘登录名’ [,当前数据库用户名]
例:sp_grantdbaccess ‘abc’,abc1 注:若省略‘用户名’,则创建一个和登录名同名的 用户名,且一个登录名在同一数据库中只能创建一个 用户。 2、查看数据库用户: sp_helpuser [用户名] 注:省略用户名则查看所有用户信息。
(一)固定数据库角色 固定数据库角色的权限由系统固定,用户 不能更改,
上一页
下一页
固定数据库角色 Public Db_owner Db_accessadmin Db_securityadmin Db_ddladin Db_backupoperator Db_datareader Db_datawriter Db_denydatareader Db_denydatawriter
数据库安全性概述
上一页
下一页
1、数据库安全性的定义
是指保护数据库中的各种数据,以防止 因非法使用而造成数据的泄密和破坏。 简单的说就是保护数据库以防止不合法 的使用所造成的数据泄露。
上一页
下一页
SQL SERVER的验证模式
验证模式分为: 身份验证模式和登录验证模式
内容包括: 确认用户帐号是否有效; 能否访问系统; 能访问系统的哪些数据。
功能 维护默认的许可 数据库属主,在特定数据库内具有全部权限 能够添加、删除数据库用户和角色 可以管理全部权限、对象所有权、角色和角色成员 资格 能够添加、删除和修改数据库对象 能够备份和恢复数据库 能够从任意表中读出数据 能够对任意表插入、修改和删除数据 不允许从表中读数据 不允许改变表中的数据
上一页
上一页
下一页
1、创建一个名为‘seu’,密码:12345,默认数据 库为‘teach’的SQL登录帐号。
sp_addlogin ‘seu', 12345, ‘teach‘ 注:此时未向该帐号授予访问teach数据库的权 限因此暂不能登录SQL。 2、查看该登录帐号的信息
sp_helplogins ‘seu’ 3、删除该帐户
上一页
下一页
3、删除数据库用户
格式: sp_revokedbaccess ‘用户名’ 注: 该过程不能删除以下角色,用户: public角色、DBO、数据库中的固定角色; master和tempdb数据库中的guest用户帐户; Windows NT组中的Windows NT用户。
上一页
下一页
例:为刚创建的‘seu’帐号授予访问‘teach’库的权 限,即创建数据库用户,用户名称为‘abcd’
BUILTIN\Administrator:是NT系统的系 统管理员组。
上一页
下一页
2、主要负责:
创建登录名; 配置服务器; 创建、删除数据库; 无须考虑所有权和权限,可以操作各种数 据库对象; 停止、启动服务器; 停止在服务器上运行的无效过程,
上一页
下一页
使用T-SQL 语言创建、查看、删除 SQL SERVER登录帐户(SQL 身份验证)
单击“数据库访问”:指定该登录用户可以访问的 数据库。
上一页
下一页
用户管理
用户是基于数据库的名称,是和登录帐 户相关联的。
上一页
下一页
1、登录名和数据库用户名的关系:
登录名是访问SQL SERVER的通行证,其本身并不能使用 户访问服务器中的数据库;用户名是登录名在数据库中使用的 名称,一个用户名必须和一个登录名相关联;
能登录Windows SERVER。
NT/2000就可连接SQL
2、SQL SERVER身份验证:
由SQL SERVER系统管理员定义SQL
的登录帐号和密码,用户连接时必须提供帐
号和口令。
上一页
下一页
设置步骤:
在“服务器”/ “安全性”/“登录”中新建登录名 ;
右键单击“服务器”,选择“属性”/“安全性” 标签,并设置“混合模式”以设置服务登录的帐 户;
创建登录帐户格式:
SP_addlogin ‘帐户名’ [,新帐户密码 ][,‘默认数据库’]
例:sp_addlogin ‘abc’,123,teach 查看登录帐户的信息: sp_helplogins [帐户名] 例:sp_helplogins abc,若省略帐户名, 则查看所有的帐户信息
上一页
下一页
登录帐号存储在主数据库的sysxlogins系 统表中;