版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块十数据库安全管理任务描述知识要点返回任务描述数据库安全管理是数据库系统中非常重要的组成部分,本模块主要实现SQLServer2008数据库安全管理中的登录身份验证、服务器登录账号管理、数据库用户管理、角色管理和权限管理,完成ebook系统中数据库的安全管理与维护。任务1管理登录账号(LoginName)登录是指用户连接到指定SQLServer数据库服务器的过程。在此期间,系统要对该用户进行身份验证,只有拥有正确的登录账号和密码,才能连接到指定的数据库服务器。管理登录账号用于设置登录数据库服务器的权限。下一页返回任务描述任务1.1设置身份验证模式在安装SQLServer2008过程中,必须为数据库引擎选择身份验证模式。可供选择的身份验证模式有两种:Windows身份验证模式和混合验证模式。Windows身份验证模式会启用Win⁃dows身份验证并禁用SQLServer身份验证。混合验证模式会同时启用Windows身份验证和SQLServer身份验证。Windows身份验证始终可用,并且无法禁用。设置身份验证模式的步骤如下:①启动SQLServerManagementStudio,在“对象资源管理器”窗口中,右击用户指定的数据库服务器,在弹出的快捷菜单中选择“属性”命令,如图10.1所示。上一页下一页返回任务描述②在打开的“服务器属性”窗口中,选择“安全性”选择页,在“服务器身份验证”栏中,选择“Windows身份验证模式”单选按钮,设置Windows验证模式,选择“SQLServer和Windows身份验证模式”单选按钮,设置混合验证模式,如图10.2所示。③单击“确定”按钮,完成身份验证模式的设置。任务1.2创建登录账号要登录到SQLServer服务器,必须具有一个登录账号,用户可以使用系统默认的账号,也可以创建新的登录账号。上一页下一页返回任务描述创建登录账号时,可以创建一个SQLServer登录账号,也可以将Windows账号添加到SQLServer中。任务1.2.1创建Windows用户登录账号login1方法一:使用SQLServerManagementStudio创建Windows用户登录账号①选择“开始”→“控制面板”→“系统和安全”→“管理工具”→“计算机管理”菜单命令,在打开的“计算机管理”对话框中展开“本地用户和组”,右击“用户”节点,在弹出的快捷菜单中选择“新用户”命令,创建用户login1。上一页下一页返回任务描述②在SQLServerManagementStudio的“对象资源管理器”窗口中,展开要在其中创建新登录账号的服务器实例,再展开“安全性”节点,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”命令,打开“登录名-新建”对话框。③在“登录名-新建”对话框中,选择“常规”选择页,单击“登录名”文本框右侧的“搜索”按钮,选择用户login1,如图10.3所示。④选择“Windows身份验证”单选按钮,单击“确定”按钮,完成登录账号的创建。上一页下一页返回任务描述方法二:使用T-SQL语句创建Windows用户登录账号在查询编辑器中,输入以下T-SQL命令创建登录账号:任务1.2.2创建SQLServer登录账号login2方法一:使用SQLServerManagementStudio创建SQLServer登录账号上一页下一页返回任务描述①在SQLServerManagementStudio的“对象资源管理器”窗口中,展开要在其中创建新登录账号的服务器实例,再展开“安全性”节点,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”命令,打开“登录名-新建”对话框。②在“登录名-新建”对话框中,选择“常规”选择页,在“登录名”文本框中输入SQLServer登录账号“login2”,如图10.4所示。③选择“SQLServer身份验证”单选按钮,输入登录账号的密码。选择应当应用于新登录账号的密码策略选项。通常,“强制实施密码策略”是更安全的选择。上一页下一页返回任务描述④如果需要,也可以设置默认数据库。单击“确定”按钮,完成登录账号的创建。⑤在“对象资源管理器”窗口中刷新“登录名”节点,可以看到系统创建的默认登录账号以及用户创建的登录账号,如图10.5所示。方法二:使用T-SQL语句创建SQLServer登录账号在查询编辑器中,输入以下T-SQL命令创建登录账号。上一页下一页返回任务描述任务1.3修改登录账号sa的密码为“123456”方法一:使用SQLServerManagementStudio修改SQLServer登录账号密码①在SQLServerManagementStudio的“对象资源管理器”窗口中,展开数据库服务器的“安全性”节点,再展开“登录名”节点,双击登录账号“sa”(或右击登录账号“sa”,在弹出的快捷菜单中选择“属性”命令),打开“登录属性”对话框,如图10.6所示。②在打开的“登录属性”对话框中,选择“常规”选择页,修改sa登录账号的密码,单击“确定”按钮,完成登录账号密码的修改。上一页下一页返回任务描述方法二:使用T-SQL语句修改SQLServer登录账号密码在查询编辑器中,输入以下T-SQL命令修改登录账号密码:任务1.4禁用登录账号login2方法一:使用SQLServerManagementStudio禁用登录账号①启动SQLServerManagementStudio,在“对象资源管理器”窗口中选择数据库服务器,依次展开“安全性”、“登录名”节点。上一页下一页返回任务描述②双击要操作的登录账号login2(或右击登录账号login2,在弹出的快捷菜单中选择“属性”命令),打开“登录属性”对话框。③在“登录属性”对话框中,选择“状态”选项页,在右边窗口的“设置”选项中设置参数。如果将“是否允许连接到数据库引擎”设置为“拒绝”,则拒绝该登录账号连接到数据库引擎。如果将“登录”设置为“禁用”,则禁用该登录账号,如图10.7所示。④设置完成后,单击“确定”按钮,禁用login2。方法二:使用T-SQL语句禁用登录账号上一页下一页返回任务描述在查询编辑器中,输入以下T-SQL命令禁用登录账号:任务1.5删除登录账号login1方法一:使用SQLServerManagementStudio删除登录账号①启动SQLServerManagementStudio,在“对象资源管理器”窗口中选择数据库服务器,依次展开“安全性”、“登录名”节点,可以看到系统创建的默认登录账号以及已经创建的其他登录账号。上一页下一页返回任务描述②右击要删除的登录账号login1,在弹出的快捷菜单中选择“删除”命令,或者按下“Delete”键,弹出如图10.8所示的“删除对象”对话框。③单击“确定”按钮,弹出一个提示对话框,如图10.9所示,用来提示删除登录账号之前应该先删除该登录账号在数据库中的关联用户名。④单击提示对话框中的“确定”按钮,完成登录账号的删除操作。方法二:使用T-SQL语句删除登录账号在查询编辑器中,输入以下T-SQL命令删除登录账号:上一页下一页返回任务描述任务2管理数据库用户(UserName)使用“任务1管理登录账号”中创建好的登录账号login2就可以登录到数据库服务器。重新启动SQLServerManagementStudio,选择身份验证模式为“SQLServer身份验证”,在登录名和密码文本框中分别输入“login2”和“123456”,单击“连接”按钮连接到数据库服务器,如图10.10所示。上一页下一页返回任务描述使用登录账号login2连接到数据库服务器之后,单击查看“ebook”数据库信息,弹出如图10.11所示的错误提示信息对话框。任务2.1创建数据库用户在ebook数据库中创建数据库用户login2,关联SQLServer登录账号login2。方法一:使用SQLServerManagementStudio创建数据库用户①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。上一页下一页返回任务描述②依次展开“数据库”→“ebook”→“安全性”节点,右击“用户”节点,在弹出的快捷菜单中选择“新建用户”命令,打开“数据库用户-新建”对话框,选择“常规”选项页,如图10.12所示。③单击“登录名”文本框右侧的按钮,打开“选择登录名”对话框,然后单击“浏览”按钮,打开“查找对象”对话框,如图10.13所示。选择之前创建好的SQLServer登录账号login2。④单击“确定”按钮返回,在“选择登录名”对话框中就可以看到选择的登录账号对象,如图10.14所示。上一页下一页返回任务描述⑤单击“确定”按钮返回。在“用户名”文本框中输入数据库用户名“login2”,如图10.15所示。单击“确定”按钮,完成数据库用户的创建。⑥为了验证是否创建成功,刷新“用户”节点,可以看到刚才创建的“login2”用户账号,如图10.16所示。⑦数据库用户创建成功后,就可以使用该用户账号关联的登录账号login2进行登录,访问“ebook”数据库。新建的数据库用户可以访问数据库,但不能对数据库对象进行任何操作。单击“ebook”数据库的“表”节点,将看不到用户表,如图10.17所示。上一页下一页返回任务描述方法二:使用T-SQL语句创建数据库用户在查询编辑器中,输入以下T-SQL命令创建数据库用户:上一页下一页返回任务描述任务2.2修改数据库用户方法一:使用SQLServerManagementStudio修改数据库用户在ebook数据库中将数据库用户login2的默认架构修改为“guest”。①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②依次展开“数据库”→“ebook”→“安全性”→“用户”节点,双击“login2”数据库用户(或右击“login2”数据库用户,在弹出的快捷菜单中选择“属性”命令),打开“数据库用户”对话框,如图10.18所示。上一页下一页返回任务描述③在“数据库用户”对话框中可以看到,之前创建的数据库用户login2的默认架构为dbo,在此可以修改用户架构、数据库角色成员身份,也可以选择“安全对象”选项页修改数据库用户能访问的数据库对象。根据任务需求,在此单击“默认架构”文本框右侧的按钮,打开“选择架构”对话框,然后单击“浏览”按钮,打开“查找对象”对话框,如图10.19所示,选择“guest”架构。④单击“确定”按钮返回,在“选择架构”对话框中就可以看到选择的用户架构对象“guest”。上一页下一页返回任务描述单击“确定”按钮返回到“数据库用户”对话框,可以看到默认架构已经修改为“guest”。单击“确定”按钮完成数据库用户的修改。方法二:使用ALTERUSER语句修改数据库用户在查询编辑器中,输入以下T-SQL命令,修改数据库用户login2的默认架构为dbo。上一页下一页返回任务描述任务2.3删除数据库用户在ebook数据库中删除数据库用户login2。方法一:使用SQLServerManagementStudio删除数据库用户①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②依次展开“数据库”→“ebook”→“安全性”→“用户”节点,右击“login2”数据库用户,在弹出的快捷菜单中选择“删除”命令,打开“删除对象”对话框,如图10.20所示。上一页下一页返回任务描述③单击“确定”按钮,完成数据库用户的删除。单击“取消”按钮,取消删除操作。为了后续任务实现需要,这里单击“取消”按钮。方法二:使用DROPUSER语句删除数据库用户在查询编辑器中,输入以下T-SQL命令删除数据库用户。同样,为了后续任务实现需要,这里不做语句的具体执行。上一页下一页返回任务描述任务3管理角色(Role)角色(Role)是SQLServer的一种权限机制,用来集中管理服务器和数据库数据。SQLServer2008提供了两种角色:固定服务器角色和固定数据库角色,也可以根据需要创建自定义数据库角色。固定服务器角色可以实现登录账号的分组管理,数据库角色可以实现数据库用户的分组管理。数据库管理员将操作数据库的权限赋予角色,再将角色赋给登录账号或数据库用户,从而使登录账号或数据库用户拥有相应的权限。任务3.1管理固定服务器角色任务3.1.1向固定服务器角色添加成员上一页下一页返回任务描述将之前创建好的登录账号login2添加到固定服务器角色sysadmin。方法一:使用SQLServerManagementStudio添加成员①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②依次展开“安全性”、“服务器角色”节点,右击要添加成员的固定服务器角色sysadmin,在弹出的快捷菜单中选择“属性”命令(或双击sysadmin节点),打开“服务器角色属性”对话框,如图10.21所示。上一页下一页返回任务描述③在“服务器角色属性”对话框中可以看到当前固定服务器角色sysadmin的角色成员。单击“添加”按钮,打开“选择登录名”对话框,如图10.22所示。④单击“浏览”按钮,在打开的如图10.23所示的“查找对象”对话框中选择登录账号“login2”,单击“确定”按钮返回“选择登录名”对话框,可以看到选择的登录账号。⑤单击“确定”按钮,返回“服务器角色属性”对话框,在角色成员列表中,就可以看到固定服务器角色sysadmin的所有成员,其中包括刚刚添加的login2。单击“确定”按钮,完成固定服务器角色成员的添加。上一页下一页返回任务描述方法二:使用T-SQL语句添加成员在查询编辑器中,输入以下T-SQL命令向固定服务器角色添加成员。任务3.1.2删除固定服务器角色成员将任务3.1.1中添加到sysadmin角色中的角色成员login2删除。方法一:使用SQLServerManagementStudio删除成员上一页下一页返回任务描述①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②依次展开“安全性”、“服务器角色”节点,右击要删除成员的固定服务器角色sysadmin,在弹出的快捷菜单中选择“属性”命令(或双击sysadmin节点),打开“服务器角色属性”对话框。③在“服务器角色属性”对话框中可以看到当前固定服务器角色sysadmin的角色成员。选择要删除的角色成员“login2”,单击“删除”按钮,如图10.24所示。上一页下一页返回任务描述④在“服务器角色属性”对话框中单击“确定”按钮,完成服务器角色成员的删除。方法二:使用T-SQL语句删除成员。在查询编辑器中,输入以下T-SQL命令删除固定服务器角色成员。任务3.2管理数据库角色数据库角色是在数据库的级别上定义的,分为固定数据库角色和自定义数据库角色。上一页下一页返回任务描述固定数据库角色在安装SQLServer2008时定义,提供最基本的数据库权限的设置管理。自定义数据库角色可以设置数据库用户的自定义数据库权限,分为标准角色和应用程序角色两种类型。任务3.2.1向固定数据库角色添加成员将“ebook”数据库中创建的数据库用户login2添加到固定数据库角色db_owner。方法一:使用SQLServerManagementStudio添加成员上一页下一页返回任务描述①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”→“数据库角色”节点,右击要添加成员的固定数据库角色db_owner,在弹出的快捷菜单中选择“属性”命令(或双击db_owner节点),打开“数据库角色属性”对话框,如图10.25所示。③在“数据库角色属性”对话框中单击“添加”按钮,打开“选择数据库用户或角色”对话框,然后单击“浏览”按钮,打开“查找对象”对话框,选择数据库用户login2,如图10.26所示。上一页下一页返回任务描述④单击“确定”按钮,返回“选择数据库用户或角色”对话框,可以看到选择的数据库用户login2。单击“确定”按钮,返回“数据库角色属性”对话框,在这里可以看到当前固定数据库角色拥有的架构以及该角色所有的成员,其中包括刚刚添加的login2。⑤单击“确定”按钮,完成固定数据库角色成员的添加。方法二:使用T-SQL语句添加成员在查询编辑器中,输入以下T-SQL命令向固定数据库角色添加成员。上一页下一页返回任务描述任务3.2.2删除固定数据库角色成员将任务3.2.1中添加到db_owner角色中的角色成员login2删除。方法一:使用SQLServerManagementStudio删除成员。上一页下一页返回任务描述①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”→“数据库角色”节点,右击要删除成员的固定数据库角色db_owner,在弹出的快捷菜单中选择“属性”命令(或双击db_owner节点),打开“数据库角色属性”对话框。③在“数据库角色属性”对话框中可以看到当前固定数据库角色db_owner的角色成员。上一页下一页返回任务描述选择要删除的角色成员“login2”,单击“删除”按钮,如图10.27所示。④在“数据库角色属性”对话框中单击“确定”按钮,完成数据库角色成员的删除。方法二:使用T-SQL语句删除成员在查询编辑器中,输入以下T-SQL命令删除固定数据库角色成员。上一页下一页返回任务描述任务3.2.3创建自定义数据库角色方法一:使用SQLServerManagementStudio创建自定义数据库角色在“ebook”数据库中创建角色role1,并添加成员数据库用户login2。①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”节点,右击“数据库角色”节点,在弹出的快捷菜单中选择“新建数据库角色”命令,打开“数据库角色-新建”对话框,如图10.28所示。上一页下一页返回任务描述③在“数据库角色-新建”对话框中,选择“常规”选择页,在“角色名称”文本框中输入角色名“role1”,单击“添加”按钮,将数据库用户“login2”加入新建的数据库角色中,数据库角色的“所有者”默认取值为“dbo”。④单击“确定”按钮,完成自定义数据库角色的创建。方法二:使用T-SQL语句创建自定义数据库角色在查询编辑器中,输入以下T-SQL命令创建自定义数据库角色。在“ebook”数据库中创建角色role2,并添加成员数据库用户login2。上一页下一页返回任务描述任务3.2.4删除自定义数据库角色在“ebook”数据库中删除角色role2。方法一:使用SQLServerManagementStudio删除自定义数据库角色上一页下一页返回任务描述①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”→“数据库角色”节点,右击要删除的自定义数据库角色“role2”,在弹出的快捷菜单中选择“删除”命令,打开“删除对象”对话框,如图10.29所示。③单击“确定”按钮,完成自定义数据库角色的删除。方法二:使用T-SQL语句删除自定义数据库角色上一页下一页返回任务描述在查询编辑器中,输入以下T-SQL命令删除自定义数据库角色。任务3.2.5创建应用程序角色在“ebook”数据库中创建应用程序角色role2,密码为“role123”。上一页下一页返回任务描述方法一:使用SQLServerManagementStudio创建应用程序角色①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”节点,右击“应用程序角色”节点,在弹出的快捷菜单中选择“新建应用程序角色”命令,打开“应用程序角色-新建”对话框,如图10.30所示。上一页下一页返回任务描述③在“应用程序角色-新建”对话框中,选择“常规”选择页,在“角色名称”文本框中输入角色名“role2”,并输入密码,应用程序角色的“默认架构”默认取值为“dbo”。④单击“确定”按钮,完成应用程序角色的创建。方法二:使用T-SQL语句创建应用程序角色在查询编辑器中,输入以下T-SQL命令创建应用程序角色。上一页下一页返回任务描述任务3.2.6删除应用程序角色在“ebook”数据库中删除应用程序角色role2。方法一:使用SQLServerManagementStudio删除应用程序角色①启动SQLServerManagementStudio,通过Widdows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“安全性”→“角色”→“应用程序角色”节点,右击要删除的应用程序角色“role2”,在弹出的快捷菜单中选择“删除”命令,打开“删除对象”对话框,如图10.31所示。上一页下一页返回任务描述③单击“确定”按钮,完成应用程序角色的删除。方法二:使用T-SQL语句删除应用程序角色在查询编辑器中,输入以下T-SQL命令删除应用程序角色。任务4管理权限通过登录账号和数据库用户,可以获得对数据库的初步访问权限,但要进行数据库定义更改、数据库对象访问等操作,就必须拥有相应的权限。上一页下一页返回任务描述在SQLServer2008中,权限分为默认权限、对象权限和语句权限3种类型。任务4.1授予对象权限为“ebook”数据库的角色role1授予对“Book”表的SELECT操作权限。方法一:使用SQLServerManagementStudio授予对象权限①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。上一页下一页返回任务描述②在“对象资源管理器”窗口中,依次展开“数据库”→“ebook”→“表”节点,右击要设置权限的“Book”表节点,在弹出的快捷菜单中选择“属性”命令,打开“表属性-Book”对话框,选择“权限”选择页,如图10.32所示。③单击“搜索”按钮,打开“选择用户或角色”对话框。单击“浏览”按钮,打开“查找对象”对话框,选择要授予权限的数据库角色“role1”,如图10.33所示。④单击“确定”按钮,返回“选择用户或角色”对话框,可以看到选择的数据库角色role1。上一页下一页返回任务描述单击“确定”按钮,返回“表属性-Book”对话框,在“role1的权限”的“显式”列表框中,选中“选择”行“授予”列对应的复选框,如图10.34所示。⑤单击“确定”按钮,完成对数据库角色role1授予数据库对象“Book”表的SELECT操作权限。⑥进行权限验证。使用role1的角色成员login2关联的登录账号login2登录服务器后,对“Book”表执行SELECT操作,操作成功完成,如图10.35所示。对“Book”表执行DE⁃LETE操作,由于未授权DELETE操作权限,操作失败,如图10.36所示。上一页下一页返回任务描述方法二:使用T-SQL语句授予对象权限在查询编辑器中,输入以下T-SQL命令授予对象权限。任务4.2授予语句权限为“ebook”数据库的数据库角色role1授予CREATETABLE语句权限。上一页下一页返回任务描述方法一:使用SQLServerManagementStudio授予语句权限①启动SQLServerManagementStudio,通过Windows用户登录账号或sa账号连接到数据库服务器。②在“对象资源管理器”窗口中,右击要设置语句权限的数据库“ebook”,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性-ebook”对话框,选择“权限”选择页,如图10.37所示。上一页下一页返回任务描述③在“数据库属性-ebook”对话框中,单击“搜索”按钮,从打开的“选择用户或角色”对话框中的“浏览”中选择数据库角色role1,将role1添加到“用户或角色”列表中。在“用户或角色”列表中选择数据库角色role1,在“role1的权限”的“显式”列表框中,选中“创建表”行“授予”列对应的复选框,如图10.38所示。④设置完成后,单击“确定”按钮。方法二:使用T-SQL语句授予语句权限上一页下一页返回任务描述上一页返回知识要点一、SQLServer2008的安全机制随着越来越多的网络互联,数据库安全性也变得日益重要。数据库中存储着大量的宝贵信息,安全性是数据库引擎的关键特性之一,保护数据免受各种威胁。SQLServer2008安全特性的宗旨是使其更加安全,且使数据保护人员能够更方便地使用和理解安全。对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。SQLServer2008的身份验证、授权和验证机制可以保护数据免受未经授权的泄露和篡改。SQLServer的安全机制一般主要包括3个等级:下一页返回知识要点(1)服务器级别的安全机制这个级别的安全性主要通过登录账号进行控制。要想访问一个数据库服务器,必须拥有一个登录账号。登录账号可以是Windows账户或组,也可以是SQLServer的登录账号。登录账号可以属于相应的服务器角色。至于角色,可以理解为权限的组合。(2)数据库级别的安全机制这个级别的安全性主要通过用户账号进行控制,要想访问一个数据库,必须拥有该数据库的一个用户账号身份。用户账号是通过登录账号进行映射的,可以属于固定的数据库角色或自定义数据库角色。上一页下一页返回知识要点(3)数据库对象级别的安全机制这个级别的安全性通过设置数据库对象(如表、视图、存储过程等)的访问权限进行控制。用户要想对数据库对象进行操作,必须要有对数据库对象进行操作的权限。以上每个安全等级就好像一道门,如果门没有上锁,或者用户拥有开门的钥匙,则用户可以通过这道门达到下一个安全等级。如果通过了所有的门,用户就可以实现对数据的访问。SQLServer2008的安全管理主要包括SQLServer登录、数据库用户、角色、权限和架构等方面。(1)SQLServer登录上一页下一页返回知识要点要想连接到SQLServer服务器实例,必须拥有相应的登录账户和密码。身份验证系统验证用户是否拥有有效的登录账户和密码,从而决定是否允许该用户连接到指定的SQLServer服务器实例。(2)数据库用户通过身份验证后,用户可以连接到SQLServer服务器实例。但是,这不意味着该用户可以访问到指定服务器上的所有数据库。在每个SQLServer数据库中,都存在一组SQLServer用户账户。登录账户要访问指定数据库,就要将自身映射到数据库的一个用户账户上,从而获得访问数据库的权限。上一页下一页返回知识要点一个登录账户可以对应多个用户账户。(3)角色为了便于管理数据库中的权限,SQLServer提供了若干“角色”,这些角色是用户分组的安全主体,类似于MicrosoftWindows操作系统中的用户组,可以对用户进行分组管理。可以对角色赋予数据库访问权限,此权限将应用于角色中的每一个用户。(4)权限权限是规定了用户在指定数据库中所能进行的操作。上一页下一页返回知识要点(5)架构架构是指包含表、视图和存储过程等数据库对象的容器,是一个命名空间。在SQLServer2008中,数据库中的所有对象都是位于架构内的。架构独立于创建它们的数据库用户而存在,允许多用户管理数据库对象。二、SQLServer2008身份验证模式用户在访问数据库服务器时,SQLServer2008首先认证用户是否具有连接数据库服务器的资格。在SQLServer2008中,通过使用“登录账号”来标识用户的连接资格。上一页下一页返回知识要点SQLServer2008对登录账号有以下两种身份验证模式。1.Windows身份验证模式Windows身份验证模式基于Windows操作系统的安全机制验证用户身份。只要用户能够通过Windows用户身份验证,就可以成功连接到数据库服务器,不再需要SQLServer对用户进行安全性验证。用户通过Windows登录账号进行服务器的连接操作如图10.39所示。Windows身份验证是默认的身份验证模式,并且比SQLServer身份验证模式更为安全。上一页下一页返回知识要点Windows身份验证使用Kerberos安全协议,提供有关强密码复杂性验证的密码策略,还提供账号锁定支持,并且支持密码过期。通过Windows身份验证模式完成的连接有时也称为可信连接,这是因为SQLServer信任由Windows提供的凭据。2.混合验证模式在混合验证模式下,用户可以通过Windows身份验证模式或SQLServer身份验证模式连接数据库服务器。使用SQLServer身份验证模式连接数据库服务器时,必须提供登录账号和密码,由SQLServer验证登录账号和密码的正确性,判断连接的合法性。上一页下一页返回知识要点登录账号和密码均通过使用SQLServer创建并存储在SQLServer中。通过SQLServer身份验证模式进行连接的用户,每次连接时,必须提供其凭据(登录账号和密码)。当使用SQLServer身份验证时,必须为所有SQLServer登录账号设置强密码。使用SQLServer身份验证模式进行服务器连接的操作如图10.40所示。三、登录账号登录账号(LoginName)是服务器级别的安全主体。用户要登录SQLServer数据库服务器,必须要有一个与之对应的登录账号。上一页下一页返回知识要点1.系统登录账号在SQLServer2008安装完成后,系统默认创建的登录账号如下。(1)sa账号sa是SQLServer系统管理员的登录账号,拥有全部的系统权限和数据库权限。(2)<计算机名>\Administrators账号<计算机名>\Administrators账号是SQLServer提供给Windows系统管理员的默认登录账号,拥有全部的系统权限和数据库权限。凡是Windows中的Administrator账号,都具有该权限。上一页下一页返回知识要点(3)NTAUTHORITY\NETWORKSERVICE和NTAUTHORITY\SYSTEM账号NTAUTHORITY\NETWORKSERVICE(网络账号)、NTAUTHORITY\SYSTEM(本地账号)和启动SQLServer服务的Windows账号有关。如果使用网络账号或本地账号启用SQLServer服务,则不能删除这两个账号。(4)由“##”括起来的账号名称由“##”括起来的登录账号是在安装SQLServer时通过证书创建的SQLServer账号,仅供内部系统使用,不要删除。上一页下一页返回知识要点2.CREATELOGIN语句(1)使用CREATELOGIN语句创建Windows用户登录账号基本语法格式:CREATELOGIN[<计算机名>\<登录账号>]FROMWINDOWS[,DEFAULT_DATABASE=<database_name>]其中:上一页下一页返回知识要点•“<计算机名>\<登录账号>”为Windows登录账号格式,<登录账号>必须在Windows下已经存在,否则应先在Windows中新建登录账号。•DEFAULT_DATABASE用于指定默认数据库。默认数据库是指在未指明要连接哪个数据库的情况下默认连接的数据库。•<database_name>用于指定默认数据库名称。(2)使用CREATELOGIN语句创建SQLServer登录账号的基本语法格式:CREATELOGIN<登录账号>WITHPASSWORD=′password′上一页下一页返回知识要点[,DEFAULT_DATABASE=<database_name>]其中:•<登录账号>为要创建的SQLServer登录账号名称。•WITHPASSWORD用于指定SQLServer登录账号的密码。•DEFAULT_DATABASE用于指定默认数据库。3.ALTERLOGIN语句使用ALTERLOGIN语句修改SQLServer登录账号的基本语法格式:上一页下一页返回知识要点其中:•<登录账号>为要修改的SQLServer登录账号名称。•ENABLE|DISABLE用于启用或禁用登录账号。•WITHPASSWORD用于指定SQLServer登录账号的新密码。上一页下一页返回知识要点•NAME用于对SQLServer登录账号进行重命名。•DEFAULT_DATABASE用于指定新的默认数据库。4.DROPLOGIN语句使用DROPLOGIN语句删除登录账号的基本语法格式:DROPLOGIN<登录账号>其中:•<登录账号>为要删除的登录账号名称。•删除登录账号之前应该先删除该登录账号在数据库中的关联用户名。上一页下一页返回知识要点四、数据库用户数据库用户(UserName)是数据库级别上的安全主体。SQLServer登录账号成功登录服务器后,只有映射到SQLServer数据库用户,才可以实现对数据库的访问。每个登录账号在一个数据库中只能有一个数据库用户账号,但每个登录账号可以在不同的数据库中各有一个数据库用户账号。1.默认的数据库用户在SQLServer2008中有3种默认的数据库用户,它们具有特殊的权限和作用。上一页下一页返回知识要点(1)dbodbo(数据库所有者)是具有在数据库中执行所有活动权限的用户。每个数据库都有dbo,固定服务器角色sysadmin的所有成员都被映射到各个数据库的dbo用户。另外,由固定服务器角色sysadmin的任何成员创建的任何对象都自动属于dbo。sa自动与dbo相关联,以sa登录数据库服务器就可以访问所有数据库。(2)guestguest(来宾)没有相关联的登录账号,它允许没有用户账号的登录访问数据库。上一页下一页返回知识要点当某个登录账号在数据库中没有建立对应的数据库用户,而又要访问该数据库时,SQLServer2008就自动查找该数据库中是否存在guest用户,如果存在guest用户,就允许该登录账号使用guest用户拥有的权限访问该数据库,否则将拒绝其访问。创建数据库时,数据库默认包含guest用户。授予guest用户的权限由在数据库中没有用户账号的用户继承。(3)INFORMATION_SCHEMA和sysINFORMATION_SCHEMA用户和sys用户拥有系统视图,不能删除这两个数据库用户。上一页下一页返回知识要点2.CREATEUSER语句使用CREATEUSER语句创建数据库用户的基本语法格式:其中:•user_name指定要创建的数据库用户的名称,长度最多是128个字符。上一页下一页返回知识要点•FORLOGIN指定要创建的数据库用户关联的SQLServer登录账号。如果省略FORLOGIN,则创建的数据库用户将被映射到同名的登录账号。•login_name必须是服务器中有效的登录账号。当此SQLServer登录账号进入数据库时,它将获取正在创建的数据库用户的名称和ID。•WITHDEFAULT_SCHEMA指定服务器为数据库用户解析对象名时将搜索的默认架构。如果省略WITHDEFAULT_SCHEMA,则数据库用户将使用dbo作为默认架构。3.ALTERUSER语句上一页下一页返回知识要点使用ALTERUSER语句修改数据库用户的基本语法格式:ALTERUSERuser_name[WITHNAME=<新数据库用户名>[,DEFAULT_SCHEMA=schema_name]]其中:•user_name指定要修改的数据库用户的名称。•WITHNAME用于对数据库用户进行重命名。•DEFAULT_SCHEMA用于修改数据库用户的默认架构。4.DROPUSER语句使用DROPUSER语句删除数据库用户的基本语法格式:上一页下一页返回知识要点DROPUSERuser_name其中:•user_name指定要删除的数据库用户的名称。五、管理角色角色(Role)是SQLServer的一种权限机制,是由一组用户构成的组,可以分为服务器角色和数据库角色,用来集中管理服务器和数据库数据。服务器角色是在数据库服务器级别上定义的,独立于各个数据库。数据库角色是在数据库级别上定义的,存在于各个数据库中,分为固定数据库角色和自定义数据库角色。上一页下一页返回知识要点1.固定服务器角色服务器角色也称为“固定服务器角色”,因为不能创建新的服务器角色。服务器角色的权限作用域为服务器范围,是执行服务器级管理操作的用户权限的集合。可以向服务器角色中添加SQLServer登录账号、Windows账户和Windows组。固定服务器角色的每个成员都可以向其所属角色添加其他登录账号。SQLServer2008提供的固定服务器角色及其权限见表10.1。在SQLServer2008中可以使用系统存储过程对固定服务器角色进行相应的操作,见表10.2。上一页下一页返回知识要点2.固定数据库角色固定数据库角色在安装SQLServer2008时定义,提供最基本的数据库权限的设置管理。管理员可将任何有效的数据库用户添加为固定数据库角色成员,每个成员都获得应用于固定数据库角色的权限。用户不能增加、修改和删除固定数据库角色。固定数据库角色及其所拥有的权限见表10.3。在SQLServer2008中可以使用T-SQL语句对固定数据库角色进行相应的操作,表10.4列出了可以对数据库角色进行操作的系统存储过程和命令等。上一页下一页返回知识要点3.应用程序角色应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运行。使用应用程序角色,可以只允许通过特定应用程序连接的用户访问特定数据。与数据库角色不同的是,应用程序角色默认情况下不包含任何成员,而且不活动。应用程序角色使用两种身份验证模式,可以使用sp_setapprole来激活,并且需要密码。六、管理权限数据库权限指明用户获得哪些数据库对象的使用权,以及用户能够对这些对象执行何种操作。上一页下一页返回知识要点用户在数据库中拥有的权限取决于以下两方面的因素:①用户账号的数据库权限。②用户账号所属角色的类型。1.权限的种类在SQLServer2008中,权限分为默认权限、对象权限和语句权限3种类型。(1)默认权限默认权限是指由系统自动授予而无须授权就拥有的权限,包括固定服务器角色权限和固定数据库角色权限,其权限详见表10.1和表10.3。上一页下一页返回知识要点(2)对象权限对象权限是指用户对数据库中的表、视图、存储过程等对象的操作权限,决定用户可以对数据库对象执行哪些操作,如INSERT、UPDATE、DELETE、SELECT、EXECUTE等。(3)语句权限语句权限是指是否具有执行数据定义语言的语句权限。这些语句包括:CREATEDATA⁃BASE、CREATETABLE、CREATEVIEW、CREATEPROCEDURE、CREATEINDEX、CRE⁃ATERULE、CREATEDEFAULT、BACKUPDATABASE、BACKUPLOG等。上一页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年流行的工装裤搭配
- 2026年(党建基础知识)湖北省职称水平能力测试综合能力测试题及答案
- 2026年湖北省汉川市第二中学下学期高三年级期末学习质量评估化学试题含解析
- 2025年中国纯棉府绸面料市场调查研究报告
- 2025年中国窝形海绵市场调查研究报告
- 2025年中国石英电热取暖器市场调查研究报告
- 2025年中国电镀螺杆冷水机市场调查研究报告
- 2025年中国啄木鸟水晶工艺品市场调查研究报告
- 山西省三县八校2026届高三下学期高考适应性月考(八)化学试题含解析
- 2026一年级下册语文科学探究融入课件
- 复数的三角表示式 高一下学期数学人教A版2019必修第二册
- 2024年贵州省公路工程集团招聘笔试参考题库含答案解析
- 锰矿选矿厂运营与管理经验分享
- 《国有企业采购操作规范》【2023修订版】
- 入境加拿大现金申报范本
- 试乘试驾合同书
- 重庆市蓝宝矿业有限公司官家萤石矿矿山地质环境保护和土地复垦方案审查意见
- 烟草专卖管理师二级专业能力试卷及答案
- 【班会课件】主题班会:学会感恩
- GA 1551.2-2019石油石化系统治安反恐防范要求第2部分:炼油与化工企业
- 国有企业薪酬专项审计报告
评论
0/150
提交评论