《系统安全管理》PPT课件.ppt

上传人:小飞机 文档编号:5566400 上传时间:2023-07-28 格式:PPT 页数:51 大小:907.50KB
返回 下载 相关 举报
《系统安全管理》PPT课件.ppt_第1页
第1页 / 共51页
《系统安全管理》PPT课件.ppt_第2页
第2页 / 共51页
《系统安全管理》PPT课件.ppt_第3页
第3页 / 共51页
《系统安全管理》PPT课件.ppt_第4页
第4页 / 共51页
《系统安全管理》PPT课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《《系统安全管理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《系统安全管理》PPT课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、第9章 系统安全管理,9.1 SQL Server 2008安全机制,9.2 建立和管理用户账户,9.3 角色管理,9.4 数据库权限的管理,9.5 数据库架构定义和使用,9.1 SQL Server 2008安全机制,9.1.1 SQL Server 2008身份验证模式SQL Server 2008的身份验证模式是指系统确认用户的方式。SQL Server 2008有两种身份验证模式:Windows验证模式和SQL Server验证模式。如图9.1所示为这两种方式登录SQL Server服务器的情形。,9.1.1 SQL Server 2008身份验证模式,1Windows验证模式(1)必

2、须将Windows账户加入到SQL Server中,才能采用Windows账户登录SQL Server。(2)如果使用Windows账户登录到另一个网络的SQL Server,则必须在Windows中设置彼此的托管权限。2SQL Server验证模式在SQL Server验证模式下,SQL Server服务器要对登录的用户进行身份验证。当SQL Server在Windows XP或Windows 2003/2008等操作系统上运行时,系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。,9.1.2 SQL Server 2008安全性机制,(1)服务器级别所包含的安全对象主要

3、有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。(2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。(3)架构级别所包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。,9.2 建立和管理用户账户,9.2.1 界面方式管理用户账户1建立Windows验证模式的登录名第1步:创建Windows的用户。,9.2.1 界面方式管理用户账户,第2步:将Windows账户加入到SQL Server中。,9.2.1 界面方式管理用户账户,2建立S

4、QL Server验证模式的登录名步骤如下。第1步:以系统管理员身份登录SQL Server Management Studio,在对象资源管理器中选择要登录的SQL Server服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。第2步:在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验证为“SQL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。,9.2.1 界面方式管理用户账户,3管理数据库用户使用SSMS创建数据库用户账户的步骤如下(以PXSCJ为例):,9.2.2 命令方式管

5、理用户账户,1创建登录名在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,9.2.2 命令方式管理用户账户,其中,:=SID=sid|DEFAULT_DATABASE=database|DE

6、FAULT_LANGUAGE=language|CHECK_EXPIRATION=ON|OFF|CHECK_POLICY=ON|OFF CREDENTIAL=credential_name:=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language,9.2.2 命令方式管理用户账户,【例9.1】使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为0BD7E57C949A420),默认数据库设为PXSCJ。USE masterGOCREATE LOGIN 0BD7E57C949A420taoFROM WIN

7、DOWS WITH DEFAULT_DATABASE=PXSCJ【例9.2】创建SQL Server登录名sql_tao,密码为123456,默认数据库设为PXSCJ。CREATE LOGIN sql_taoWITH PASSWORD=123456,DEFAULT_DATABASE=PXSCJ,9.2.2 命令方式管理用户账户,2删除登录名删除登录名使用DROP LOGIN命令。语法格式:DROP LOGIN login_name【例9.3】删除Windows登录名tao。DROP LOGIN 0BD7E57C949A420tao【例9.4】删除SQL Server登录名sql_tao。DRO

