SQL server系统安全管理.ppt
《SQL server系统安全管理.ppt》由会员分享,可在线阅读,更多相关《SQL server系统安全管理.ppt(58页珍藏版)》请在三一办公上搜索。
1、第8章 系统安全管理,SQL Server 2008的身份验证模式,建立和管理用户账户,服务器角色与数据库角色,数据库权限的管理,数据库架构的定义和使用,综合应用训练,8.1 SQL Server 2008的身份验证模式,SQL Server 2008的身份认证模式是指系统确认用户的方式。SQL Server2008有两种身份认证模式:Windows验证模式和SQL Server验证模式,图8.1给出了这两种方式登录SQL Server服务器的情形。,图8.1 两种验证方式登录SQL Server服务器的情形,8.1 SQL Server 2008的身份验证模式,1Windows验证模式用户登
2、录Windows时进行身份验证,登录SQL Server时就不再进行身份验证。以下是对于Windows验证模式登录的几点重要说明:(1)必须将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。(2)如果使用Windows账户登录到另一个网络的SQL Server,必须在Windows中设置彼此的托管权限。2SQL Server认证模式在SQL Server验证模式下,SQL Server服务器要对登录的用户进行身份验证。当SQL Server在Windows操作系统上运行时,系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。
3、当采用混合模式时,SQL Server系统既允许使用Windows登录账号登录,也允许使用SQL Server登录账号登录。,8.2建立和管理用户账户,8.2.1界面方式管理用户账户1建立Windows验证模式的登录名对于Windows操作系统,安装本地SQL Server 2008的过程中,允许选择验证模式。例如,安装时选择Windows身份验证方式,在此情况下,如果要增加一个Windows的新用户liu,如何授权该用户,使其能通过信任连接访问SQL Server呢?步骤如下(在此以Windows XP为例):(1)创建Windows的用户。以管理员身份登录到Windows XP,选择“开始
4、”打开“控制面板”中的“性能和维护”选择其中的“管理工具”双击“计算机管理”,进入“计算机管理”窗口。,8.2.1界面方式管理用户账户,在该窗口中选择“本地用户和组”中的“用户”图标右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口。如图8.2所示,在该窗口中输入用户名、密码,单击“创建”按钮,然后单击“关闭”按钮,完成新用户的创建。,图8.2 创建新用户的界面,8.2.1界面方式管理用户账户,(2)将Windows账户加入到SQL Server中。以管理员身份登录到SQL Server Management Studio,在“对象资源管理器”中,找到并选择如图8.3所示的“登录
5、名”项。,图8.3 新建登录名,8.2.1界面方式管理用户账户,右击鼠标,在弹出的快捷菜单中选择“新建登录名”,打开“登录名-新建”窗口。如图8.4所示,可以通过单击“常规”选项卡的“搜索”按钮,在“选择用户或组”对话框中选择相应的用户名或用户组添加到SQL Server 2008登录用户列表中。例如,本例的用户名为:0BD7E57C949A420liu(0BD7E57C949A420为本地计算机名)。,图8.4 新建登录名,8.2.1界面方式管理用户账户,2建立SQL Server验证模式的登录名要建立SQL Server验证模式的登录名,首先应将验证模式设置为混合模式。如果用户在安装SQL
6、 Server时验证模式没有设置为混合模式,则先要将验证模式设为混合模式。步骤如下:(1)以系统管理员身份登录SQL Server Management Studio,在“对象资源管理器”中选择要登录的SQL Server服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。(2)在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验证为“SQL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。创建SQL Server验证模式的登录名也在如图8.4所示的界面中进行,输入一个自己定义的登录名,
7、例如david,选中“SQL Server身份验证”选项,输入密码,并将“强制密码过期”复选框中的勾去掉,设置完单击“确定”按钮即可。,8.2.1界面方式管理用户账户,为了测试创建的登录名能否连接SQL Server,可以使用新建的登录名david来进行测试,具体步骤如下:在“对象资源管理器”窗口中单击“连接”,在下拉框中选择“数据库引擎”,弹出“连接到服务器”对话框。在该对话框中,“身份验证”选择“SQL Server身份验证”,“登录名”填写david,输入密码,单击“连接”按钮,就能连接SQL Server了。登录后的“对象资源管理器”界面如图8.5所示。,图8.5 使用SQL Serv
8、er验证方式登录,8.2.1界面方式管理用户账户,3管理数据库用户使用SSMS创建数据库用户账户的步骤如下(以XSBOOK数据库为例):以系统管理员身份连接SQL Server,展开“数据库”“XSBOOK”“安全性”选择“用户”,右击鼠标,选择“新建用户”菜单项,进入“数据库用户-新建”窗口。在“用户名”框中填写一个数据库用户名,“登录名”框中填写一个能够登录SQL Server的登录名,如david。注意:一个登录名在本数据库中只能创建一个数据库用户。选择默认架构为dbo,如图8.6所示,单击“确定”按钮完成创建。,图8.6 新建数据库用户账户,8.2.2 命令方式管理用户账户,1创建登录
9、名在SQL Server 2008中,创建登录名可以使用CREATE LOGIN命令。语法格式:CREATE LOGIN login_name WITH PASSWORD=password HASHED MUST_CHANGE,./*WITH子句用于创建SQL Server登录名*/|FROM/*FROM子句用户创建其他登录名*/WINDOWS WITH,.|CERTIFICATE certname|ASYMMETRIC KEY asym_key_name,8.2.2 命令方式管理用户账户,其中::=SID=sid|DEFAULT_DATABASE=database|DEFAULT_LANGU
10、AGE=language|CHECK_EXPIRATION=ON|OFF|CHECK_POLICY=ON|OFF CREDENTIAL=credential_name:=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language,8.2.2 命令方式管理用户账户,(1)创建Windows验证模式登录名。创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,其中,为创建Windows登录名的选项,DEFAULT_DATABASE指定默认数据库,DEFAULT_LANGUAGE指
11、定默认语言。【例8.1】使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为0BD7E57C949A420),默认数据库设为XSBOOK。USE masterGOCREATE LOGIN 0BD7E57C949A420taoFROM WINDOWS WITH DEFAULT_DATABASE=XSBOOK命令执行成功后在“登录名”“安全性”列表上就可以查看到该登录名。,8.2.2 命令方式管理用户账户,(2)创建SQL Server验证模式登录名。创建SQL Server登录名使用WITH子句,其中:PASSWORD:用于指定正在创建的登录名的密码,
12、password为密码字符串。HASHED 选项指定在PASSWORD参数后输入的密码已经过哈希运算,如果未选择此选项,则在将作为密码输入的字符串存储到数据库之前,对其进行哈希运算。如果指定MUST_CHANGE选项,则SQL Server会在首次使用新登录名时提示用户输入新密码。:用于指定在创建SQL Server登录名时的一些选项。【例8.2】创建SQL Server登录名sql_tao,密码为123456,默认数据库设为XSBOOK。CREATE LOGIN sql_taoWITH PASSWORD=123456,DEFAULT_DATABASE=XSBOOK,8.2.2 命令方式管理用
13、户账户,2删除登录名删除登录名使用DROP LOGIN命令。语法格式:DROP LOGIN login_name【例8.3】删除Windows登录名tao。DROP LOGIN 0BD7E57C949A420tao【例8.4】删除SQL Server登录名sql_tao。DROP LOGIN sql_tao3创建数据库用户创建数据库用户使用CREATE USER命令。语法格式:CREATE USER user_name FOR|FROM LOGIN login_name|CERTIFICATE cert_name|ASYMMETRIC KEY asym_key_name|WITHOUT LOG
14、IN WITH DEFAULT_SCHEMA=schema_name,8.2.2 命令方式管理用户账户,说明:(1)user_name指定数据库用户名。FOR或FROM子句用于指定相关联的登录名。(2)LOGIN login_name指定要创建数据库用户的SQL Server登录名。login_name必须是服务器中有效的登录名。当此登录名进入数据库时,它将获取正在创建的数据库用户的名称和ID。(3)WITHOUT LOGIN指定不将用户映射到现有登录名。(4)WITH DEFAULT_SCHEMA指定服务器为此数据库用户解析对象名称时将搜索的第一个架构,默认为dbo。,8.2.2 命令方式管
15、理用户账户,【例8.5】使用SQL Server登录名sql_tao(假设已经创建)在XSBOOK数据库中创建数据库用户tao,默认架构名使用dbo。USE XSBOOKGOCREATE USER taoFOR LOGIN sql_taoWITH DEFAULT_SCHEMA=dbo,8.2.2 命令方式管理用户账户,4删除数据库用户删除数据库用户使用DROP USER语句。语法格式:DROP USER user_nameuser_name为要删除的数据库用户名,在删除之前要使用USE语句指定数据库。【例8.6】删除XSBOOK数据库的数据库用户tao。USE XSBOOKGODROP USE
16、R tao,8.3 服务器角色与数据库角色,8.3.1 固定服务器角色服务器角色独立于各个数据库。如果在SQL Server中创建一个登录名后,要赋予该登录者具有管理服务器的权限,此时可设置该登录名为服务器角色的成员。SQL Server提供了以下固定服务器角色:(1)sysadmin:系统管理员,角色成员可对SQL Server服务器进行所有的管理工作,为最高管理角色。这个角色一般适合于数据库管理员(DBA)。(2)securityadmin:安全管理员,角色成员可以管理登录名及其属性。可以授予、拒绝、撤销服务器级和数据库级的权限。另外还可以重置SQL Server登录名的密码。(3)ser
17、veradmin:服务器管理员,角色成员具有对服务器进行设置及关闭服务器的权限。(4)setupadmin:设置管理员,角色成员可以添加和删除链接服务器,并执行某些系统存储过程。(5)processadmin:进程管理员,角色成员可以终止SQL Server实例中运行的进程。(6)diskadmin:用于管理磁盘文件。,8.3.1 固定服务器角色,(7)dbcreator:数据库创建者,角色成员可以创建、更改、删除或还原任何数据库。(8)bulkadmin:可执行BULK INSERT语句,但是这些成员对要插入数据的表必须有INSERT权限。BULK INSERT语句的功能是以用户指定的格式复
18、制一个数据文件至数据库表或视图。(9)public:其角色成员可以查看任何数据库。用户只能将一个用户登录名添加为上述某个固定服务器角色的成员,不能自行定义服务器角色。例如,对于前面已建立的登录名“0BD7E57C949A420liu”,如果要给其赋予系统管理员权限,可通过“对象资源管理器”或“系统存储过程”将该登录名加入sysadmin角色。,8.3.1 固定服务器角色,1通过“对象资源管理器”添加服务器角色成员(1)以系统管理员身份登录到SQL Server服务器,在“对象资源管理器”中展开“安全性”“登录名”选择登录名,例如“0BD7E57C949A420liu”,双击或右击选择“属性”菜
19、单项,打开“登录属性”窗口。,(2)在打开的“登录属性”窗口中选择“服务器角色”选项卡。如图8.7所示,在“登录属性”窗口右边列出了所有的固定服务器角色,用户可以根据需要,在服务器角色前的复选框中打勾,来为登录名添加相应的服务器角色,此处默认已经选择了“public”服务器角色。单击“确定”按钮完成添加。,图8.7 SQL Server服务器角色设置窗口,8.3.1 固定服务器角色,2利用系统存储过程添加固定服务器角色成员利用系统存储过程sp_addsrvrolemember可将一登录名添加到某一固定服务器角色中,使其成为固定服务器角色的成员。语法格式:sp_addsrvrolemember
20、loginame=login,rolename=role参数含义:login指定添加到固定服务器角色role的登录名,login可以是SQL Server登录名或Windows 登录名;对于Windows登录名,如果还没有授予SQL Server访问权限,将自动对其授予访问权限。固定服务器角色名role必须为sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin和public之一。【例8.7】将Windows登录名0BD7E57C949A420liu添加到sysadmin固
21、定服务器角色中。EXEC sp_addsrvrolemember 0BD7E57C949A420liu,sysadmin,8.3.1 固定服务器角色,3利用系统存储过程删除固定服务器角色成员利用sp_dropsrvrolemember系统存储过程可从固定服务器角色中删除SQL Server 登录名或Windows登录名。语法格式:sp_dropsrvrolemember loginame=login,rolename=rolelogin为将要从固定服务器角色删除的登录名。role为服务器角色名,默认值为NULL,必须是有效的固定服务器角色名。【例8.8】从sysadmin固定服务器角色中删除S
22、QL Server登录名david。EXEC sp_dropsrvrolemember david,sysadmin,8.3.2 固定数据库角色,1使用“对象资源管理器”添加固定数据库角色成员(1)以系统管理员身份登录到SQL Server服务器,在“对象资源管理器”中展开“数据库”“XSBOOK”“安全性”“用户”选择一个数据库用户,例如“david”,双击或单击右键选择“属性”菜单项,打开“数据库用户”窗口。,(2)在打开的窗口中,在“常规”选项卡中的“数据库角色成员身份”栏,用户可以根据需要,在数据库角色前的复选框中打勾,来为数据库用户添加相应的数据库角色,如图8.8所示,单击“确定”按
23、钮完成添加。,图8.8 添加固定数据库角色成员,8.3.2 固定数据库角色,(3)查看固定数据库角色的成员。在“对象资源管理器”窗口中,在XSBOOK数据库下的“安全性”“角色”“数据库角色”目录下,选择数据库角色,如db_owner,右击选择“属性”菜单项,在属性窗口中的“角色成员”栏下可以看到该数据库角色的成员列表,如图8.9所示。,图8.9 数据库角色成员列表,8.3.2 固定数据库角色,2使用系统存储过程添加固定数据库角色成员利用系统存储过程sp_addrolemember可以将一个数据库用户添加到某一固定数据库角色中,使其成为该固定数据库角色的成员。语法格式:sp_addroleme
24、mber rolename=role,membername=security_accountrole为当前数据库中的数据库角色的名称。security_account为添加到该角色的安全账户,可以是数据库用户或当前数据库角色。说明:(1)当使用sp_addrolemember将用户添加到角色时,新成员将继承所有应用到角色的权限。(2)不能将固定数据库或固定服务器角色或者dbo添加到其他角色。例如,不能将 db_owner固定数据库角色添加成为用户定义的数据库角色的成员。(3)在用户定义的事务中不能使用sp_addrolemember。(4)只有sysadmin固定服务器角色和db_owner固
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL server 系统安全管理 系统安全 管理
链接地址:https://www.31ppt.com/p-4749050.html