您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《SQLServer教程》第4章管理安全性
2020年1月10日第1页第4章管理安全性教学目标教学重点教学过程2020年1月10日第2页教学目标全面学习和掌握系统的安全性技术掌握身份验证技术掌握许可管理技术2020年1月10日第3页教学重点理解身份验证模式和身份验证方式之间的关系掌握管理login帐户技术掌握管理数据库user帐户技术掌握管理角色技术理解和掌握管理应用程序角色技术掌握许可的授予、收回和否定技术2020年1月10日第4页教学过程身份验证模式和身份验证方式管理login帐户管理user帐户管理角色管理许可规划SQLServer系统的安全性2020年1月10日第5页4.1身份验证模式和身份验证方式基本概念Windows身份验证模式混合身份验证模式2020年1月10日第6页基本概念身份验证方式就是指当用户访问数据库系统时,系统对该用户的帐户和密码的确认过程。认证的内容包括确认用户的帐户是否有效、是否能访问系统、能访问系统中的哪些数据等。身份验证模式就是指系统选择何种身份验证方式确认用户是否合法的方式。2020年1月10日第7页Windows身份验证模式Windows身份验证模式只允许使用Windows身份验证方式。当使用Windows身份验证方式时,由Windows系统确认用户的login帐户或组帐户。2020年1月10日第8页混合身份验证模式混合身份验证模式既允许使用Windows身份验证方式,又允许使用SQLServer身份验证方式。SQLServer系统会优先采用Windows身份验证方式确认用户与Windows身份验证模式相比,混合身份验证模式提供了下列一些优点:允许非Windows客户、Internet客户等连接到SQLServer系统中;对用户的身份采用了双层身份验证方式。2020年1月10日第9页4.2管理login帐户login帐户的概念管理login帐户2020年1月10日第10页login帐户的概念login帐户是基于服务器使用的用户名。在SQLServer系统中,既可以基于Windows组或用户帐户创建login帐户,也可以创建SQLServer自己的login帐户。login帐户的信息是系统级信息,存储在master数据库的sysxlogins系统表中。2020年1月10日第11页管理login帐户基于Windows组或用户帐户创建login帐户创建新的SQLServer系统的login帐户更改帐户密码和删除帐户2020年1月10日第12页基于Windows组或用户帐户创建login帐户可以使用sp_grantlogin系统存储过程或SQLServerEnterpriseManager工具允许Windows用户帐户或组帐户连接到SQLServer系统上。2020年1月10日第13页注意事项对于一个Windows组帐户来说,SQLServer系统只有一个login帐户与其对应,因此删除Windows组帐户的某个成员帐户并不影响SQLServer系统中的login帐户。删除某个Windows组帐户或用户帐户,并不把他们从SQLServer系统中删除。如果希望删除Windows的某个组帐户或用户帐户,应该首先把它从Windows中删除,然后再把它从SQLServer系统中删除。作为某个Windows组帐户成员的用户帐户,既可以作为组成员访问SQLServer系统,也可以通过单独授权的方式访问SQLServer系统。2020年1月10日第14页创建新的SQLServer系统的login帐户可以使用sp_addlogin系统存储过程或SQLServerEnterpriseManager工具或向导创建一个SQLServer的login帐户。sp_addlogin[@loginame=]'login'[,[@passwd=]'password'][,[@defdb=]'database'][,[@deflanguage=]'language'][,[@sid=]sid][,[@encryptopt=]'encryption_option']2020年1月10日第15页更改帐户密码和删除帐户通过使用sp_password系统存储过程,用户可以在任意时刻改变自己帐户的密码。系统管理员通过使用sp_password系统存储过程,用NULL作为老密码,也可以改变任意用户帐户的密码。如果希望删除SQLServer系统中某个login帐户,那么可以使用sp_droplogin系统存储过程。2020年1月10日第16页4.3管理user帐户管理user帐户默认的user帐户2020年1月10日第17页管理user帐户1ser帐户是基于数据库使用的名称,是与login帐户相对应的。当某个login帐户访问数据库时,必须使用一个特定的用户帐户或一个默认的用户帐户。每一个数据库都有一个用来记录数据库user帐户信息的sysusers系统表。2020年1月10日第18页管理user帐户2为了在数据库中新建user帐户,可以使用SQLServerEnterpriseManager或sp_grantdbacess系统存储过程。sp_revokedbacess系统存储过程可以从当前的数据库中删除指定的user帐户。一般地,user帐户名称与login帐户名称相同。当然,也可以修改数据库user帐户名称,使其与login帐户具有完全不同的名称。2020年1月10日第19页默认的user帐户SQLServer系统安装之后,在每一个数据库中,都有两个默认的user帐户:dbo和guest。dbo用户表示是数据库所有者,拥有在数据库中执行所有操作的权限。guest用户是一个特殊的用户帐户,它可以与任意的在该数据库中没有对应user帐户的login帐户相对应。2020年1月10日第20页4.4管理角色角色的概念固定服务器角色固定数据库角色用户自己定义的角色应用程序角色2020年1月10日第21页角色的概念角色提供了一种把多个用户汇集成一个单元、以便进行许可管理的方法。一般地,角色包含许多成员,这些成员继承角色所拥有的许可。SQLServer系统提供了许多用于日常管理工作的固定服务器角色和固定数据库角色,简化了对执行日常管理工作的用户的许可管理。用户还可以创建自己的数据库角色,以便管理企业中同一类雇员所执行的工作。在SQLServer系统中,还提供了一种特殊的没有成员的角色。这种角色可以实现特殊的安全性。2020年1月10日第22页固定服务器角色固定服务器角色提供了组合服务器级的用户权限。这些角色可以在SQLServer服务器上进行相应的管理操作,完全独立于具体的数据库。固定服务器角色的信息存储在master数据库的sysxlogins系统表中。可以使用SQLServerEnterpriseManager或sp_addsrvrolemember系统存储过程,把某个login帐户添加为某个固定服务器角色的成员。2020年1月10日第23页固定数据库角色固定数据库角色提供了组合数据库级管理员权限的方法。固定数据库角色的信息存储在数据库的sysusers系统表中。在固定数据库角色中,public角色是一个特殊的数据库角色,数据库中的每一个用户或角色都属于public角色的成员。使用SQLServerEnterpriseManager或sp_addrolemember系统存储过程可以添加某个安全性帐户作为某个固定数据库角色的成员。2020年1月10日第24页用户自己定义的角色使用SQLServerEnterpriseManager工具或sp_addrole系统存储过程可以创建一个新的数据库角色。当创建新的数据库角色时,信息记录在当前数据库的sysusers系统表中。只有db_owner或db_securityadmin角色的成员才可以执行sp_addrole系统存储过程。2020年1月10日第25页应用程序角色使用应用程序角色可以限制用户只能通过指定的应用程序来执行某些操作,而不能直接执行这些操作。应用程序角色是一种特殊的角色,它具有一些特殊的性质:–(1)应用程序角色没有成员,只有运行该应用程序的用户才能激活该角色。–(2)激活应用程序角色需要提供该角色的密码。–(3)激活的应用程序角色覆盖了用户在当前数据库中的其他许可。2020年1月10日第26页4.5管理许可许可的概念和类型授予、收回和否定许可查看安全信息2020年1月10日第27页许可的概念和类型许可是用来授权用户可以使用数据库中的数据和执行数据库的操作。在MicrosoftSQLServer系统中,有三种类型的许可:–语句许可–对象许可–预定义的许可2020年1月10日第28页授予、收回和否定许可管理许可就是授予、否定和收回许可。用户或角色的许可可以是这三种状态之一:授予、否定或收回。在自然状态下,许可是收回的,另外许可也可以是授予或者否定。许可的信息存储在sysprotects系统表中。2020年1月10日第29页许可的授予可以使用SQLServerEnterpriseManager工具或GRANT语句授权许可。可以把许可授予安全性帐户,允许这些帐户执行数据库操作或者使用数据库中的数据。2020年1月10日第30页许可的否定有时候,希望限制某些用户或角色的许可,这时可以否定这些安全性帐户的许可。在安全性帐户上否定许可就等于:–删除以前授予该用户或角色的许可–禁止从另外一个角色中继承的许可可以使用SQLServerEnterpriseManager或DENY语句来执行否定许可的操作。2020年1月10日第31页许可的收回通过收回许可,可以禁止用户使用授予的许可或否定的许可。收回许可类似于否定许可。不同点是收回许可只是删除授予的许可,但是不禁止该用户或角色从其他角色中继承这种许可。可以使用SQLServerEnterpriseManager或者REVOKE语句删除以前授予的许可和否定的许可。2020年1月10日第32页使用SQLServerEnterpriseManager管理许可在使用图形化工具管理许可时注意:–语句许可和对象许可的对话框是不同的;–只能管理常见的许可操作,如果希望管理所有的许可操作,那么必需使用相应的Transact-SQL语句。2020年1月10日第33页许可状态之间的关系2020年1月10日第34页查看安全信息SQLServer系统的安全信息存储在多个系统表中。这些系统表包括sysxlogins和syslogins、sysusers、syspermissions、sysprotects等。2020年1月10日第35页4.6规划SQLServer系统的安全性规划SQLServer的安全性包括确定如何使用默认的login帐户、如何使用guest帐户、确定public角色的许可、管理用户定义的角色的许可、使dbo拥有所有的对象等。
本文标题:《SQLServer教程》第4章管理安全性
链接地址:https://www.777doc.com/doc-2864906 .html