8、P LOGIN sql_tao,9.2.2 命令方式管理用户账户,3创建数据库用户创建数据库用户使用CREATE USER命令。语法格式:CREATE USER user_name FOR|FROM LOGIN login_name|CERTIFICATE cert_name|ASYMMETRIC KEY asym_key_name|WITHOUT LOGIN WITH DEFAULT_SCHEMA=schema_name,9.2.2 命令方式管理用户账户,【例9.5】使用SQL Server登录名sql_tao(假设已经创建)在PXSCJ数据库中创建数据库用户tao,默认架构名使用dbo。U

9、SE PXSCJGOCREATE USER taoFOR LOGIN sql_taoWITH DEFAULT_SCHEMA=dbo,9.2.2 命令方式管理用户账户,4删除数据库用户删除数据库用户使用DROP USER语句。语法格式:DROP USER user_nameuser_name为要删除的数据库用户名,在删除之前要使用USE语句指定数据库。【例9.6】删除PXSCJ数据库的数据库用户tao。USE PXSCJGODROP USER tao,9.3 角色管理,9.3.1 固定服务器角色(1)sysadmin:系统管理员,角色成员可对SQL Server服务器进行所有的管理工作,为最高管

10、理角色。这个角色一般适合于数据库管理员(DBA)。(2)securityadmin:安全管理员,角色成员可以管理登录名及其属性。可以授予、拒绝、撤销服务器级和数据库级的权限。(3)serveradmin:服务器管理员,角色成员具有对服务器进行设置及关闭服务器的权限。(4)setupadmin:设置管理员,角色成员可以添加和删除链接服务器,并执行某些系统存储过程。(5)processadmin:进程管理员,角色成员可以终止SQL Server实例中运行的进程。(6)diskadmin:用于管理磁盘文件。(7)dbcreator:数据库创建者,角色成员可以创建、更改、删除或还原任何数据库。(8)b

11、ulkadmin:可执行BULK INSERT语句,但是这些成员对要插入数据的表必须有INSERT权限。BULK INSERT语句的功能是以用户指定的格式复制一个数据文件至数据库表或视图。(9)public:其角色成员可以查看任何数据库。,9.3.1 固定服务器角色,1通过对象资源管理器添加服务器角色成员第1步:以系统管理员身份登录到SQL Server服务器,在对象资源管理器中展开“安全性登录名”,选择登录名,例如“0BD7E57C949A420liu”,双击或右击选择“属性”菜单项,打开“登录属性”窗口。第2步:在打开的“登录属性”窗口中选择“服务器角色”选项卡。如图9.7所示。,9.3.

12、1 固定服务器角色,2利用系统存储过程添加服务器角色成员利用系统存储过程sp_addsrvrolemember可将一登录名添加到某一固定服务器角色中,使其成为固定服务器角色的成员。语法格式:sp_addsrvrolemember loginame=login,rolename=role【例9.7】将Windows登录名0BD7E57C949A420liu添加到sysadmin固定服务器角色中。EXEC sp_addsrvrolemember 0BD7E57C949A420liu,sysadmin,9.3.1 固定服务器角色,3利用系统存储过程删除固定服务器角色成员利用sp_dropsrvrol

13、emember系统存储过程可从固定服务器角色中删除SQL Server 登录名或Windows登录名。语法格式:sp_dropsrvrolemember loginame=login,rolename=role参数含义:login为将要从固定服务器角色删除的登录名。role为服务器角色名,默认值为NULL,必须是有效的固定服务器角色名。【例9.8】从sysadmin固定服务器角色中删除SQL Server登录名david。EXEC sp_dropsrvrolemember david,sysadmin,9.3.2 固定数据库角色,1使用对象资源管理器添加固定数据库角色成员第1步:以系统管理员身

14、份登录到SQL Server服务器,在对象资源管理器中展开“数据库PXSCJ安全性用户”,选择一个数据库用户,例如“david”,双击或单击右键选择“属性”菜单项,打开“数据库用户”窗口。第2步:在打开的窗口中,在“常规”选项卡中的“数据库角色成员身份”栏,用户可以根据需要,在数据库角色前的复选框中打勾,来为数据库用户添加相应的数据库角色,如图9.8所示,单击“确定”按钮完成添加。,9.3.2 固定数据库角色,9.3.2 固定数据库角色,第3步:查看固定数据库角色的成员。在对象资源管理器中,在PXSCJ数据库下的“安全性角色数据库角色”目录下,选择数据库角色,如db_owner,右击选择“属性

