版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第20章 SQL Server 2021的平安机制和技术学习导读SQL Server 2021内置了维护SQL Server实例及其数据的平安机制和技术,而且这些平安机制和技术可以被用户自行进展配置。灵敏、准确地运用SQL Server 2021的这些机制和技术,可以方便地将SQL Server的平安性提高到一个新的程度。不过,运用SQL Server的平安机制,只能减少SQL Server平安机制引起的平安风险。SQL ServerSQL Server的身份验证方式的身份验证方式前面多次提到SQL Server的身份验证方式,但都是简单地提到,这里将进展汇总,并给出详细的描画。本节还将引见如
2、何切换效力器的身份验证方式,以及如何运用不同的身份验证方式衔接、访问SQL Server的数据库引擎效力。在SQL Server 2021中,SQL Server的身份验证方式主要分为混合方式和Windows身份验证方式两种。运用混合方式运用混合方式所谓混合方式,是指SQL Server 2021同时启用SQL Server身份验证方式和Windows身份验证方式。在这种方式下,sa是常用的登录名。不过,sa是一个被人熟知的账户,需求为sa设置复杂的密码。否那么,能够引起一些平安方面的问题。运用混合方式运用混合方式普通情况下,混合方式主要用于C/S构造的运用系统。在这种构造下,有平安隐患:即使
3、设置了良好的sa密码,平安性也较难保证。由于密码能够会被sniffer捕获,进而呵斥sa密码的暴露。SQL Server效力器客户端网络运用混合方式运用混合方式一种运用sa帐户的改良的方式。这种方式下客户端不再运用sa密码直接与SQL Server建立衔接,而是直接与运用效力器衔接。而访问SQL Server的操作是由运用效力器完成的。详细步骤:客户端与运用效力器建立衔接,并将要执行的SQL语句发给运用效力器;运用效力器与SQL Server建立衔接,并将SQL语句提交给数据库;数据库把执行结果发给运用效力器,运用效力器前往给客户端。运用效力器客户端网络SQL Server效力器运用混合方式运
4、用混合方式假设运用这种构造编写运用sa帐户的运用系统,那么一定要确保SQL Server效力器与运用效力器端在同一个局域网内,否那么运用效力器运用sa帐户访问SQL Server效力器仍旧存在平安风险。由于不在同一个局域网内,所以sa帐户会暴露在互联网上,更有能够被网络监听软件捕获。其实,运用效力器就是一个中间件。如今随着B/S构造的流行,越来越多地采用B/S构造编写运用系统。假设用B/S构造编写运用系统,那么C/S中的客户端可以简化为一种WEB阅读器,而运用效力器由WEB效力器替代。运用混合方式运用混合方式此时,用户可以从编写传统的Windows的运用软件中解脱出来,专心于运用系统的编写编写
5、网页,而不用去思索客户端的开发和维护。当然,编写网页也是一项工程,在编写的过程中,需求运用相应的动态技术如ASP、客户端脚本如JS以及页面规划HTML。运用运用WindowsWindows身份验证方式身份验证方式所谓Windows身份验证,是指SQL Server仅启用Windows身份验证,而禁用SQL Server身份验证的一种验证登录者身份的机制。显然,即使是在混合方式下,Windows身份验证也可用。总之,Windows身份验证是不能被禁用的。虽然在选择Windows身份验证方式时,SQL Server会自动禁用SQL Server身份验证,但是,SQL Server安装程序依然会为S
6、QL Server身份验证创建sa帐户,不过会禁用该帐户。运用运用WindowsWindows身份验证方式身份验证方式运用Windows身份验证方式访问SQL Server是引荐的访问SQL Server的方式。运用Windows身份验证方式访问SQL Server的工具大致可以分为两类,即SQL Server 2021自带的客户端软件如SQLCMD和运用系统。假设需求开发基于SQL Server的数据库运用系统,最好运用Windows Server 2021、VS2021及SQL Server 2021。配置配置SQL ServerSQL Server的身份验证方式的身份验证方式在安装SQL
7、 Server的过程中,需求选择SQL Server的身份验证方式,即选择Windows身份验证方式或混合验证方式,SQL Server安装进程将会把SQL Server设置为相应的身份验证方式。不过,仍可以运用SQL Server Management Studio查看和更改SQL Server的身份验证方式,详细步骤如下:1在对象资源管理器中,选择效力器的属性。配置配置SQL ServerSQL Server的身份验证方式的身份验证方式2在效力器属性对话框中,选择“平安性标签:需求重启效力配置配置SQL ServerSQL Server的身份验证方式的身份验证方式3由于在Windows身份
8、验证方式下,帐户sa处于禁用形状,所以在启用混合方式后,需求启用sa帐户。角色、登录名、用户角色、登录名、用户SQL Server 2021还提供了角色这个数据库对象,来对登录名和权限进展分组和管理。角色这个概念类似于Windows中用户组的概念,即属于不同角色的用户具有不同的权限。其中,角色又分为效力器级角色和数据库级角色。这里主要引见效力器级角色、登录名、用户等内容。效力器级角色效力器级角色在SQL Server 2021中,效力器级角色是不允许被修正的。所以,对于效力器级角色,只可以运用。也就是说,可以将一个登录名或用户分配到效力器及角色中。在SQL Server 2021中,可以运用存
9、储过程和系统目录来管理效力器角色。效力器级角色效力器级角色1查看效力器级角色可以在对象资源管理器-平安性-效力器角色中查看效力器级的角色。效力器级角色效力器级角色也可以运用系统存储过程sp_helpsrvrole来查看效力器级角色。USE masterGOsp_helpsrvrole效力器级角色效力器级角色2查看效力器级角色的权限在SQL Server中效力器级角色的相应权限如下表所示:效力器级角色效力器级角色角色的权限角色的权限SysAdmin在效力器上执行任何操作ServerAdmin更改效力器范围内的选项以及封锁效力器SecurityAdmin管理登录名,以及GRANT、DENY、REV
10、OKE效力器级和数据库级的权限。另外,还可以重置SQL Server 2021登录名的密码ProcessAdmin终止在SQL Server 2021中运转的进程,如执行操作SetupAdmin添加或删除效力器及其组件BulkAdmin运转bulk insert语句DiskAdmin管理磁盘上的数据库文件DbCreator创建、更改、删除、复原数据库效力器级角色效力器级角色效力器级角色的准确划分是为了将访问和操作SQL Server的不同权限分属于不同的数据库管理员,适于较大规模的数据库。在普通情况下,企业只需少数的数据库管理员,而且数据库管理员的权限都是类似的,即都是角色sysadmin的成
11、员。效力器级角色效力器级角色3查看效力器级角色的成员经过系统存储过程sp_helpsrvrolemember可以查看效力器级角色中的成员。USE masterGOsp_helpsrvrolemember效力器级角色效力器级角色可以编写一个函数来查看效力器级角色的成员。USE database_demoGOCREATE FUNCTION dbo.id_to_name(id AS INT) RETURNS NCHAR(57)ASBEGINDECLARE tmp NCHAR(57)=SELECT tmp=nameFROM sys.server_principals AS sysspWHERE sys
12、sp.principal_id=idRETURN tmpENDGO效力器级角色效力器级角色SELECT role_principal_id,dbo.id_to_name(role_principal_id) AS 角色,member_principal_id,dbo.id_to_name(member_principal_id) AS 成员FROM sys.server_role_members登录名登录名在SQL Server 2021中,所谓登录名,就是指可以登录到SQL Server 2021实例的账号。上面在安装SQL Server时,SQL Server安装进程自动创建了两个登录名。
13、详细内容如下。用户在安装SQL Server 2021时,对属于数据库引擎的Windows用户名将自动成为一个登录名除此之外,SQL Server安装进程还自动创建了sa登录名,用于混合身份验证方式。登录名登录名1查看登录名可以经过系统目录sys.server_principals来查看登录名:SELECT name,type_desc,is_disabled,default_database_name,default_language_nameFROM sys.server_principalsWHERE type_desc=SQL_LOGIN or type_desc=WINDOWS_LO
14、GINORDER BY type_desc登录名登录名也可以在对象资源管理器中查看当前效力器中的登录名的信息。其实,基于Windows登录的登录名就是由普通的Windows用户参与适当的效力器级角色而成的,而基于SQL Server验证方式的登录名不依赖于Windows用户帐号。登录名登录名2创建Windows用户可以用Windows自带的计算机管理来创建用户。1在计算机管理-本地用户和组-用户上单击右键选择“新用户。登录名登录名2在新用户中输入相应信息。登录名登录名3创建登录名在Studio中创建一个基于Windows用户登录名的操作很简单。1对象资源管理器-平安性-登录名上右键选择“新建登
15、录名。登录名登录名2在“新建登录名窗口中输入相应的信息。登录名登录名3也可以用SQL语句来完成一样的任务:CREATE LOGIN PYWLINFROM WINDOWSWITH DEFAULT_DATABASE=database_demo,DEFAULT_LANGUAGE=简体中文登录名登录名4给登录名赋予角色创建登录名后,最好给登录名赋予角色。翻开登录名的属性:登录名登录名经过SQL语句对登录名进展角色设置时,需求分为添加角色和删除角色。系统存储过程sp_addsrvrolemember用于添加角色:EXEC sys.sp_addsrvrolemember loginname=NPYWLIN
16、,rolename=Nsysadmin sp_dropsrvrolemember用于删除角色:EXEC sys.sp_dropsrvrolemember loginname=NPYWLIN,rolename=Nsysadmin用户用户在SQL Server 2021中,用户和登录名是两个较易于发生混淆的概念。其实,理清了用户与登录名在SQL Server访问数据库的顺序,就能区别这两个概念了。假设客户端具有一个登录名,那么只能运用该登录名登录到SQL Server效力器。此时,SQL Server将经过系统视图sys.sql_logins或sys.server_principals查找相应登录
17、名及其对应数据库等信息。如下SQL语句将查询当前SQL Server实例中登录名的信息。用户用户USE masterGOSELECT name,type_desc,is_disabled,default_database_name,default_language_nameFROM sys.server_principals用户用户在运用登录名登录到SQL Server后,SQL Server将经过系统视图sys.database_principals查找访问特定数据库的用户。假设特定的数据库没有指定相应的用户,那么SQL Server视图将以guest用户的身份访问数据库。如下SQL语句将查
18、询当前数据库中的用户信息:USE database_demoGOSELECT name,type_desc,default_schema_nameFROM sys.database_principals用户用户总之,在不同的数据库中,都可以基于一个登录名来创建一个用户。也就是说,一个登录名可以被多个数据库的用户名运用。但是在同一个数据库中,一个用户只能对应一个登录名。权限权限在SQL Server中,对于数据库的操作是基于权限进展的。也就是说,假设没有权限,那么相应的操作将失败。所谓权限,是指数据库用户对数据库对象操作的才干或限制。SQL Server中的权限普通表如今用户的权限上。平安对象平
19、安对象所谓平安对象,是指影响到SQL Server平安性的数据库对象。在SQL Server 2021中,平安对象是可以被SQL Server所控制的最小单位。经过对平安对象的控制,SQL Server限制了数据库对象对资源的访问和占用,也就限制了用户对SQL Server资源的运用。在SQL Server 2021中,按照范围来分平安对象的范围,可分为效力器、数据库、架构。平安对象平安对象q效力器范围内的平安对象:端点、登录帐户、数据库;q数据库范围内的平安对象:用户、角色、运用系统角色、程序集、非对称密钥、对称密钥和架构等;q架构范围内的平安对象:类型、XML架构集合、对象。其中对象包括:
20、聚合、约束、函数、过程、队列、统计信息、同义词、表和视图等。显然,架构内的平安对象是最常用、最重要的。权限权限在SQL Server 2021中,会碰到有很多的权限。为了运用户便于记忆和了解,这里先引见权限的命名规那么和一些常用的商定。CONTROL:被授予CONTROL权限的用户对平安对象具有一切的权限。由于SQL Server平安权限是分层和承继的,所以具有CONTROL权限的用户对该平安对象内其他一切平安对象都具有CONTROL权限。ALTER:授予ALTER权限的用户对平安对象具有更改的权限。权限权限qTAKE OWNERSHIP:被授予TAKE OWNERSHIP的用户将获得平安对象
21、的一切权。qCREATE:被授予CREATE权限的用户具有创建平安对象的权限。操作权限操作权限上面引见了平安对象及其一些可用的权限。SQL Server主要提供了3个语句操作权限,即GRANT语句、REVOKE语句和DENY语句。其中,GRANT语句用于将权限授予某个平安对象;REVOKE语句用于删除已被授予的权限;DENY语句用于防止平安对象经过GRANT来获得特定权限,即假设某平安对象曾经被执行了DENY语句,那么该平安对象将不再接受GRANT语句授予的权限。GRANT语句的语法如下。GRANT ALL PRIVILEGES | permission ( column ,.n ) ,.n
22、ON class : securable TO principal ,.n WITH GRANT OPTION AS principal 操作权限操作权限其中,组成元素的意义:ALL:不引荐运用此选项,保管此选项仅用于向后兼容。其实,ALL不会授予一切能够的权限,而且ALL所授予的权限会随着平安对象的不同而不同。PRIVILEGES:包含此参数只是为了符合ISO的规范。Permission:权限的称号。column:指定表中将授予其权限的列名。class:指定将授予其权限的平安对象的类。需求运用范围限定符:。securable:指定将授予其权限的平安对象。TO principal:主体的称号。
23、GRANT OPTION:该选项用于指定被授权者能否可以将该授权再授予他人。AS principal:指定一个主体,执行该查询的主体将从这个指定的主体中获得授予该权限的权益。操作权限操作权限回收权限的REVOKE语句的语法如下。REVOKE GRANT OPTION FOR ALL PRIVILEGES | permission ( column ,.n ) ,.n ON class : securable TO|FROM principal ,.n CASCADE AS principal 各个元素与GRANT语句类似。操作权限操作权限DENY语句的语法如下。DENY ALL PRIVILE
24、GES | permission ( column ,.n ) ,.n ON class : securable TO principal ,.n CASCADE AS principal 各个元素与GRANT语句类似。权限的层次权限的层次之所以没有破费太多的篇幅引见手工授予权限,是由于直接授予权限对于普通用户来说存在着一定的风险。运用权限的层次和承继性,如前面创建的登录名就是直接承继了效力器角色的权限。下面将要引见的数据库用户也将承继数据库角色的权限。权限的层次权限的层次效力器级角色的权限效力器级角色效力器级角色已被授予的权限已被授予的权限BulkAdminADMINISTER BULK OPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康系列活动策划方案(3篇)
- 直播相伴活动策划方案(3篇)
- 财务管理制度制定依据(3篇)
- 2026广东广州国家实验室中国数字肺项目工程技术中心招聘2人备考考试题库及答案解析
- 2026河北廊坊师范学院选聘26人参考考试题库及答案解析
- 2026山东德州市事业单位招聘初级综合类岗位人员备考考试题库及答案解析
- 2026云南省人力资源和社会保障厅所属事业单位招聘12人备考考试试题及答案解析
- 2026广东广州市华南理工大学医院合同制人员招聘2人备考考试题库及答案解析
- 2026广东惠州市博罗县村级经济联盟有限公司招聘1人备考考试试题及答案解析
- 入校物品消毒管理制度(3篇)
- 广东省领航高中联盟2024-2025学年高一下学期第一次联合考试语文试卷(含答案)
- 社区健康服务与管理课件
- QGDW1512-2014电力电缆及通道运维规程
- 投资车行合同协议书
- 国际消防安全系统规则
- 静脉治疗新理念
- 高中研究性学习指导课课件系列总结阶段-学生如何开展研究活动
- 心内介入治疗护理
- 民办职业培训方案模板
- 04S519小型排水构筑物(含隔油池)图集
- 旅居养老可行性方案
评论
0/150
提交评论