SQLServer系统安全管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10章系统安全管理10.1SQLServer2014的安全机制10.2建立和管理用户账户10.3角色管理10.4数据库权限的管理10.5数据库架构的定义和使用10.1SQLServer2014的安全机制10.1.1SQLServer身份验证模式身份验证模式是指系统确认用户的方式。SQLServer有两种身份验证模式:Windows验证模式和SQLServer验证模式。这是在安装SQLServer的过程中由“数据库引擎配置”确定的,如图10.1所示。10.1.1SQLServer身份验证模式1.Windows验证模式用户登录Windows时进行身份验证,登录SQLServer时就不再进行身份验证了。注意:(1)必须将Windows账户加入到SQLServer中,才能采用Windows账户登录SQLServer。(2)如果使用Windows账户登录到另一个网络的SQLServer,则必须在Windows中设置彼此的托管权限。2.SQLServer验证模式在SQLServer验证模式下,SQLServer服务器要对登录的用户进行身份验证。系统管理员必须设定登录验证模式的类型为混合验证模式。当采用混合模式时,SQLServer系统既允许使用Windows登录名登录,也允许使用SQLServer登录名登录。10.1.2SQLServer安全性机制1.服务器级别服务器级别所包含的安全对象主要有登录名、固定服务器角色等。其中,登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。SQLServer中的登录名主要有两种:第一种是Windows登录名,第二种是SQLServer登录名。Windows登录名对应Windows验证模式,该验证模式所涉及的账户类型主要有Windows本地用户账户、Windows域用户账户、Windows组。2.数据库级别数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。10.1.2SQLServer安全性机制3.架构级别架构级别所包含的安全对象有表、视图、函数、存储过程、类型、同义词、聚合函数等。在创建这些对象时可设定架构,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。至于操作的权限则由数据库角色决定。例如,若某数据库中的表A属于架构S1,表B属于架构S2,而某用户默认的架构为S2,如果没有授予用户操作表A的权限,则该用户不能对表A执行相应的数据操作。但是,该用户可以对表B执行相应的操作。10.1.3SQLServer数据库安全验证过程一个用户如果要对某一数据库进行操作,则必须满足以下三个条件:(1)登录SQLServer服务器时必须通过身份验证。(2)必须是该数据库的用户,或者是某一数据库角色的成员。(3)必须有对数据库对象执行该操作的权限。10.1.3SQLServer数据库安全验证过程不管使用哪种验证方式,用户都必须具备有效的Windows用户登录名。SQLServer有两个常用的默认登录名:sa和计算机名\Windows管理员账户名。其中,sa是系统管理员,在SQLServer中拥有系统和数据库的所有权限,如图10.2所示。10.2建立和管理用户账户10.2.1以界面方式管理用户账户1.建立Windows验证模式的登录名(1)创建Windows的用户。以管理员身份登录到Windows,打开控制面板,完成新用户“liu”的创建。(2)将Windows账户加入到SQLServer中。以管理员身份登录到“SSMS”,在“对象资源管理器”中,在“安全性”下选择“登录名”项。右击鼠标,在弹出的快捷菜单中选择“新建登录名”,打开“登录名-新建”窗口。可以通过单击“常规”选项页的“搜索”按钮,在“选择用户或组”对话框的“输入要选择的对象名称”中输入“liu”,然后单击“检查名称”按钮,系统生成“PC-201412101514\liu”(如图10.3所示),单击“确定”按钮,回到“登录名-新建”窗口。10.2.1以界面方式管理用户账户在登录名中就会显示完整名称。选择默认数据库为“pxscj”,如图10.4所示。10.2.1以界面方式管理用户账户2.建立SQLServer验证模式的登录名(1)将验证模式设为混合模式。以系统管理员身份登录“SSMS”,在“对象资源管理器”中选择要登录的SQLServer服务器图标,右击鼠标,在弹出的快捷菜单中选择“属性”菜单项,打开“服务器属性”窗口。选择“安全性”选项页。选择服务器身份验证为“SQLServer和Windows身份验证模式”,如图10.5所示。10.2.1以界面方式管理用户账户(2)创建SQLServer验证模式的登录名。在“对象资源管理器”中“安全性”下的“登录名”上按右键,选择“新建登录名”,系统显示“登录名-新建”对话框。选择“SQLServer身份验证”,登录名输入“SQL_liu”,输入密码和确认密码“123”,并将“强制密码过期”复选框中的钩去掉,默认数据库为“pxscj”,如图10.6所示。单击“确定”按钮即可。10.2.1以界面方式管理用户账户3.管理数据库用户(1)以登录名新建数据库用户。以系统管理员身份连接SQLServer,展开“数据库”→这里可选“pxscj”→“安全性”,选择“用户”,右击鼠标,选择“新建用户”菜单项,进入“数据库用户-新建”窗口。在“登录名”框中填写一个能够登录SQLServer的登录名,如“SQL_liu”。在“用户名”框中填写一个数据库用户名“User_SQL_liu”。一个登录名在本数据库中只能创建一个数据库用户。这里可选择默认架构为dbo,如图10.7所示。10.2.1以界面方式管理用户账户图10.7新建数据库用户(SQLServer登录名)10.2.1以界面方式管理用户账户也可采用上述方法在pxscj数据库下新建Windows登录名“liu”对应的用户“User_liu”,如图10.8所示。10.2.1以界面方式管理用户账户(2)数据库用户显示。数据库用户创建成功后,可以通过选择“pxscj”→“安全性”,选择“用户”栏查看到该用户。在“用户”列表中,还可以修改现有数据库用户的属性,或者删除该用户。(3)以SQLServer登录名连接SQLServer。重启SQLServer,在对话框的“身份验证”框中选择“SQLServer身份验证”,“登录名”填写为“SQL_liu”,输入密码“123”,单击“连接”按钮,即可连接SQLServer,如图10.9所示。10.2.1以界面方式管理用户账户此时的“对象资源管理器”如图10.10所示。10.2.2以命令方式管理用户账户:CREATELOGIN/USER1.登录名创建1)创建登录名语法格式:CREATELOGIN登录名{WITHPASSWORD='密码'[HASHED][MUST_CHANGE][,选项列表[,...]]/*WITH子句用于创建SQLServer登录名*/|FROM/*FROM子句用于创建其他登录名*/{WINDOWS[WITHWindows选项[,...]]|CERTIFICATE证书名|ASYMMETRICKEY非对称密钥名}}10.2.2以命令方式管理用户账户:CREATELOGIN/USER其中:选项列表::=SID=登录GUID|DEFAULT_DATABASE=数据库|DEFAULT_LANGUAGE=语言|CHECK_EXPIRATION={ON|OFF}|CHECK_POLICY={ON|OFF}[CREDENTIAL=凭据名]Windows选项::=DEFAULT_DATABASE=数据库|DEFAULT_LANGUAGE=语言10.2.2以命令方式管理用户账户:CREATELOGIN/USER(1)创建Windows验证模式登录名。创建Windows登录名使用FROM子句,在FROM子句的语法格式中,WINDOWS关键字指定将登录名映射到Windows登录名,其中,Windows选项为创建Windows登录名的选项,DEFAULT_DATABASE指定默认数据库,DEFAULT_LANGUAGE指定默认语言。【例10.1】以命令方式创建Windows登录名tao(假设Windows用户tao已经创建,本地计算机名为“PC-201412101514”),默认数据库设为pxscj。USEpxscjGOCREATELOGIN[PC-201412101514\tao]FROMWINDOWSWITHDEFAULT_DATABASE=pxscj命令执行成功后,在“登录名”→“安全性”列表上就可以查看到该登录名。10.2.2以命令方式管理用户账户:CREATELOGIN/USER(2)创建SQLServer验证模式登录名。创建SQLServer登录名使用WITH子句,其中,PASSWORD:用于指定正在创建的登录名的密码,“'密码'”为密码字符串。HASHED选项指定在PASSWORD参数后输入的密码已经过哈希运算。选项列表:用于指定在创建SQLServer登录名时的如下选项。SID:指定新SQLServer登录名的全局唯一标识符。如果未选择此选项,则自动指派。DEFAULT_DATABASE:指定默认数据库。如果未指定此选项,则默认数据库将设置为master。DEFAULT_LANGUAGE:指定默认语言。如果未指定此选项,则默认语言将设置为服务器的当前默认语言。CHECK_EXPIRATION:指定是否对此登录名强制实施密码过期策略,默认值为OFF。CHECK_POLICY:指定应对此登录名强制实施运行SQLServer的计算机的Windows密码策略,默认值为ON。【例10.2】创建SQLServer登录名SQL_tao,密码为123456,默认数据库设为pxscj。CREATELOGINSQL_taoWITHPASSWORD='123456',DEFAULT_DATABASE=pxscj10.2.2以命令方式管理用户账户:CREATELOGIN/USER2)删除登录名删除登录名使用DROPLOGIN命令。语法格式:DROPLOGIN登录名例如,删除Windows登录名tao和SQLServer登录名SQL_tao。DROPLOGIN[PC-201412101514\tao]DROPLOGINSQL_tao10.2.2以命令方式管理用户账户:CREATELOGIN/USER2.数据库用户创建1)创建数据库用户创建数据库用户使用CREATEUSER命令。语法格式:CREATEUSER用户名[{FOR|FROM}{LOGIN登录名|CERTIFICATE证书名|ASYMMETRICKEY非对称密钥名}|WITHOUTLOGIN][WITHDEFAULT_SCHEMA=架构名]10.2.2以命令方式管理用户账户:CREATELOGIN/USER【例10.3】使用SQLServer登录名SQL_tao和Windows登录名[PC-201412101514\tao]在pxscj数据库中创建数据库用户User_SQL_tao和User_tao,默认架构名使用dbo。USEpxscjGOCREATEUSERUser_SQL_taoFORLOGINSQL_taoWITHDEFAULT_SCHEMA=dboCREATEUSERUser_taoFORLOGIN[PC-201412101514\tao]WITHDEFAULT_SCHEMA=dbo命令执行成功后,可以在数据库pxscj的“安全性”下的“用户”列表中查看到该数据库用户。10.2.2以命令方式管理用户账户:CREATELOGIN/USER2)删除数据库用户删除数

1 / 56
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功