15、”菜单项,在属性窗口中的“角色成员”栏下可以看到该数据库角色的成员列表,如图9.9所示。,9.3.2 固定数据库角色,2使用系统存储过程添加固定数据库角色成员利用系统存储过程sp_addrolemember可以将一个数据库用户添加到某一固定数据库角色中,使其成为该固定数据库角色的成员。语法格式:sp_addrolemember rolename=role,membername=security_account【例9.9】将PXSCJ数据库上的数据库用户david(假设已经创建)添加为固定数据库角色db_owner的成员。USE PXSCJGOEXEC sp_addrolemember db_o

16、wner,david,9.3.2 固定数据库角色,3使用系统存储过程删除固定数据库角色成员利用系统存储过程sp_droprolemember可以将某一成员从固定数据库角色中去除。语法格式:sp_droprolemember rolename=role,membername=security_account【例9.10】将数据库用户david从db_owner中去除。USE PXSCJGOEXEC sp_droprolemember db_owner,david,9.3.3 自定义数据库角色,1通过对象资源管理器创建数据库角色第1步:创建数据库角色。以Windows系统管理员身份连接SQL Se

17、rver,在对象资源管理器中展开“数据库”,选择要创建角色的数据库(如PXSCJ)“安全性”“角色”,右击鼠标,在弹出的快捷菜单中选择“新建”菜单项,在弹出的子菜单中选择“新建数据库角色”菜单项,如图9.10所示。进入“数据库角色-新建”窗口。,9.3.3 自定义数据库角色,第2步:将数据库用户加入数据库角色。将用户加入自定义数据库角色的方法与小节中将用户加入固定数据库角色的方法类似,这里不再重复。如图9.11所示是将PXSCJ数据库的用户david加入ROLE1角色。,9.3.3 自定义数据库角色,2通过SQL命令创建数据库角色(1)定义数据库角色。创建用户自定义数据库角色可以使用CREAT

18、E ROLE语句。语法格式:CREATE ROLE role_name AUTHORIZATION owner_name【例9.11】如下示例在当前数据库中创建名为ROLE2的新角色,并指定dbo为该角色的所有者。USE PXSCJGOCREATE ROLE ROLE2AUTHORIZATION dbo,9.3.3 自定义数据库角色,(2)给数据库角色添加成员。向用户定义数据库角色添加成员也使用存储过程sp_ addrolemember,用法与之前介绍的基本相同。【例9.12】使用Windows身份验证模式的登录名(如0BD7E57C949A420liu)创建PXSCJ数据库的用户(如0BD7

19、E57C949A420liu),并将该数据库用户添加到ROLE1数据库角色中。USE PXSCJGOCREATE USER 0BD7E57C949A420liuFROM LOGIN 0BD7E57C949A420liuGOEXEC sp_addrolemember ROLE1,0BD7E57C949A420liu,9.3.3 自定义数据库角色,【例9.13】将SQL Server登录名创建的PXSCJ的数据库用户wang(假设已经创建)添加到数据库角色ROLE1中。USE PXSCJGOEXEC sp_addrolemember ROLE1,wang【例9.14】将数据库角色ROLE2(假设已

20、经创建)添加到ROLE1中。EXEC sp_addrolemember ROLE1,ROLE2,9.3.3 自定义数据库角色,3通过SQL命令删除数据库角色要删除数据库角色可以使用DROP ROLE语句。语法格式:DROP ROLE role_name【例9.15】删除数据库角色ROLE2。在删除ROLE2之前首先需要将ROLE2中的成员删除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在ROLE2的属性页中操作即可。命令方式在删除固定数据库成员时已经介绍,请参见前面内容。确认ROLE2可以删除后,使用以下命令删除ROLE2:DROP ROLE ROLE2,9.4 数据库权限的管

