第15章 SQL Server 2008数据库的安全性和完整性管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.服务器角色 服务器角色内建于SQL Server,其权限无法更改,每一个 角色拥有一定级别的数据库管理职能,如图15.8所示。
15.3
角色和用户管理
服务器角色包括以下几种: bulkadmin:可以运行BULK INSERT语句。 dbcreator:可以创建、更改、删除和还原任何数据库。 diskadmin:管理磁盘文件。 processadmin:可以终止SQL Server实例中运行的进程。 securityadmin: 管理登录名的密码。 serveradmin:可以更改服务器范围的配置选项和关闭服 务器。 setupadmin:添加和删除链接服务器,并且也可以执行 某些系统存储过程。 sysadmin:可以在服务器中执行任何活动。
15.2
管理服务器登录
【例15.1】创建带密码的登录名“test”。 CREATE LOGIN test WITH PASSWORD = 'test'
15.2
管理服务器登录
2.删除登录账户DROP LOGIN 其语法格式为:DROP LOGIN login_name 【例15.3】删除登录账户“test”。 DROP LOGIN test 3.更改登录账户ALTER LOGIN 其语法格式为: ALTER LOGIN login_name { <status_option> | WITH <set_option> [ ,... ] } <status_option> ::= ENABLE | DISABLE
15.2
管理服务器登录
(4)确认选择的是“Windows身份验证”。指定账户登录 的默认数据库。 (5) 单击窗口左侧列表中的“服务器角色”节点,指定 账户所属服务器角色。 (6)单击窗口左侧列表中的“用户映射”节点,右侧出现 用户映射页面。可以查看或修改SQL登录账户到数据库用户 的映射。选择此登录账户可以访问的数据库,对具体的数 据库,指定要映射到登录名的数据库用户(默认情况下, 数据库用户名与登录名相同)。指定用户的默认架构,首 次创建用户时,其默认架构是dbo。 (7)设置完成单击“确定”按钮提交更改。
15.3
角色和用户管理
db_denydatawriter:不能添加、修改或删除数据库内用户 表中的任何数据。 db_owner:可以执行数据库的所有配置和维护活动。 db_securityadmin:可以修改角色成员身份和管理权限。 public:当添加一个数据库用户时,它自动成为该角色成 员,该角色不能删除,指定给该角色的权限自动给予所有 数据库用户。 db_owner和db_securityadmin角色的成员可以管理固有数 据库角色成员身份;但是,只有db_owner数据库的成员可 以向db_owner固有数据库角色中添加成员。
15.3
角色和用户管理
3.用户自定义数据库角色 当打算为某些数据库用户设置相同的权限,但是这些权限 不等同于预定义的数据库角色所具有的权限时,就可以定 义新的数据库角色来满足这一要求,从而使这些用户能够 在数据库中实现某些特定功能。用户自定义数据库角色包 含以下两种类型。
15.3
角色和用户管理
15.1
数据库安全性概述
SQL Server的安全性管理是建立在认证(authentication) 和访问许可(permission)这两种机制上的。 认证是指确定登录SQL Server的用户的登录账号和密码是 否正确,以此来验证其是否具有连接SQL Server的权限。 但是,通过认证并不代表能够访问SQL Server中的数据。 用户只有在获取访问数据库的权限之后,才能够对服务器 上的数据库进行权限许可下的各种操作。
15.3.2 角色的管理 1.使用Management Studio管理角色 (1)为服务器角色添加登录账户。执行如下步骤。 ① 在图15.8中展开服务器角色节点。在需要添加用户的角 色上单击鼠标右键,选择“属性”菜单,弹出“属性”对 话框。 ② 单击“添加”按钮,则弹出“选择登录名”对话框,如 图15.10所示。 ③ 单击“浏览”按钮,则弹出“查找对象”对话框,如图 15.11所示。 ④ 选中需要添加的对象。 ⑤ 单击每个对话框中的“确定”按钮关闭对话框。
15.1
数据库安全性概述
图15.1 身份验证
15.2
管理服务器登录
1.创建Windows登录账户 (1)在“对象资源管理器”中,单击树型目录中的“安全 性”节点,如图15.2所示。
15.2
管理服务器登录
(2)鼠标右键单击“安全性”的子节点“登录名”,在快 捷菜单中选择“新建登录名…”,出现“登录名-新建”对 话框,如图15.3所示。
15.3
角色和用户管理
图15.10 “选择登录名”对话框
15.3
角色和用户管理
图15.11 “查找对象”对话框
15.3
角色和用户管理
(2)为固有数据库角色添加成员。鼠标右键单击想要添加 成员的固有服务器角色节点,其余步骤与(1)类似。 (3)创建用户自定义角色。执行如下步骤。 ① 展开要创建数据库节点,直到看到“数据库角色”节点, 鼠标右键单击“数据库角色”,选择“新建数据库角色”, 出现“新建数据库角色”对话框,如图15.12所示。
1பைடு நூலகம்.3
角色和用户管理
15.3
角色和用户管理
② 在角色名称编辑框中填入角色名称,在所有者编辑框中 填入该角色的所有者。 ③ 指定角色拥有的框架名称。单击“添加”按钮添加角色 成员,则弹出“选择数据库用户或角色”对话框,如图 15.13所示。
15.3
角色和用户管理
④ 输入用户(如果需要,单击“浏览”按钮),单击“确 定”按钮添加用户到角色。 ⑤ 单击图15.12左侧选择页中的“安全对象”,则右侧 “安全对象”页面,如图15.14所示。在此可以设置角色访 问数据库的资源。
15.2
管理服务器登录
2.创建SQL Server登录账户 一个SQL Server登录账户名是一个新的登录账户,该账户 和Windows操作系统的登录账户没有关系。 (1)打开新建登录名对话框,选择“SQL Server身份验 证”,输入登录名,密码和确认密码,并选择缺省数据库, 如图15.5所示。
15.1
数据库安全性概述
15.1.2 验证模式的修改 当安装SQL Server时,可以选择SQL Server的身份验证类 型。安装完成之后也可以修改认证模式。修改步骤如下。 (1)打开SQL Server Management Studio。 (2)在要更改的服务器上鼠标右键单击,在快捷菜单中选 择属性,弹出服务器属性对话框。 (3)单击左侧列表中的“安全性”项,出现“安全性”页 面,如图15.1所示。在图中修改身份验证。
第15章
SQL Server 2008数据库的 安全性和完整性管理
第15章 主要内容
15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8
数据库的安全性概述 管理服务器登录 角色和用户管理 SQL Server2008权限 权限管理 数据库的完整性 数据库约束的概念和类型 管理约束
15.2
管理服务器登录
15.2.2 使用Transact-SQL管理登录账户 在Transact-SQL中,管理登录账户的SQL语句有:CREATE LOGIN、DROP LOGIN、ALTER LOGIN。下面简要说明如何使 用T-SQL来创建和维护登录账户。 1.新建登录账户CREATE LOGIN 其语法格式为: CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }
15.3
角色和用户管理
15.3.1 角色管理简介 角色等价于Windows的工作组,将登录名或用户赋予一个角 色,角色具有权限,登录名或用户作为角色成员,从而继 承了所属角色的权限。如图15.7所示。
登录名或 用户 角 色 权 限
15.3
角色和用户管理
只需给角色指定权限,然后将登录名或用户指定为某个角 色,而不必给每个登录名或用户指定权限,这样给实际工 作带来了很大的便利。 在SQL Server中角色分为服务器角色和数据库角色。而数 据库角色又分为固有数据库角色、用户自定义数据库角色 和应用程序角色。
15.3
角色和用户管理
15.3
角色和用户管理
2.固有数据库角色 固有数据库角色是指这些角色的数 据库权限已被SQL Server预定义, 不能对其权限进行任何修改,并且 这些角色存在于每个数据库中,如 图15.9所示。
15.3
角色和用户管理
固有数据库角色包括以下几种。 db_accessadmin:可以为Windows登录账户、Windows 组和 SQL Server登录账户添加或删除访问权限。 db_backupoperator:可以备份该数据库。 db_datareader:可以读取所有用户表中的所有数据。 db_datawriter:可以在所有用户表中添加、删除或更改数 据。 db_ddladmin:可以在数据库中运行任何数据定义语言 (DDL)命令。 db_denydatareader:不能读取数据库内用户表中的任何数 据。
15.3
角色和用户管理
15.3
角色和用户管理
⑥ 单击安全对象中“搜索”按钮,弹出“添加对象”对话 框,如图15.15所示。
⑦ 选择对象类型,如选择“特定类型的所有对象”,则弹 出“选择对象类型”对话框,如图15.16所示。
15.2
管理服务器登录
(3)在“登录名”编辑框中输入登录名称,输入的登录名 必须是已存在的Windows登录用户。可以单击“搜索…”按 钮,出现登录“选择用户和组”对话框,如图15.4所示。 在对象名称编辑框中输入用户或组的名称,单击“检查名 称”按钮检查对象是否存在。输入完成,单击“确定”按 钮关闭选择用户或组对话框。
15.2
管理服务器登录
(2)设置服务器角色和用户映射,请参考“创建Windows登 录账户”的步骤5和步骤6。
15.2
管理服务器登录
3.登录账户管理 创建登录账户之后,在图 15.2所示服务器安全性展开 登录名节点上,鼠标右键单 击相应的账户,出现快捷菜 单,如图15.6所示,如果要 修改该登录账户,选择属性 菜单;如要删除该登录账户, 则选择删除菜单。
15.1
数据库安全性概述
所以在SQL Server的安全模型中包括以下几部分: SQL Server身份验证; 登录账户; 数据库用户; 角色; 权限。
15.1
数据库安全性概述
15.1.1 身份验证简介 SQL Server支持两种模式的身份验证:Windows验证模式、 SQL Server 和Windows 混合验证模式。 Windows验证模式比起SQL Server验证模式来有许多优点。 Windows身份验证比SQL Server身份验证更加安全;使用 Windows身份验证的登录账户更易于管理;用户只需登录 Windows之后就可以使用SQL Server,只需要登录一次。 在混合验证模式下,Windows验证和SQL Server验证这两种 验证模式都是可用的。对于SQL Server验证模式,用户在 连接SQL Server时必须提供登录名和登录密码。
15.2
管理服务器登录
【例15.4】启用禁用的登录。 ALTER LOGIN test ENABLE; 【例15.5】将“test”登录密码更改为 <123www456>。 ALTER LOGIN test WITH PASSWORD = '<123www456>' 【例15.6】将登录名“test”更改为“iewangjf”。 ALTER LOGIN test WITH NAME = iewangjf