第11章安全管理 11.1安全认证模式 11.2登录管理 11.3用户管理 11.4角色管理 11.5权限管理
第11章 安全管理 11.1 安全认证模式 11.2 登录管理 11.3 用户管理 11.4 角色管理 11.5 权限管理
11.1安全认证模式 在 SQL Server系统中,安全性采用的是两级权限管理机 制。第一级是服务器级的“连接权”,第二级是数据库的“访 问权”。用户使用 SQL Server时,需要通过两级权限的验证 第1章安 (1)规定哪些用户能登录系統,即登录时的身份验证。 用户登录时,系统将首先检验用户是否有连接 SQL Server 实例的权力,如用户通过了身份验证,仅表示该用户可以连接 全sQL. Server实例,而不是表示其对 SQL Server实例中的数据库 理有进行操作的权力。 (2)这些用户对相应数据库中的对象有哪些访问权限,即 权限论证。 通过了身份验证后,还必须在要访问的数据库中存在一个 用户帐户,并将访问相应数据库的权限授予该登录用户。只有 得到了访问数据库的权限,才能允许登录用户访问相关数据库 中的数据。因此,权限论证可以控制用户对数据库中数据的操 作
11.1 安全认证模式 在SQL Server系统中,安全性采用的是两级权限管理机 制。第一级是服务器级的“连接权” ,第二级是数据库的“访 问权” 。用户使用SQL Server时,需要通过两级权限的验证: (1) 规定哪些用户能登录系统,即登录时的身份验证。 用户登录时,系统将首先检验用户是否有连接SQL Server 实例的权力,如用户通过了身份验证,仅表示该用户可以连接 SQL Server实例,而不是表示其对SQL Server实例中的数据库 有进行操作的权力。 (2)这些用户对相应数据库中的对象有哪些访问权限,即 权限论证。 通过了身份验证后,还必须在要访问的数据库中存在一个 用户帐户,并将访问相应数据库的权限授予该登录用户。只有 得到了访问数据库的权限,才能允许登录用户访问相关数据库 中的数据。因此,权限论证可以控制用户对数据库中数据的操 作。 第 11 章 安 全 管 理
11.1.1身份验证 身份验证模式 章 SQL Server提供了两种身份验证模式: Windows身份验证模 式和混合模式 (1) Windows a身份验证模式 理 Windows身份验证模式使用 Windows操作系统本身提供的 安全机制验证用户的身份。只要用户能够通过 Windows n或 Windows2000的用户帐户验证,就可连接到 SQL Server (2)混合模式( Windows身份验证和 SQL Server身份验证 混合模式下,用户的身份验证由 Windows和 SQL Server共同 承担,系统将确认连接用户在 Windows操作系统下是否可信, 对于可信的连接用户,系统直接采用 Windows身份验证方式, 当用户使用指定的登录账号和密码进行非信任连接时,SQL Serverl将检测登录账号的存在性和密码的匹配性,自行进行验 证
11.1.1 身份验证 1.身份验证模式 SQL Server提供了两种身份验证模式:Windows身份验证模 式和混合模式。 (1) Windows身份验证模式 Windows身份验证模式使用Windows操作系统本身提供的 安全机制验证用户的身份。只要用户能够通过Windows NT或 Windows 2000的用户帐户验证,就可连接到SQL Server。 (2) 混合模式(Windows身份验证和SQL Server身份验证) 混合模式下,用户的身份验证由Windows和SQL Server共同 承担,系统将确认连接用户在Windows操作系统下是否可信, 对于可信的连接用户,系统直接采用Windows身份验证方式, 当用户使用指定的登录账号和密码进行非信任连接时,SQL Server将检测登录账号的存在性和密码的匹配性,自行进行验 证。 第 11 章 安 全 管 理
11.1.1身份验证 2.设置身份验证模式 SQL Server的身份验证模式在安装时由管理员指定。 1)启动企业管理器,展开相应的服务器组。 2)右击需更改身份验证模式的服务器节点,在弹出的快捷 菜单中执行“属性”命令,出现如图11-1所示的“ SQL Server 全属性(配置)”对话框 3)单击“安全性”选项卡,进入“安全性”选项页。在 理“安全性”组框中提供了两个选项: ★●“身份验证”单选按钮组中设置身份验证模式 ★●“审核级别”单选按钮组中设置审核级别 4)选择一种身份验证模式和审核级别。 5)单击“确定”按钮,关闭对话框。 6)重新启动 SQL Server,以使修改生效
11.1.1 身份验证 2.设置身份验证模式 SQL Server的身份验证模式在安装时由管理员指定。 1) 启动企业管理器,展开相应的服务器组。 2)右击需更改身份验证模式的服务器节点,在弹出的快捷 菜单中执行“属性”命令,出现如图11-1所示的“SQL Server 属性(配置)”对话框。 3)单击“安全性”选项卡,进入“安全性”选项页。在 “安全性”组框中提供了两个选项: l “身份验证”单选按钮组中设置身份验证模式。 l “审核级别”单选按钮组中设置审核级别。 4)选择一种身份验证模式和审核级别。 5)单击“确定”按钮,关闭对话框。 6)重新启动SQL Server,以使修改生效。 第 11 章 安 全 管 理
11.1.2权限认证 当登录用户通过了身份验证并允许其登录到 SQL Server实 例之后,在用户必须访问的每个数据库中都要求有对应的用户 帐户。在每个数据库中都要求用户帐户可防止用户访问服务器 第上的所有数据库,同时对于没有用户账号的数据库将无法访问 默认情况下,数据库的所有者(dbo)可以实现对该数据 安库的完全控制,还可以根据需要向其他用户授予或解除访问该 全数据库或对象的权限,以便让这些用户也拥有针对该数据库的 访问权利或解除权力 用户可向 SQL Server发送各种T-SQ语句命令,用于完成 相应的任务。但当 SQL Server实例接收到TS哑L语句时,将首 先检查用户是否有在数据库中执行该语句的权限,如果用户没 有执行语句的权限,或者没有访问该语句所使用对象的权限, 则 SQL Server将返回权限错误,命令执行将以失败告终。因此 对于每个要求访问数据库的 SQL Server登录用户,应将其SQL Server用户帐户添加到相应数据库,如果用户未在数据库中创 建,则登录用户就无法访问数据库
11.1.2 权限认证 当登录用户通过了身份验证并允许其登录到SQL Server实 例之后,在用户必须访问的每个数据库中都要求有对应的用户 帐户。在每个数据库中都要求用户帐户可防止用户访问服务器 上的所有数据库,同时对于没有用户账号的数据库将无法访问。 默认情况下,数据库的所有者(dbo) 可以实现对该数据 库的完全控制,还可以根据需要向其他用户授予或解除访问该 数据库或对象的权限,以便让这些用户也拥有针对该数据库的 访问权利或解除权力。 用户可向SQL Server发送各种T-SQL语句命令,用于完成 相应的任务。但当SQL Server 实例接收到T-SQL语句时,将首 先检查用户是否有在数据库中执行该语句的权限,如果用户没 有执行语句的权限,或者没有访问该语句所使用对象的权限, 则SQL Server将返回权限错误,命令执行将以失败告终。因此 对于每个要求访问数据库的SQL Server登录用户,应将其SQL Server用户帐户添加到相应数据库,如果用户未在数据库中创 建,则登录用户就无法访问数据库。 第 11 章 安 全 管 理
11.2登录管理 11.2.1 SQL Serverl的安全性 1.登录账号 为登录和访问 SQL Server,用户必须提供正确的登录账 号。这些登录账号既可以是 Windows中的登录账号,也可以是 SQL Server登录账号。登录账号是系统信息,存储在 master数 全 据库的 sysxlogins系统表中。 SQL Server安装完成后,系统中已存在两个登录帐户: 系统管理员sa和临时账号 guest。 2.数据库用户 每个用户必须通过登录帐户建立与 SQL Server实例的连 接(身份验证),以获得对 SQL Server实例的访问权限。然后 该登录还必须将登录账号映射到需访问数据库中的一个SQL Server用户帐户,通过该用户帐户取得对数据库的执行权限 (权限验证)。 用户账号信息存储在需要访问数据库的系统表 sysusers中 其中每个记录表示一个 Windows用户账号、组账。SQL Sere登录账号咸 SoL Server.角色
11.2 登录管理 11.2.1 SQL Server的安全性 1.登录账号 为登录和访问SQL Server,用户必须提供正确的登录账 号。这些登录账号既可以是Windows中的登录账号,也可以是 SQL Server登录账号。登录账号是系统信息,存储在master数 据库的sysxlogins系统表中。 SQL Server安装完成后,系统中已存在两个登录帐户: 系统管理员sa和临时账号guest。 2.数据库用户 每个用户必须通过登录帐户建立与SQL Server实例的连 接(身份验证),以获得对SQL Server实例的访问权限。然后, 该登录还必须将登录账号映射到需访问数据库中的一个SQL Server 用户帐户,通过该用户帐户取得对数据库的执行权限 (权限验证)。 用户账号信息存储在需要访问数据库的系统表sysusers中, 其中 每个记录表示 一个Windows用户 账号、组账号 、SQL Server登录账号或SQL Server角色。 第 11 章 安 全 管 理
112登录管理 3.角色 SQL Server的角色相当于 Windows中的组,可以 把某些用户集中到一种角色中,然后对该角色应用权 限。对一个角色授予、拒绝或废除权限将适用于该角 色中的任何成员,这样,只要对角色进行权限管理就 可以实现对属于该角色中的所有用户的管理,如此可 以大大减轻数据库管理员的工作量
11.2 登录管理 3.角色 SQL Server的角色相当于Windows中的组,可以 把某些用户集中到一种角色中,然后对该角色应用权 限。对一个角色授予、拒绝或废除权限将适用于该角 色中的任何成员,这样,只要对角色进行权限管理就 可以实现对属于该角色中的所有用户的管理,如此可 以大大减轻数据库管理员的工作量。 第 11 章 安 全 管 理
11.2.2创建登录 创建 Windows用户或组 创建 Windows用户或组,就是将 Windows中的用户和组映 第射为 SQL Serve的登录帐户 (1)使用TSQL语句创建 Windows用户或组 安 使用系统存储过程 sp grantlogin将使 Windows的用户或组 全账号映射成 ISQL Server的登录帐户。 sp grantlogin系统存储 管过程的基本语法如下: sp grantlogin [@loginame =] login 其中 login 参数用于指定要添加的 Windows nt用户或组的名称。 Windows nt组和用户必须用 Windows n域名限定,格式为 “域\用户”,例如 Jinlgserver\ Jingo 【例11-1】将 Windows server2000中本地组 users映射成 SQL Server的登录帐户。 sp grantlogin [BUILTIN\users]
11.2.2 创建登录 1.创建Windows用户或组 创建Windows用户或组,就是将Windows中的用户和组映 射为SQL Server的登录帐户。 (1) 使用T-SQL语句创建Windows用户或组 使用系统存储过程sp_grantlogin将使Windows的用户或组 账号映射成SQL Server的登录帐户。sp_grantlogin系统存储 过程的基本语法如下: sp_grantlogin [@loginame =] 'login' 其中login 参数用于指定要添加的 Windows NT 用户或组的名称。 Windows NT 组和用户必须用 Windows NT 域名限定,格式为 “域\用户” ,例如 JinlqServer\Jinlq。 【例11-1】 将Windows Server 2000中本地组users映射成 SQL Server的登录帐户。 sp_grantlogin [BUILTIN\users] 第 11 章 安 全 管 理
11.2.2创建登录 (2)使用企业管理器创量录星性二新建登录 1)启动企业管理器,常|服条角色|数据库访问 2)单击并展开“安全名称时mm 安 的快捷菜单中执行“新 身份验证 全“新建登录”对话框。 o windows身份验证凶 城M 3)在“名称”输入框 安全性访问 理 或工作组名称,这里输入 G允许访问[ 4)在“身份验证”单 C拒绝访问 单选项,表示该登录使用 C SQL Server身份验证] 5)在“域”输入框中 密码吧 默认设置 入“ BUILTIN”,表示内置 指定此登录的默认语言和数据库。 6)在“默认设置”栏 数据库[ Educational 出的号正偷人成 的数据库。 语言心 「默认 7)单击“确定”按钮 确定 取消 帮助 SQL Serverl的登录帐户。 ○
11.2.2 创建登录 (2) 使用企业管理器创建Windows用户或组 1)启动企业管理器,展开相应的服务器组和服务器节点。 2)单击并展开“安全性”节点,右击“登录”项,在弹出 的快捷菜单中执行“新建登录”命令,出现如图11-2所示的 “新建登录”对话框。 3)在“名称”输入框中输入Windows中已存在的用户账号 或工作组名称,这里输入“users”工作组。 4)在“身份验证”单选按钮组中选中“Windows身份验证” 单选项,表示该登录使用Windows身份验证。 5)在“域”输入框中输入或选择一个使用的域名。这里输 入“BUILTIN” ,表示内置本地组。 6)在“默认设置”栏的“数据库”列表框中选择一个默认 的数据库。 7)单击“确定”按钮,即可将Windows工作组users映射成 SQL Server的登录帐户。 第 11 章 安 全 管 理
2.创建 SQL Server登录 (1)使用TSQL语句创建登录 可以使用系统存储过程 sp addlogin创建SQL Server登录账号。 sp addlogin的语法格式如下 安全管理 sp addlogin loginID password] D database’] 其中各参数的含义如下: loginID:指定将要创建的登录账号名称 password:指定登录账号所对应的登录寧码 database:指定登录后所连接到的认数据 库 【例112】创建 SQL Server的登录帐户 Sereda, 并设置密码和默认数据库。 sp _ addlogin' Useredu’,'edu’,’ Educational
• 2.创建SQL Server 登录 (1) 使用T-SQL语句创建登录 可 以 使 用 系 统 存 储 过 程 sp_addlogin 创 建 SQL Server登录账号。sp_addlogin的语法格式如下: sp_addlogin 'loginID' [ , 'password' ] [ , 'database' ] 其中各参数的含义如下: l loginID:指定将要创建的登录账号名称; l password:指定登录账号所对应的登录密码; l database:指定登录后所连接到的默认数据 库。 【例11-2】 创建SQL Server的登录帐户Useredu, 并设置密码和默认数据库。 sp_addlogin 'Useredu', 'edu', 'Educational' 第 11 章 安 全 管 理