21、理,9.4.1 授予权限(1)使用命令方式授予权限。利用GRANT语句可以给数据库用户或数据库角色授予数据库级别或对象级别的权限。语法格式:GRANT ALL PRIVILEGES|permission(column,.n),.n ON securable TO principal,.n WITH GRANT OPTION AS principal【例9.16】给PXSCJ数据库上的用户david和wang授予创建表的权限。以系统管理员身份登录SQL Server,新建一个查询,输入以下语句:USE PXSCJGOGRANT CREATE TABLE TO david,wangGO,9.4.1

22、 授予权限,【例9.17】首先在数据库PXSCJ中给public角色授予表XSB的SELECT权限。然后,将其他一些权限授予用户david和wang,使用户有对XSB表的所有操作权限。以系统管理员身份登录SQL Server,新建一个查询,输入以下语句:USE PXSCJGOGRANT SELECT ON XSBTO publicGO GRANT INSERT,UPDATE,DELETE,REFERENCESON XSB TO david,wangGO,9.4.1 授予权限,【例9.18】将CREATE TABLE权限授予数据库角色ROLE1的所有成员。以系统管理员身份登录SQL Server

23、,新建一个查询,输入以下语句:GRANT CREATE TABLE TO ROLE1【例9.19】以系统管理员身份登录SQL Server,将表XSB的SELECT权限授予ROLE2角色(指定WITH GRANT OPTION子句)。用户li是ROLE2的成员(创建过程略),在li用户上将表XSB上的SELECT权限授予用户huang(创建过程略),huang不是ROLE2的成员。首先以Windows系统管理员身份连接SQL Server,授予角色ROLE2在XSB表上的SELECT权限:USE PXSCJGOGRANT SELECT ON XSB TO ROLE2 WITH GRANT OP

24、TION,9.4.1 授予权限,在“SQL Server Management Studio”窗口上单击“新建查询”按钮旁边的数据库引擎查询按钮“”,在弹出的连接窗口中以li用户的登录名登录,如图9.12所示。,9.4.1 授予权限,在“查询分析器”窗口中使用如下语句将用户li在XSB表上的SELECT权限授予huang:USE PXSCJGOGRANT SELECT ON XSB TO huang AS ROLE2【例9.20】在当前数据库PXSCJ中给public角色赋予对表XSB中“学号”、“姓名”字段的SELECT权限。以系统管理员身份登录SQL Server,新建一个查询,输入以下语

25、句:USE PXSCJGOGRANT SELECT(学号,姓名)ON XSBTO publicGO,9.4.1 授予权限,(2)使用界面方式授予语句权限。授予数据库上的权限。,9.4.1 授予权限,授予数据库对象上的权限。,9.4.2 拒绝权限,语法格式:DENY ALL PRIVILEGES|permission(column,.n),.n ON securable TO principal,.n CASCADE AS principal【例9.21】对多个用户不允许使用CREATE VIEW和CREATE TABLE语句。DENY CREATE VIEW,CREATE TABLE TO l

26、i,huangGO,9.4.2 拒绝权限,【例9.22】拒绝用户li、huang、0BD7E57C949A420liu对表XSB的一些权限,这样,这些用户就没有对XSB表的操作权限了。USE PXSCJGODENY SELECT,INSERT,UPDATE,DELETE ON XSB TO li,huang,0BD7E57C949A420liuGO【例9.23】对所有ROLE2角色成员拒绝CREATE TABLE权限。DENY CREATE TABLE TO ROLE2GO,9.4.3 撤销权限,语法格式:REVOKE GRANT OPTION FOR ALL PRIVILEGES|permi

