当前位置:文档之家› 数据库安全及访问控制资料

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


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