数据库安全及访问控制资料

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

16.3.1建立用户访问数据库的权限
方法一:使用系统存储过程
语法格式:
sp_grantdbaccess [@loginame=]’login’
[,[@name_in_db=]’name_in_db’
将登录账号用户或组添加到当前数据库,使该用户能够具有在当前数据 库中执行活动的权限。
参数说明: ⑴‘login’是登录标识名称或Windows NT/2003用户或用户组名称。 ⑵‘name_in_db’是在数据库中为login参数指定登录标识所创建的用户 名称,它可以与登录名称不同,也可以相同。省略该参数时,所创建的 数据库用户名称与login相同。
在建立访问该数据库权限的基础上,然后可以在 Windows 2003中选择“开始”→“关机”,注销原来的账户, 用新的账户(比如meng)登录Windows 2003。登录成功后, 启动SSMS就可以新的用户自动进入SQL Server。
4.废除Windows NT用户和SQL Server的连接
菜 单 中 选 择 “ 属 性 ( properties ) ” 选 项 , 则 出 现 SQL Server属性对话框。 2. 在SQL Server属性对话框中选择安全性选项。 3. 在安全性选项栏中,身份验证中可以选择要设置的认证模式, 同时审核级别中还可以选择跟踪记录用户登录时的哪种信息, 例如登录成功或登录失败的信息等。 4. 在启动服务帐户中设置当启动并运行SQL Server时默认的登 录者中哪一位用户。
方法二:使用ssms
select * from sys.syslogins
2.用新建SQL server登录用户登录SQL Server
首先设置安全认证模式成混合模式,再将登录的默认数据库选 择成用户自己建立的数据库,在建立该用户访问该数据库权限 的基础上,启动ssms,先断开原来的连接,再重新连接,然 后选择SQL server身份认证,输入新的用户名和密码即可用 新用户身份访问SQL Server。
(一)Windows NT认证模式
SQL Server数据库系统通常运行在Windows NT服务器平台 上,而NT作为网络操作系统,本身就具备管理登录、验证用 户合法性的能力,因此Windows NT认证模式正是利用了这 一用户安全性和帐号管理的机制,允许SQL Server也可以使 用 NT 的 用 户 名 和 口 令 。 在 这 种 模 式 下 , 用 户 只 需 要 通 过 Windows NT的认证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。
16.2 SQL Server登录账户的管理
16.2.1 Windows NT登录帐户建立与删除 16.2.2 SQL Server登录账户建立与删除
系统内置已有的登录帐号: SQL Server有三个默认(内置)的用户登录帐号:即 sa、 builtin\administrators和guest。
⑷sid 是新建登录标识的安全标识号,一般由系统自动建立。
⑸encryption_option说明登录标识口令是否需要加密存储到系统表中,其数据 类型为varchar(20),它有以下三种取值:
①NULL:默认设置,口令加密存储;
②skip_encryption:要求不要加密口令。
③skip_encryption_old:所提供的口令被SQL Server前期版本加密, 这种取值主要用于早期版本数据库的升级。
SQL Server对登录标识的认证过程可用下图表示:
客户连接请求
认证模式
Windows认证模式
混合认证模式
N SQL Server登录标识 Y
有效的NT/2003用户帐户? N N 登录标识和口令正确?
Y SQL Server拒绝用户连接 Y
SQL Server接受用户连接
无论采用以上哪种认证模式,在用户连接到SQL Server后,他们的操作完全相同。比较起来,两种认 证模式各有优劣:
3. 让数据库用户在数据库中具有一定的权限(数据操 作权、创建对象权等)
16.1.1 用户安全认证模式
安全帐户认证是用来确认登录SQL Server的用户的登 录帐号和密码的正确性,由此来验证其是否具有连 接SQL Server的权限。
SQL Server 提供了两种确认用户的认证模式: (一)Windows NT认证模式。 (二)混合认证模式。
⑹language说明用户注册到SQL Server时使用的默认语言代码。
例:创建SQL Server登录账户wang。 EXEC sp_addlogin @loginame= 'wang', @passwd='1234' --新建登录标识wang EXEC sp_addlogin @loginame= 'wang1', @passwd='1234' , @defdb=stu
例:将上述建立的Windows 用户“ZUFE-MXH\meng” 添加到“教学 管理”数据库,并取名MANAGER。 USE 教学管理 GO EXEC sp_grantdbaccess ‘ZUFE-MXH\meng’,’ MANAGER’ GO 注意: ⑴sa不能添加到数据库中; ⑵只有sysadmin固定服务器角色、db_accessadmin和db_owner固 定数据库角色成员才能执行sp_grantdbaccess; ⑶不能从用户定义的事务中执行sp_grantdbaccess。 方法二:使用ssms
16.3 数据库访问权限的建立与删除 在数据库中,一个用户或工作组取得合法的登录帐号,只
表明该帐号通过了Windows NT认证或者SQL Server认证,但 不能表明其可以对数据库数据和数据库对象进行某种或者某 些操作,只有当他同时拥有了数据库访问权限后,才能够访 问数据库。
16.3.1 建立用户访问数据库的权限 16.3.2 删除用户访问数据库的权限
SQL Server
第16章数据库安全及访问控制
第16章数据库安全及访问控制
16.1 SQL Server安全认证模式与设置 16.2 SQL Server登录账户的管理 16.3 数据库访问权限的建立与删除 16.4 角色管理 16.5 数据库权限管理
16.1 SQL Server安全认证模式与设置
3、删除SQL server 登录标识
如果管理员要禁止某个用户连接SQL server 服务器,则可调用系 统存储过程sp_droplogin或使用ssms将其登录标识从系统中删除。 方法一:使用系统存储过程 语法格式: sp_droplogin [@loginame = ] ‘login’ 参数说明: login为存储在syslogin系统表中的SQL server登录标识。删除标 识也就是删除该用户在syslogin表中的对应记录。 方法二:使用ssms 删除步骤类似上述Windows账户删除。
1.创建SQL Server登录标识 方法一:使用系统存储过程 语法格式: sp_addlogin [@loginame=]’login’ [,[@passwd=]’password’
[,[@defdb=]’database’ [,@deflanguage=]’language’
[,[@sid=]’sid’ [,[@encryptopt=]’encryption_option’]]]]]
16.1.1 用户安全认证模式 16.1.2 设置安全认证模式
16.1 SQL Server安全认证模式与设置
SQL Server作为DBMS,采用了三个层次的安全 控制策略:
1、用户首先登录到数据库服务器上(是服务器合法 用户)
2. 然后使服务器用户(login)成为某个数据库的合 法用户,从而能够访问数据库。
户名是meng,密码是1111); ⑤单击【确定】按钮,一个新的Windows NT/2ቤተ መጻሕፍቲ ባይዱ03账户
建立成功。
2.将Windows NT/2003账户加入到SQL Server中
方法一:使用系统存储过程
在SQL Server中,授予Windows NT/2003用户或用户组连接SQL Server服务器的权限。其语法格式为:
Sa:SQL Server验证模式的系统管理员帐号; builtin\administrators: 是一个windows组帐号, 表示所有windows系统管理员(Administrator)组中 的用户都可以登录到SQL Server; Guest:是来宾帐号。
16.2.1 Windows NT登录帐户建立与删除
1、建立其他新的Windows NT/2003账户 操作步骤如下: ①以Administrators登录到Windows 2003; ②选择“开始”→“设置” →“控制面板” →“管理
工具” →“计算机管理”; ③在计算机管理窗口,选择“本地用户和组”,单击右
键,在快捷菜单上单击“新用户”,进入如下图界面; ④在“新用户”对话框中输入新用户名和密码(这里用
系 统 存 储 过 程 sp_grantlogin 所 添 加 的 登 录 标 识 均 存 储 在SQL Server的syslogins系统表中。以系统管理员身份调 用系统存储过程sp_revokelogin 或从ssms中能够将它们从 syslogin系统表中删除,这时在登录窗口中被删除的登录标 识也将不再存在(需要刷新界面)。
参数说明:
⑴Login为注册标识或SQL Server用户名,长度为1到128个字符,其中可以包括 字母、符号和数字,但不能是空字符串,不能包含‘\’,不能与现有登录标识同 名;
⑵Passwd为口令,默认口令是NULL(即不需要口令),用户可以在任何时候使用;
⑶Database指定用户在注册时连接到的默认数据库,如果没有指定默认数据库, 则默认数据库是master;
方法一:使用系统存储过程
语法格式:
sp_revokelogin {[loginame=]’login’}
参数说明:
login是待删除的SQL Server服务器登录标识。
方法二:使用ssms
16.2.2 SQL Server登录账户建立与删除
在Windows NT/2003环境下,如果要使用SQL Server登录标识登录SQL Server,首先应将SQL Server的认证模式设置为混合模式。设置成混合 认证模式后,可以使用系统存储过程或ssms创建 SQL Server登录标识。
sp_grantlogin [@loginame=]’login’
其中, ’login’是Windows NT/2003用户或用户组名称,其
格式为“域\用户名称” 。对于本地用户或组,则域名即为本地
计算机名,其格式为“计算机名\用户名称”。
方法二:使用SSMS
例:将新建的Windows NT账户meng用系统存储过程添加到 SQL Server系统中。
EXEC sp_grantlogin 'ZUFE-MXH\meng' -- ZUFE-MXH是计算机名,meng是Windows 2003用户
例:将Windows NT账户deng用SSMS方法添加到SQL Server 系统中 。
3.用新建Windows 2003用户登录SQL Server
如果想用新建Windows 2003用户登录SQL Server,首 先将登录的默认数据库选择成用户自己建立的数据库(如果 默认数据库是master,新建用户登录权限限制不起作用)。
(1)Windows认证更为安全。 (2)SQL Server认证管理较为简单,它允许应用程序
的所有用户使用同一登录标识。 为了便于用户帐户的集中管理,在Windows NT/2003
平台下,最好选用Windows认证模式。
16.1.2 设置安全认证模式
其主要过程如下: 1. 打开SSMS,用右键单击要设置认证模式的服务器,从快捷
需要注意的是:登录前必须将Windows NT账号加入到SQL Server 中, 才能采用Windows NT账号登录到SQL Server上。
(二)混合认证模式
混合认证模式允许用户使用Windows NT安全性或SQL Server安全性连接到SQL Server。在这种方式下,对 于可信连接用户的连接请求,系统将采用Windwos NT/2003认证模式,而对于非可信连接用户则采用SQL Server认证模式。采用SQL Server模式认证时,系统 检查是否已经建立了该用户的登录标识以及二者的口令 是否相同。通过认证后,用户应用程序才可连接到SQL Server服务器,否则系统将拒绝用户的连接请求。
相关文档
最新文档