27、ssion(column,.n),.n ON securable TO|FROM principal,.n CASCADE AS principal【例9.24】取消已授予用户wang的CREATE TABLE 权限。REVOKE CREATE TABLE FROM wang,9.4.3 撤销权限,【例9.25】取消授予多个用户的多个语句权限。REVOKE CREATE TABLE,CREATE DEFAULT FROM wang,liGO【例9.26】取消以前对wang授予或拒绝的在XSB表上的SELECT权限。REVOKE SELECT ON XSB FROM wang,9.4.3 撤销权

28、限,【例9.27】角色ROLE2在XSB表上拥有SELECT权限,用户li是ROLE2的成员,li使用WITH GRANT OPTION子句将SELECT权限转移给了用户huang,用户huang不是ROLE2的成员。现要以用户li的身份撤销用户huang的SELECT权限。以用户“li”的身份登录SQL Server服务器,新建一个查询,使用如下语句撤销huang的SELECT权限:USE PXSCJGOREVOKE SELECT ON XSB TO huang AS ROLE2,9.5 数据库架构定义和使用,9.5.1 使用界面方式创建架构第1步:以系统管理员身份登录SQL Server,

29、在对象资源管理器中展开“数据库PXSCJ安全性”,选择“架构”,右击鼠标,在弹出的快捷菜单中选择“新建架构”菜单项。第2步:在打开的“架构-新建”窗口中选择“常规”选项卡,在窗口右边“架构名称”下面的文本框中输入架构名称(如test)。单击“搜索”按钮,在打开的“搜索角色和用户”对话框中单击“浏览”按钮。如图9.15所示。,9.5.1 使用界面方式创建架构,9.5.1 使用界面方式创建架构,第3步:架构创建完后可以新建一个测试表来测试如何访问架构中的对象。在PXSCJ数据库中新建一个名为table_1的表,表的结构如图9.16所示。,9.5.1 使用界面方式创建架构,在创建表时,表的默认架构为

30、dbo,要将其架构修改为test。在进行表结构设计时,表设计窗口右边有一个表table_1的属性窗口,在创建表时,应在表的属性窗口中将该表的架构设置成test,如图9.17所示。如果没有找到属性窗口,则单击“视图”菜单栏,选择“属性窗口”子菜单就能显示出属性窗口。设置完成后保存该表,保存后的表可以在对象资源管理器中找到,此时表名就已经变成test.table_1,如图9.18所示。,9.5.1 使用界面方式创建架构,第4步:在对象资源管理器中展开数据库“PXSCJ安全性架构”,选择新创建的架构test,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“架构属性”窗口,在该架构属性的“权限”

31、选项卡中,单击“搜索”按钮,选择用户owner(假设已经创建),为用户owner分配权限,如“选择(SELECT)”权限,如图9.19所示。,9.5.1 使用界面方式创建架构,第5步:重新启动SQL Server Management Studio,使用SQL Server身份验证方式,以用户owner的登录名连接SQL Server。在连接成功后,创建一个新的查询,在“查询分析器”窗口中输入查询表test.table_1中数据的T-SQL语句。USE PXSCJGOSELECT*FROM test.table_1执行结果如图9.20所示。,9.5.1 使用界面方式创建架构,再新建一个SQL查

32、询,在查询编辑器中输入删除表test.table_1的T-SQL语句:DELETE FROM test.table_1执行结果如图9.21所示。,9.5.2 使用命令方式创建架构,语法格式:CREATE SCHEMA,.n 其中,:=schema_name|AUTHORIZATION owner_name|schema_name AUTHORIZATION owner_name:=table_definition|view_definition|grant_statement revoke_statement|deny_statement,9.5.2 使用命令方式创建架构,【例9.28】创建架构test_schema,其所有者为用户david。以系统管理员身份登录SQL Server,新建一个查询,输入以下语句:USE PXSCJGOCREATE SCHEMA test_schemaAUTHORIZATION david另外,要删除可以使用DROP SCHEMA语句,例如,DROP SCHEMA test_schema,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号