《数据库安全管理》PPT课件.ppt
《《数据库安全管理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库安全管理》PPT课件.ppt(65页珍藏版)》请在三一办公上搜索。
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 两种验证方式登录SQL Server服务器的情形,9.1.1 SQL
2、Server 2008的身份验证模式,1Windows验证模式用户登录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 XP或Windo
3、ws 2003/2008等操作系统上运行时,系统管理员设定登录验证模式的类型可为Windows验证模式和混合模式。当采用混合模式时,SQL Server系统既允许使用Windows登录名登录,也允许使用SQL Server登录名登录。,9.1.2 SQL Server 2008的安全性机制,(1)服务器级别所包含的安全对象主要有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。SQL Server 2008中的登录名主要有两种,第一种是Windows登录名,第二种是SQL Server登录名。Windows登录名对应Windows验证
4、模式,该验证模式所涉及的账户类型主要有Windows本地用户账户、Windows域用户账户、Windows组。SQL Server登录名对应SQL Server验证模式,在该验证模式下,能够使用的账户类型主要是SQL Server账户。(2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。,9.1.2 SQL Server 2008的安全性机制,(3)架构级别所包
5、含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。简单地说,架构的作用是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。至于操作的权限则由数据库角色决定。例如,若某数据库中的表A属于架构S1,表B属于架构S2,而某用户默认的架构为S2,如果没有授予用户操作表A的权限,则该用户不能对表A执行相应的数据操作。但是,该用户可以对表B执行相应的操作。,9.1.2 SQL
6、 Server 2008的安全性机制,一个数据库使用者,要登录服务器上的SQL Server数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如图9.2所示的安全验证。,图9.2 SQL Server数据库安全验证,9.2 建立和管理用户账户,9.2.1 界面方式管理用户账户1建立Windows验证模式的登录名第1步:创建Windows的用户。以管理员身份登录到Windows XP,选择“开始”,打开控制面板中的“性能和维 护”,选择其中的“管理工具”,双击“计算机管理”,进入“计算机管理”窗口。在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择 “新用户”
7、菜单项,打开“新用户”窗口。如图9.3所示,在该窗口中输入用户名、密码,单击“创建”按钮,然后单击“关闭”按钮,完成新用户的创建。,图9.3 创建新用户的界面,9.2.1 界面方式管理用户账户,第2步:将Windows账户加入到SQL Server中。以管理员身份登录到SQL Server Management Studio,在对象资源管理器中,找到并选择如图9.4所示的“登录名”项。右击鼠标,在弹出的快捷菜单中选择“新建登录名”,打开“登录名-新建”窗口。,图9.4 新建登录名,9.2.1 界面方式管理用户账户,如图9.5所示,可以通过单击“常规”选项卡的“搜索”按钮,在“选择用户或组”对话
8、框中选择相应的用户名或用户组并添加到SQL Server 2008登录用户列表中。例如,本例的用户名为0BD7E57C949A420liu(0BD7E57C949A420为本地计算机名)。,图9.5 新建登录名,9.2.1 界面方式管理用户账户,2建立SQL Server验证模式的登录名步骤如下。第1步:以系统管理员身份登录SQL Server Management Studio,在对象资源管理器中选择要登录的SQL Server服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。第2步:在打开的“服务器属性”窗口中选择“安全性”选项卡。选择服务器身份验证为“S
9、QL Server和Windows身份验证模式”,单击“确定”按钮,保存新的配置,重启SQL Server服务即可。创建SQL Server验证模式的登录名也在如图9.5所示的界面中进行,输入一个自己定义的登录名,例如david,选中“SQL Server身份验证”选项,输入密码,并将“强制密码过期”复选框中的勾去掉,设置完单击“确定”按钮即可。,9.2.1 界面方式管理用户账户,为了测试创建的登录名能否连接SQL Server,可以使用新建的登录名david来进行测试,具体步骤如下:在对象资源管理器窗口中单击“连接”,在下拉框中选择“数据库引擎”,弹出“连接到服务器”对话框。在该对话框中,“
10、身份验证”选择“SQL Server身份验证”,“登录名”填写david,输入密码,单击“连接”按钮,就能连接SQL Server了。登录后的“对象资源管理器”界面如图9.6所示。,图9.6 使用SQL Server验证方式登录,9.2.1 界面方式管理用户账户,3管理数据库用户使用SSMS创建数据库用户账户的步骤如下(以PXSCJ为例):以系统管理员身份连接SQL Server,展开“数据库PXSCJ安全性”,选择“用户”,右击鼠标,选择“新建用户”菜单项,进入“数据库用户-新建”窗口。在“用户名”框中填写一个数据库用户名,“登录名”框中填写一个能够登录SQL Server的登录名,如dav
11、id。注意,一个登录名在本数据库中只能创建一个数据库用户。选择默认架构为dbo,如图9.7所示,单击“确定”按钮完成创建。,图9.7 新建数据库用户账户,9.2.2 命令方式管理用户账户,1创建登录名在SQL Server 2008中,创建登录名可以使用CREATE LOGIN命令。语法格式:CREATE LOGIN login_name WITH PASSWORD = password HASHED MUST_CHANGE , ,. /*WITH子句用于创建SQL Server登录名*/| FROM/*FROM子句用于创建其他登录名*/ WINDOWS WITH ,. | CERTIFICA
12、TE certname | ASYMMETRIC KEY asym_key_name ,9.2.2 命令方式管理用户账户,其中, := SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = ON | OFF | CHECK_POLICY = ON | OFF CREDENTIAL = credential_name := DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language,9.2.2 命令方式管理用户账户
13、,(1)创建Windows验证模式登录名。创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,其中,为创建Windows登录名的选项,DEFAULT_DATABASE指定默认数据库,DEFAULT_LANGUAGE指定默认语言。【例9.1】 使用命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为0BD7E57C949A420),默认数据库设为PXSCJ。USE masterGOCREATE LOGIN 0BD7E57C949A420taoFROM WINDOWS WITH D
14、EFAULT_DATABASE= PXSCJ,9.2.2 命令方式管理用户账户,(2)创建SQL Server验证模式登录名。创建SQL Server登录名使用WITH子句,其中, PASSWORD:用于指定正在创建的登录名的密码,password为密码字符串。HASHED 选项指定在PASSWORD参数后输入的密码已经过哈希运算,如果未选择此选项,则在将作为密码输入的字符串存储到数据库之前,对其进行哈希运算。如果指定MUST_CHANGE选项,则SQL Server会在首次使用新登录名时提示用户输入新密码。 :用于指定在创建SQL Server登录名时的一些选项,选项如下。SID:指定新SQ
15、L Server登录名的全局唯一标识符,如果未选择此选项,则自动指派。DEFAULT_DATABASE:指定默认数据库,如果未指定此选项,则默认数据库将设置为master。DEFAULT_LANGUAGE:指定默认语言,如果未指定此选项,则默认语言将设置为服务器的当前默认语言。CHECK_EXPIRATION:指定是否对此登录名强制实施密码过期策略,默认值为OFF。CHECK_POLICY:指定应对此登录名强制实施运行SQL Server的计算机的Windows密码策略,默认值为ON。,9.2.2 命令方式管理用户账户,【例9.2】 创建SQL Server登录名sql_tao,密码为1234
16、56,默认数据库设为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。DROP LOGIN sql_tao,9.2.2 命令方式管理用户账户,3创建数据库用户创建数据库用户使用CREATE USER命令。语法
17、格式: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.5】 使用SQL Server登录名sql_tao(假设已经创建)在PXSCJ数据库中创建数据库用户tao,默认架构名使用dbo。USE PXSCJGOCREATE USER taoFOR LOGIN sql_taoWITH DEFAULT_SCHEMA=dbo,9.2.2
18、命令方式管理用户账户,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服务器进行所有的管理工作,为最高管理角色。这个角色一般适合于数据库管理员(DBA)。(2)securityadmin:安全管理员,角色成员可以管理登录名及其属性。可以授予、拒绝
19、、撤销服务器级和数据库级的权限。另外还可以重置SQL Server登录名的密码。(3)serveradmin:服务器管理员,角色成员具有对服务器进行设置及关闭服务器的权限。(4)setupadmin:设置管理员,角色成员可以添加和删除链接服务器,并执行某些系统存储过程。(5)processadmin:进程管理员,角色成员可以终止SQL Server实例中运行的进程。(6)diskadmin:用于管理磁盘文件。(7)dbcreator:数据库创建者,角色成员可以创建、更改、删除或还原任何数据库。(8)bulkadmin:可执行BULK INSERT语句,但是这些成员对要插入数据的表必须有INSE
20、RT权限。BULK INSERT语句的功能是以用户指定的格式复制一个数据文件至数据库表或视图。(9)public:其角色成员可以查看任何数据库。,9.3.1 固定服务器角色,1通过对象资源管理器添加服务器角色成员第1步:以系统管理员身份登录到SQL Server服务器,在对象资源管理器中展开“安全性登录名”,选择登录名,例如“0BD7E57C949A420liu”,双击或右击选择“属性”菜单项,打开“登录属性”窗口。第2步:在打开的“登录属性”窗口中选择“服务器角色”选项卡。如图9.8所示,在“登录属性”窗口右边列出了所有的固定服务器角色,用户可以根据需要,在服务器角色前的复选框中打勾,来为登
21、录名添加相应的服务器角色,此处默认已经选择了“public”服务器角色。单击“确定”按钮完成添加。,9.3.1 固定服务器角色,图9.8 SQL Server服务器角色设置窗口,9.3.1 固定服务器角色,2利用系统存储过程添加固定服务器角色成员利用系统存储过程sp_addsrvrolemember可将一登录名添加到某一固定服务器角色中,使其成为固定服务器角色的成员。语法格式:sp_addsrvrolemember loginame = login, rolename = role参数含义:login指定添加到固定服务器角色role的登录名,login可以是SQL Server登录名或Wind
22、ows 登录名;对于Windows登录名,如果还没有授予SQL Server访问权限,将自动对其授予访问权限。固定服务器角色名role必须为sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin和public之一。【例9.7】 将Windows登录名0BD7E57C949A420liu添加到sysadmin固定服务器角色中。EXEC sp_addsrvrolemember 0BD7E57C949A420liu, sysadmin,9.3.1 固定服务器角色,3利用系统存储过
23、程删除固定服务器角色成员利用sp_dropsrvrolemember系统存储过程可从固定服务器角色中删除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 固定数据
24、库角色,(1)db_owner:数据库所有者,这个数据库角色的成员可执行数据库的所有管理操作。用户发出的所有SQL语句均受限于该用户具有的权限。例如,CREATE DATABASE仅限于sysadmin和dbcreator固定服务器角色的成员使用。sysadmin固定服务器角色的成员、db_owner固定数据库角色的成员以及数据库对象的所有者都可授予、拒绝或废除某个用户或某个角色的权限。使用GRANT赋予执行T-SQL语句或对数据进行操作的权限;使用DENY拒绝权限,并防止指定的用户、组或角色从组和角色成员的关系中继承权限;使用REVOKE取消以前授予或拒绝的权限。 (2)db_accessa
25、dmin:数据库访问权限管理者,角色成员具有添加、删除数据库使用者、数据库角色和组的权限。(3)db_securityadmin:数据库安全管理员,角色成员可管理数据库中的权限,如设置数据库表的增加、删除、修改和查询等存取权限。(4)db_ddladmin:数据库DDL管理员,角色成员可增加、修改或删除数据库中的对象。,9.3.2 固定数据库角色,(5)db_backupoperator:数据库备份操作员,角色成员具有执行数据库备份的权限。(6)db_datareader:数据库数据读取者,角色成员可以从所有用户表中读取数据。(7)db_datawriter:数据库数据写入者,角色成员具有对所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库安全管理 数据库 安全管理 PPT 课件
链接地址:https://www.31ppt.com/p-1986628.html