好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《安全管理》PPT课件.ppt

55页
  • 卖家[上传人]:大米
  • 文档编号:589654613
  • 上传时间:2024-09-11
  • 文档格式:PPT
  • 文档大小:322.50KB
  • / 55 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第十章第十章  SQL Server的安全管理的安全管理  9. 1  SQL Server 2000的验证模式的验证模式9. 2  登录管理登录管理9. 3  用户管理用户管理9. 4  角色管理角色管理9. 5  许可管理许可管理 数据的安全性数据的安全性是指保护数据以防止因不合法的使用是指保护数据以防止因不合法的使用而造成数据的泄密和破坏而造成数据的泄密和破坏.这就要采取一定的安全这就要采取一定的安全保护措施保护措施.在数据库中在数据库中,系统用检查口令等手段来检查用户身系统用检查口令等手段来检查用户身份份,合法的用户才能进入数据库系统合法的用户才能进入数据库系统.当用户对数据当用户对数据库执行操作时库执行操作时,系统自动检查用户是否有权限执行系统自动检查用户是否有权限执行这些操作这些操作. SQL Server 2000提供提供4层安全防线层安全防线:  1、操作系统的安全防线、操作系统的安全防线2、、SQL Server的运行安全防线的运行安全防线3、、SQL Server的数据库安全防线的数据库安全防线4、、SQL Server的数据库对象安全防线的数据库对象安全防线   SQL Server2000的安全性管理是建立在的安全性管理是建立在认证认证和和访问许访问许可可两者机制上的。

      两者机制上的认证是指来登录认证是指来登录SQL Server的登录帐号和密码是否正的登录帐号和密码是否正确,以此来验证其是否具有连接确,以此来验证其是否具有连接SQL Server的权限用户只能在获取访问数据库的权限之后,才能对服务用户只能在获取访问数据库的权限之后,才能对服务器上的数据库进行权限许可下的各种操作这种用户器上的数据库进行权限许可下的各种操作这种用户访问数据库权限的设置是通过用户帐号来实现的访问数据库权限的设置是通过用户帐号来实现的同时在同时在SQL Server中,中,角色角色作为用户组的替代物大大作为用户组的替代物大大简化了安全性管理简化了安全性管理SQL Server的安全模式中包括以下部分:的安全模式中包括以下部分:SQL ServerSQL Server的登录、数据库用户、权限、角色的登录、数据库用户、权限、角色 9. 1  SQL Server 2000的验证模式的验证模式•9.1.1 9.1.1 WindowsWindows验验证模式证模式•9.1.2 9.1.2 混合安全模式混合安全模式•9.1.3 9.1.3 设置验证模式设置验证模式•9.1.4 SQL Server 9.1.4 SQL Server 系统登录验证过程系统登录验证过程 验证阶段(验证阶段(Authentication))SQL Server和和Windows NT/2000是结合在是结合在一起的,因此就产生了两种验证模式。

      一起的,因此就产生了两种验证模式验证模式指的是安全方面的问题,每一个用验证模式指的是安全方面的问题,每一个用户要使用户要使用SQL Server,都必须经过验证都必须经过验证在安装过程中,系统会提示选择验证模式在安装过程中,系统会提示选择验证模式Windows身份验证模式身份验证模式混合验证模式混合验证模式 9.1.1  Windows 验证模式(验证模式(NT验证模式)验证模式)Windows验证模式是指要登录到验证模式是指要登录到SQL Server系统系统的用户身份由的用户身份由NT系统来进行验证在系统来进行验证在Windows登登录验证模式下,录验证模式下,SQL Server回叫回叫Windows NT以以获得相应的登录信息,并在获得相应的登录信息,并在syslogins表中查找该表中查找该帐户,以确定该帐户是否有权登录在这种方式帐户,以确定该帐户是否有权登录在这种方式下,用户不必提供登录名或密码让下,用户不必提供登录名或密码让SQL server验验证 Windows身份验证模式使用身份验证模式使用Windows操作系统操作系统本身提供的安全机制验证用户的身份只要用本身提供的安全机制验证用户的身份。

      只要用户能够通过户能够通过Windows NT或或Windows 2000的用的用户帐户验证,就可连接到户帐户验证,就可连接到SQL Server Windows验证模式对验证模式对SQL Server的影响的影响在在 Windows NT/2000的注册表内的注册表内,保存了保存了SQL Server验证模式的相关信息及启动验证模式的相关信息及启动SQL Server的必须信息的必须信息.在注册表中在注册表中,我的电脑我的电脑\KHEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer中的中的LoginMode的值决定采用哪的值决定采用哪种验证模式种验证模式.每次启动每次启动SQL Server时时,都将检索该键都将检索该键的值的值,以决定使用哪种验证模式以决定使用哪种验证模式. 使用使用Windows NT验证有如下特点:验证有如下特点:1、、NT验证模式下由验证模式下由Windows NT管理用户管理用户帐户,数据库管理员的工作是管理数据库帐户,数据库管理员的工作是管理数据库;2、、Windows NT有功能很强的工具去管理用有功能很强的工具去管理用户帐户,如安全验证和密码加密、审核、密户帐户,如安全验证和密码加密、审核、密码过期、最短密码长度以及在多次登录请求码过期、最短密码长度以及在多次登录请求失败后锁定帐户失败后锁定帐户;3、可以在、可以在SQL Server增加用户组增加用户组; 9.1.2  混合模式混合模式混合验证模式是指用户登录混合验证模式是指用户登录SQL Server系统时,系统时,其身份验证由其身份验证由Windows NT和和 SQL Server共同进共同进行。

      行SQL Server验证模式处理登录的过程为验证模式处理登录的过程为:用户在输入登录名和密码用户在输入登录名和密码SQL Server在系统注册表中检测在系统注册表中检测若输入的登录名存在若输入的登录名存在,而且密码也正确而且密码也正确成功登录成功登录SQL Server 混合验证模式有如下特点:混合验证模式有如下特点:混合模式允许非混合模式允许非Windows客户、客户、Internet客客户和混合的客户组连接到户和混合的客户组连接到SQL Server中中增加了安全性方面的选择增加了安全性方面的选择 9.1.3  设置验证模式设置验证模式设置验证模式的工作只能由系统管理员来完成设置验证模式的工作只能由系统管理员来完成使用使用SQL Server企业管理器时,设置或改变验证企业管理器时,设置或改变验证模式的步骤如下:模式的步骤如下:①① 运行运行SQL Server 企业管理器企业管理器②② 右键单击右键单击“SQL Server 服务器组服务器组”的要设置的要设置验证模式服务器,然后选择验证模式服务器,然后选择“属性属性”,系统将,系统将弹出弹出 “SQL Server 属性(配置)属性(配置)”窗口窗口③③单击单击“安全性安全性”选项卡,可从中选择一种选项卡,可从中选择一种登录模式登录模式 审核失败登录审核失败登录有助于查登录失有助于查登录失败的原因败的原因审核成功登录审核成功登录帮助调试,但却影响帮助调试,但却影响登录的速度。

      登录的速度重新启动重新启动SQL Server才可以使修改的值生效才可以使修改的值生效 SQL ServerSQL ServerSQL ServerSQL Server的登录访问确认的登录访问确认的登录访问确认的登录访问确认验证验证验证验证SQL ServerSQL ServerSQL ServerSQL Server验证信任连接验证信任连接验证信任连接验证信任连接SQL ServerSQL ServerSQL ServerSQL Server验证账户名和密码验证账户名和密码验证账户名和密码验证账户名和密码或或或或SQL SQL SQL SQL ServerServerServerServerWindows 2000 Windows 2000 Windows 2000 Windows 2000 组或用户组或用户组或用户组或用户Windows 2000Windows 2000Windows 2000Windows 2000SQL ServerSQL ServerSQL ServerSQL Server登录账户登录账户登录账户登录账户 9.2  登录管理登录管理9.2.1  系统管理员登录账户系统管理员登录账户9.2.2 用用T-SQL语句创建、查看、删除语句创建、查看、删除SQL Server 登录账户登录账户9.2.3 用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQL Server 登录账户登录账户 9.2.1  系统管理员登录账户系统管理员登录账户SQL Server有两个默认的系统管理员登录帐户:有两个默认的系统管理员登录帐户:                                 sa 和和 BUILTIN\Administrators。

      这两个登录帐户具有这两个登录帐户具有SQL Server系统和所有数系统和所有数据库的全部权限据库的全部权限sa是一个特殊的登录名,它是是一个特殊的登录名,它是混合验证机制下混合验证机制下SQL Server的系统管理员,的系统管理员,sa始终关联始终关联dbo用户BUILTIN\Administrators是是NT系统的系统管理员组系统的系统管理员组 具体地说,系统管理员负责下面的工作:具体地说,系统管理员负责下面的工作:l创建登录名创建登录名l配置服务器配置服务器l创建、删除数据库创建、删除数据库l无须考虑所有权和权限,可以操作各种数据库无须考虑所有权和权限,可以操作各种数据库对象对象l停止、启动服务器停止、启动服务器l停止在服务器上运行的无效过程停止在服务器上运行的无效过程l某些权限只能被系统管理员拥有并且不能被授某些权限只能被系统管理员拥有并且不能被授予其他用户这些功能是管理存储空间,管理用予其他用户这些功能是管理存储空间,管理用户进程及改变数据库选项户进程及改变数据库选项 用用T-SQL语句创建、查看、删除语句创建、查看、删除SQL Server登录帐户登录帐户⑴⑴ SQL Server登录帐户的创建登录帐户的创建使用系统存储过程使用系统存储过程 sp_addlogin 可以创建一可以创建一个登录帐户。

      个登录帐户sp_addlogin存储过程的语法存储过程的语法形式如下:形式如下:sp_addlogin  {'login'} [,password [,'default_database']]login:要被创建的登录帐户它是唯一必须给定:要被创建的登录帐户它是唯一必须给定值的参数,而且必须是有效的值的参数,而且必须是有效的SQL Server对象名password::新登录帐户的密码新登录帐户的密码default_database:新登录帐户访问的默认数:新登录帐户访问的默认数据库 例例1:创建一个登录帐户为:创建一个登录帐户为abc,密码为,密码为123、使用的、使用的默认数据库为默认数据库为StudentEXEC sp_addlogin 'abc','123','Student'例例2:创建登录名为:创建登录名为”user01”,没有密码和默认数据没有密码和默认数据库的用户库的用户EXEC sp_addlogin ‘user01’ ⑵⑵ SQL Server登录帐户的查看登录帐户的查看sp_helplogins⑶⑶ 登录帐户的删除登录帐户的删除删除登录帐户时需要在数据库中做较为复杂删除登录帐户时需要在数据库中做较为复杂的检查,以确保不会在数据库中留下孤儿型的检查,以确保不会在数据库中留下孤儿型的用户。

      的用户sp_droplogin {'login'}login:要被删除的登录帐户要被删除的登录帐户 9.2.3   用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQL Server登录帐户登录帐户①① 启动启动SQL Server企业管理器展开服务企业管理器展开服务器后,展开器后,展开“安全性安全性”文件夹②②用右键单击登录(用右键单击登录(login)图标,从快捷菜)图标,从快捷菜单中选择新建登录(单中选择新建登录(new login)选项,则出)选项,则出现现SQL Server登录属性登录属性—新建登录对话框新建登录对话框 ③③在名称编辑框中输入登录名,在身份验证选项在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是栏中选择新建的用户帐号是Windows NT认证模式,认证模式,还是还是SQL Server认证模式认证模式 ④④选择服务器角色页框选择服务器角色页框⑤⑤选择数据库访问页框选择数据库访问页框列出了系统的固定服务器角色列出了系统的固定服务器角色列出了该帐号可以访问的数据库列出了该帐号可以访问的数据库 2. 查看及删除登录帐户查看及删除登录帐户一个新的登录帐户增加后,可以在企业管理器中查一个新的登录帐户增加后,可以在企业管理器中查看其详细信息。

      查看一个帐户的步骤如下:看其详细信息查看一个帐户的步骤如下:①① 启动启动SQL服务器企业管理器,并展开到服务器企业管理器,并展开到“安全性安全性”②② 点击点击“登录登录”,右边窗格显示的是登录,右边窗格显示的是登录帐户的列表帐户的列表③③ 右击该窗口中的某一登录帐户,在系统右击该窗口中的某一登录帐户,在系统弹出的菜单上点击弹出的菜单上点击“属性属性”可进入可进入“SQL登录属性登录属性”窗口查看该登录帐户的信息;窗口查看该登录帐户的信息;点击点击“删除删除”可以删除该登录帐户可以删除该登录帐户 9.3  用户管理用户管理9.3.1  数据库用户名和登录名的关系数据库用户名和登录名的关系9.3.2  用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户9.3.3  使用企业管理器创建、查看、删除数据库用户使用企业管理器创建、查看、删除数据库用户9.3.4  改变数据库所有权改变数据库所有权 9.3.1  数据库用户名和登录名的关系数据库用户名和登录名的关系登录名、数据库用户名是登录名、数据库用户名是SQL服务器中两个容服务器中两个容易混淆的概念易混淆的概念在数据库中,一个用户或工作组取得合法的登在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了录帐号,只表明该帐号通过了Windows NT认认证或者证或者SQL Server认证,但不能表明其可以对认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够作,只有当他同时拥有了用户帐号后,才能够访问数据库。

      访问数据库 登录名是访问登录名是访问SQL服务器的通行证每个登录名的定服务器的通行证每个登录名的定义存放在义存放在master数据库的表数据库的表syslogins中登录名本身并中登录名本身并不能让用户访问服务器中的数据库资源不能让用户访问服务器中的数据库资源要访问特定的数据库,还必须有数据库用户名新的要访问特定的数据库,还必须有数据库用户名新的登录创建以后,才能创建用户,用户在特定的数据库登录创建以后,才能创建用户,用户在特定的数据库内创建,必须和一个登录名相关联内创建,必须和一个登录名相关联用户的定义信息存放在与其相关的数据库的用户的定义信息存放在与其相关的数据库的sysusers表中这个表包含了该数据库的所有用户对象以及表中这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识用户名没有密码和和它们相对应的登录名的标识用户名没有密码和它相关联它相关联大多数情况下,登录名和用户名使用相同的名称大多数情况下,登录名和用户名使用相同的名称 登录帐户和数据库用户是登录帐户和数据库用户是SQL服务器进行权限服务器进行权限管理的两种不同的对象管理的两种不同的对象一个登录帐户可以映射到不同的数据库,产生多一个登录帐户可以映射到不同的数据库,产生多个数据库用户,一个数据库用户只能映射到一个个数据库用户,一个数据库用户只能映射到一个登录帐户登录帐户允许数据库为每个用户对象分配不同的权限,允许数据库为每个用户对象分配不同的权限,这一特点为在组内分配权限提供了最大的自由这一特点为在组内分配权限提供了最大的自由度。

      度 9.3.2  用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户为一个登录帐户授权,最常使用的方法是创建一个为一个登录帐户授权,最常使用的方法是创建一个新的数据库用户,然后将其与一个登录帐户对应起新的数据库用户,然后将其与一个登录帐户对应起来1. 用用T-SQL语句创建数据库用户语句创建数据库用户使用系统存储过程使用系统存储过程sp_grantdbaccess可以可以在当前数据库中添加一个用户帐户在当前数据库中添加一个用户帐户sp_grantdbaccess  'login' [, 'name_in_db‘]login:指定当前数据库中新安全帐户的登录名称指定当前数据库中新安全帐户的登录名称name_in_db:指定数据库中用户帐户的名称指定数据库中用户帐户的名称 例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户’abc’创建一个同名的数据库用户创建一个同名的数据库用户use Studentgoexec sp_grantdbaccess    ‘abc’例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户’abc’创建一个名称为创建一个名称为’userabc’的数据库用的数据库用户。

      户use Studentgoexec sp_grantdbaccess  ‘abc’,’ userabc’ 2. 用用T-SQL语句查看数据库用户语句查看数据库用户使用系统存储过程使用系统存储过程sp_helpuser可以查看数据可以查看数据库中的有效帐户信息库中的有效帐户信息3. 用用T-SQL语句删除数据库用户语句删除数据库用户当需要撤消某一登录用户对指定数据库的访问当需要撤消某一登录用户对指定数据库的访问权限时,最简单的办法就是在该数据库中删除权限时,最简单的办法就是在该数据库中删除该登录用户在指定数据库中的用户账号该登录用户在指定数据库中的用户账号sp_revokedbaccess存储过程可以删除数据库用户存储过程可以删除数据库用户sp_revokedbaccess [@name_in_db =] '名字名字‘ 注意,注意,sp_revokedbaccess 存储过程不能删除:存储过程不能删除:dbo、数据库中的固定角色、数据库中的固定角色master和和 tempdb 数据库中的数据库中的Guest用户帐用户帐户户Windows NT组中的组中的 Windows NT用户用户        sp_revokedbaccess  ‘abc‘例:使用命令例:使用命令sp_revokedbaccess将数据库中的将数据库中的“abc”删除掉。

      删除掉 9.3.3  使用企业管理器创建、查看、删除数据库用户使用企业管理器创建、查看、删除数据库用户1. 使用企业管理器创建与查看数据库用户使用企业管理器创建与查看数据库用户①① 启动企业管理器启动企业管理器②② 展开要操作的服务器及要创建用户的数据展开要操作的服务器及要创建用户的数据库③③ 点击点击“用户用户”,右边窗格可以查看到该数,右边窗格可以查看到该数据库的用户据库的用户④④ 右击右击“用户用户”文件夹,选择文件夹,选择“新建数据库新建数据库用户用户”,弹出,弹出“新建用户新建用户”的窗口⑤⑤ 输入要创建的数据库用户的名字,然后在输入要创建的数据库用户的名字,然后在下拉的列表中选择对应的登录名下拉的列表中选择对应的登录名⑥⑥ 单击单击“确定确定”按钮,将用户添加到数据库按钮,将用户添加到数据库中 2. 使用企业管理器删除数据库用户使用企业管理器删除数据库用户①① 启动企业管理器启动企业管理器②② 展开要操作的服务器及要删除用户所在展开要操作的服务器及要删除用户所在的数据库的数据库③③ 单击单击“用户用户”,右边显示该数据库所有,右边显示该数据库所有的库用户的库用户④④ 右击要删除的用户,在系统弹出的快捷右击要删除的用户,在系统弹出的快捷菜单上选择菜单上选择“删除删除”来删除这个用户。

      来删除这个用户 9.3.4  改变数据库所有权改变数据库所有权在数据库中有一个用户是数据库所有者在数据库中有一个用户是数据库所有者(database owner, dbo),拥有数据库中所有的对象拥有数据库中所有的对象.只能有一个数据库所有者只能有一个数据库所有者.数据库所有者不能被数据库所有者不能被删除删除.通常通常,登录名登录名s a映射在库中的用户是映射在库中的用户是d b o.必须使必须使用用sp_changedbowner存储过程来改变数据库所存储过程来改变数据库所有权有权.这个存储过程是唯一改变数据库所有权的方这个存储过程是唯一改变数据库所有权的方法法,在企业管理器中没有类似功能在企业管理器中没有类似功能. 9.4  角色管理角色管理用户一般在组中工作用户一般在组中工作.也就是说可以将在相同数也就是说可以将在相同数据上有相同权限的用户放入组中进理据上有相同权限的用户放入组中进理SQLServer具有将用户分配到组中的能力具有将用户分配到组中的能力,分配分配给组的权限也适用于组中的每一个成员给组的权限也适用于组中的每一个成员 角色是从版本开始引进的新概念,它代替了以角色是从版本开始引进的新概念,它代替了以前版本中组的概念前版本中组的概念利用角色,利用角色,SQL Server管理者可以将某些用户设管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置以实现对所有用户权限的设置SQL Server提供了用户通常管理工作的提供了用户通常管理工作的固定服固定服务器角色务器角色和和数据库角色数据库角色。

      1、服务器角色、服务器角色服务器角色是指根据服务器角色是指根据SQL Server的管理任务,的管理任务,以及这些任务相对的重要性等级来把具有以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组,管理职能的用户划分为不同的用户组,每一组所具有的管理每一组所具有的管理SQL Server的权限都是的权限都是SQL Server内置的,即不能对其进行添加、修内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色改和删除,只能向其中加入用户或者其他角色  七种常用的固定服务器角色七种常用的固定服务器角色系统管理员:拥有系统管理员:拥有SQL Server所有的权限许可所有的权限许可服务器管理员:管理服务器管理员:管理SQL Server服务器端的设置服务器端的设置磁盘管理员:管理磁盘文件磁盘管理员:管理磁盘文件进程管理员:管理进程管理员:管理SQL Server系统进程系统进程安全管理员:管理和审核安全管理员:管理和审核SQL Server系统登录系统登录安装管理员:增加、删除连接服务器,建立数据库复安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。

      制以及管理扩展存储过程数据库创建者:创建数据库,并对数据库进行修改数据库创建者:创建数据库,并对数据库进行修改 执行存储过程执行存储过程sp_helpsrvrole,可查看服务器上的固,可查看服务器上的固定服务器角色,要查看某个固定服务器角色的权限可定服务器角色,要查看某个固定服务器角色的权限可执行存储过程执行存储过程sp_srvrolepermission 2. 为登录帐户指定及收回服务器角色为登录帐户指定及收回服务器角色使用使用sp_addsrvrolemember存储过程或企业管理存储过程或企业管理器可为一个登录帐户指定服务器角色器可为一个登录帐户指定服务器角色⑴⑴ 使用系统存储过程为登录帐户指定及收回服使用系统存储过程为登录帐户指定及收回服务器角色务器角色:sp_addsrvrolemember { '登录登录'},,'角色角色'? 登录:是指登录名登录:是指登录名 角色:是指服务器角色名角色:是指服务器角色名收回服务器角色的系统存储过程收回服务器角色的系统存储过程sp_dropsrvrolemember,参数含义同上,参数含义同上 ⑵⑵ 使用企业管理器为登录帐户指定及收回服务器角色使用企业管理器为登录帐户指定及收回服务器角色 9.4.2  数据库角色数据库角色数据库角色分为数据库角色分为固定数据库角色固定数据库角色和和自定义数自定义数据库角色据库角色。

      1. 固定数据库角色及功能固定数据库角色及功能在安装完在安装完SQL服务器后,系统将自动创建服务器后,系统将自动创建10个个固定的数据库角色固定的数据库角色 角色角色                            功能功能public维护默认的许可维护默认的许可db_owner         数据库属主,在特定数据库内具有全部权限数据库属主,在特定数据库内具有全部权限db_accessadmin 能够添加、删除数据库用户和角色能够添加、删除数据库用户和角色db_securityadmin 可以管理全部权限、对象所有权、角色和角可以管理全部权限、对象所有权、角色和角色成员资格色成员资格db_ddladmin 能够添加、删除和修改数据库对象能够添加、删除和修改数据库对象db_backupoperator 能够备份和恢复数据库能够备份和恢复数据库db_datareader 能够从任意表中读出数据能够从任意表中读出数据db_datawriter 能够对任意表插入、修改和删除数据能够对任意表插入、修改和删除数据db_denydatareader 不允许从表中读数据不允许从表中读数据db_denydatawriter  不允许改变表中的数据。

      不允许改变表中的数据 public角色是一个特殊的数据库角色,数据库中是一个特殊的数据库角色,数据库中的每位用户都是公众角色的成员,它负责维护数的每位用户都是公众角色的成员,它负责维护数据库中用户的全部默认许可,不能将用户和组或据库中用户的全部默认许可,不能将用户和组或角色指定公众角色角色指定公众角色l数据库角色在数据库级别上被定义,存数据库角色在数据库级别上被定义,存在于数据库之内数据库角色存放在每在于数据库之内数据库角色存放在每个数据库个数据库sysusers表中表中l固定数据库角色不能被删除、修改、创固定数据库角色不能被删除、修改、创建建l固定数据库角色可以指定给其它登录帐固定数据库角色可以指定给其它登录帐户户注意:注意: 2用户自定义角色2用户自定义角色创建用户定义的数据库角色就是创建一组用户,创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组许可这些用户具有相同的一组许可用户自定义的数据库角色有两种类型:即用户自定义的数据库角色有两种类型:即标标准角色准角色和和应用程序角色应用程序角色 标准角色和应用程序角色标准角色和应用程序角色标准角色和应用程序角色标准角色和应用程序角色标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安全性。

      全性应用程序角色是一种比较特殊的角色当我应用程序角色是一种比较特殊的角色当我应用程序角色是一种比较特殊的角色当我应用程序角色是一种比较特殊的角色当我们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序角色当某一用户使用了应用程序角色时,角色当某一用户使用了应用程序角色时,角色当某一用户使用了应用程序角色时,角色当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色他所拥有的只是应用程序角色被设置的角色他所拥有的只是应用程序角色被设置的角色。

      他所拥有的只是应用程序角色被设置的角色 •sp_addrole:用来创建一个新的数据库角色:用来创建一个新的数据库角色•sp_addrole role,,owner•sp_droprole:用于删除一个数据库角色:用于删除一个数据库角色•sp_droprole role•sp_helprole:显示当前数据库所有的数据库角色的所有信息:显示当前数据库所有的数据库角色的所有信息•sp_helprole [‘role’]•sp_addrolemember:向数据库某一角色中添加数据库用户:向数据库某一角色中添加数据库用户sp_addrolemember role,,security_account•sp_droprolemember:用来删除某一角色的用户:用来删除某一角色的用户•sp_droprolemember role,,security_account•sp_helprolemember:用于显示某一数据库角色的所有成员:用于显示某一数据库角色的所有成员•sp_helprolemember  [‘role’]管理数据库角色管理数据库角色 9. 5  权限权限(许可许可)管理管理9.5.1  许可类型许可类型9.5.2  许可的验证许可的验证9.5.3  管理许可管理许可 许可许可用来指定授权用户可以使用的数据库对象和这用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。

      些授权用户可以对这些数据库对象执行的操作用户在登录到用户在登录到SQL Server之后,其用户帐号所归属之后,其用户帐号所归属的的NT组或角色所被赋予的许可(权限)决定了该用组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据问、修改哪些数据在每个数据库中用户的许可独立于用户帐号和用户在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许在数据库中的角色,每个数据库都有自己独立的许可系统在在SQL Server中包括三种类型的许可:即对象许可、中包括三种类型的许可:即对象许可、语句许可和预定义许可语句许可和预定义许可 三种许可类型三种许可类型1、对象许可、对象许可表示对特定的数据库对象,即表、视图、字段和表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作数据库对象执行哪些操作 2、语句许可、语句许可表示对数据库的操作许可,也就是说,创建数据表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类库或者创建数据库中的其它内容所需要的许可类型称为语句许可。

      型称为语句许可3、默认、默认(预定义预定义)许可许可是指系统安装以后有些用户和角色不必授权就有是指系统安装以后有些用户和角色不必授权就有的许可 1. 默认许可默认许可SQL服务器中包含很多对象,每个对象都有一个属主服务器中包含很多对象,每个对象都有一个属主一般来说,对象的属主是创建该对象的用户一般来说,对象的属主是创建该对象的用户如果系统管理员创建了一个数据库,系统管理员就是如果系统管理员创建了一个数据库,系统管理员就是这个数据库的属主这个数据库的属主如果一个用户创建了一个表,这个用户就是这个表的如果一个用户创建了一个表,这个用户就是这个表的属主很显然,系统管理员具有这个数据库的全部操作权限,很显然,系统管理员具有这个数据库的全部操作权限,创建表的用户具有这个表全部操作权限这就是数据创建表的用户具有这个表全部操作权限这就是数据库对象的默认许可库对象的默认许可默认许可也称为暗指许可默认许可也称为暗指许可 2. 对象许可对象许可对象许可是指用户基于数据库层次上的访问和操作权限,如对象许可是指用户基于数据库层次上的访问和操作权限,如果没有对象的许可,用户将不能访问该对象对象许可有五果没有对象的许可,用户将不能访问该对象。

      对象许可有五种:查询、插入、修改、删除和执行前四个许可是用于表种:查询、插入、修改、删除和执行前四个许可是用于表和视图的,执行许可只用于存储过程和视图的,执行许可只用于存储过程选择:该许可授予数据库中某个特定表的用户,具备这种许选择:该许可授予数据库中某个特定表的用户,具备这种许可的用户才能访问、操作该表的数据可的用户才能访问、操作该表的数据插入:该许可授予数据库中某个特定表的用户可以向表中插插入:该许可授予数据库中某个特定表的用户可以向表中插入数据更新:该许可授予数据库中某个特定表的用户可以对表中的更新:该许可授予数据库中某个特定表的用户可以对表中的数据进行更新数据进行更新删除:该许可授予数据库中某个特定表的用户可以删除表中删除:该许可授予数据库中某个特定表的用户可以删除表中的数据执行:该许可授予数据库中某个特定的用户,具有这种许可执行:该许可授予数据库中某个特定的用户,具有这种许可的用户可以执行存储过程的用户可以执行存储过程 3.语句许可语句许可语句许可通常授予需要在数据库中创建对象或修改对象、执行数据语句许可通常授予需要在数据库中创建对象或修改对象、执行数据库和事务日志备份的用户。

      如果一个用户获得某个语句的许可,该库和事务日志备份的用户如果一个用户获得某个语句的许可,该用户就具有了执行该语句的权力用户就具有了执行该语句的权力以下是需要进行许可设置的语句:以下是需要进行许可设置的语句:BACKUP  DTADBASE:允许用户执行备份数据库的操作允许用户执行备份数据库的操作BACK  LOG:允许用户执行备份事务日志库的操作允许用户执行备份事务日志库的操作CREATE  DATABASE:允许用户创建新的数据库允许用户创建新的数据库CREATE  DEFAULT:允许用户创建缺省允许用户创建缺省CREATE  PROCEDURE:允许用户执行创建存储过程的操作允许用户执行创建存储过程的操作CTEATE  FUNCTION:允许用户创建用户定义函数允许用户创建用户定义函数CREATE  RULE:允许用户创建规则允许用户创建规则CREATE  TABLE:允许用户创建表允许用户创建表CREATE  VIEW:允许用户创建视图允许用户创建视图语句许可授予用户执行相应命令的能力,语句许可适用于创建和删语句许可授予用户执行相应命令的能力,语句许可适用于创建和删除对象、备份和恢复数据库。

      除对象、备份和恢复数据库。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.