12-1-3 SQL Server安全等级 在合理实施安全性管理前,用户尤亟 待明了 SQL Serverl的安全等级。迄今 为止, SQL Server2000和绝大多数数 担作呆纹 T 据库管理系统(DBMS)一样,都还 安金淹 录检 是运行在某一特定操作系统平台下的一 应用程序,因而 SQL Server安全性机 制尚脱离不了操作系统平台,据此 客户机限图 SQL Server2000安全机制可分为如下 四个等级: 飘吧平 □~操作系统的安全性。 站问限 SQL Serverl的安全性 数据库的安全性 数据库对象的安全性 每个安全等级都可视作一扇沿途设卡 的D请问可树 的门”,若该门未上锁(没有实施 安全保护),或者用户拥有开门的钥 匙(有相应的访问权限),则用户可 图12-22000金机制 以通过此门进入下一个安全等级,倘 若通过了所有门,用户即可访问数据 库中相关对象及其所有的数据了。 SQL Server安全机制如图122所示
在合理实施安全性管理前,用户尤亟 待明了SQL Server的安全等级。迄今 为止,SQL Server 2000和绝大多数数 据库管理系统(DBMS)一样,都还 是运行在某一特定操作系统平台下的 应用程序,因而SQL Server安全性机 制尚脱离不了操作系统平台,据此 SQL Server 2000安全机制可分为如下 四个等级: 1 操作系统的安全性。 1 SQL Server的安全性。 1 数据库的安全性。 数据库对象的安全性。 每个安全等级都可视作一扇沿途设卡 的“门” ,若该门未上锁(没有实施 安全保护),或者用户拥有开门的钥 匙(有相应的访问权限),则用户可 以通过此门进入下一个安全等级,倘 若通过了所有门,用户即可访问数据 库中相关对象及其所有的数据了。 SQL Server安全机制如图12-2所示。 12-1-3 SQL Server安全等级
12-2安全认证模式 312-2-1身份验证 12-2-2权限认证 12-2-3设置认证模 式
12-2-1 身份验证 12-2-2 权限认证 12-2-3 设置认证模 式 12-2 安全认证模式
12-2安全认证模式 用户在使用 SQL Server2000时,需要经过两个安全性阶段:身份验证和权限认证 首先是身份验证阶段,该阶段系统( Windows2000 NT Server或 SQL Server2000将对 登录 SQL Server用户的账户进行验证,判断该用户是否有连接 SQL Server2000实例的2 权力。如果账户身份验证成功了,表示用户可以连接 SQL Server2000实例,否则系统 将拒绝用户的连接。然后步入权限认证阶段,对登录连接成功的用户检验是否有访问 服务器上数据库的权限,为此需授予每个数据库中映射到用户登录的账户访问权限, 权限认证可以控制用户在数据库中进行的操作。2 212-2-1身份验证 身份验证阶段,系统需要对用户登录进行认证。 Microsoft SQL Server2000身份验 证有两种模式: Windows身份验证模式和混合身份验证模式 (1) Windows身份验证模式〈集成登录模式)。该模式基于 Windowst操作系统的安全 机制验证用户身份,只要用户能够通过 Windows NT40或 Windows2000 Server用户账 户验证,即可连接到 SQL Server,无须再度认证。这种验证模式只适宜于能够提供有 效身份验证的基于 Windows nt或 Windows2000 Server的操作系统平台,在 Windows 件系统上无法用2的种m身份合验证在硫式其 系统将区分用户账号在 Windows操作系统下是否可信,对于可信连接用户,系统直接 采用 Windows身份验证机制,否则 SQL Server200会自动通过账户的存在性和密码的 匹配性来进行验证。即采用 SQL Server模式验证时,系统将检查是否已经建立了该用 户的登录账户及其口令是否吻合。只有当通过验证后,该用户应用程序方可连接到 SQL Server服务器,否则系统将拒绝该用户的连接请求
用户在使用SQL Server 2000时,需要经过两个安全性阶段:身份验证和权限认证。 首先是身份验证阶段,该阶段系统(Windows 2000/NT Server或SQL Server 2000)将对 登录SQL Server用户的账户进行验证,判断该用户是否有连接SQL Server 2000实例的 权力。如果账户身份验证成功了,表示用户可以连接SQL Server 2000实例,否则系统 将拒绝用户的连接。然后步入权限认证阶段,对登录连接成功的用户检验是否有访问 服务器上数据库的权限,为此需授予每个数据库中映射到用户登录的账户访问权限, 权限认证可以控制用户在数据库中进行的操作。 12-2-1 身份验证 身份验证阶段,系统需要对用户登录进行认证。Microsoft SQL Server 2000身份验 证有两种模式:Windows 身份验证模式和混合身份验证模式。 (1)Windows 身份验证模式(集成登录模式)。该模式基于Windows操作系统的安全 机制验证用户身份,只要用户能够通过 Windows NT 4.0 或 Windows 2000 Server用户账 户验证,即可连接到SQL Server,无须再度认证。这种验证模式只适宜于能够提供有 效身份验证的基于Windows NT 或 Windows 2000 Server的操作系统平台,在Windows 9X操作系统下无法使用。(2)混合身份验证模式(标准登录模式,又称SQL Server 混合身份验证)。其基于Windows 身份验证和 SQL Server 身份混合验证。在该模式下, 系统将区分用户账号在Windows操作系统下是否可信,对于可信连接用户,系统直接 采用Windows身份验证机制,否则SQL Server 2000会自动通过账户的存在性和密码的 匹配性来进行验证。即采用SQL Server模式验证时,系统将检查是否已经建立了该用 户的登录账户及其口令是否吻合。只有当通过验证后,该用户应用程序方可连接到 SQL Server服务器,否则系统将拒绝该用户的连接请求。 12-2 安全认证模式
与 SQL Server混合身份验证相比, Windows身份验证有某些优点, Windows身份验证模式更为安全,主要是由于它与 WindOws nt40和 Windows 2000安全系统的集成。 Windows nt40和 Windows20安全杀统相对可以提 次登录请求无效后锁定账户。对于账户以及账户组的管理和修改也更为场及在多 供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度, SQL Server混合身份验证的管理较为简单。它允许应用程序的众多用户使用同υ个 登录标识,而 Windows身份验证模式则需为所有的用户创建账户 若用户试图通过提供空白登录名称连接到 SQL Server的实例, SQL Server将使用 Windows身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验证模式的 SQL Server实例,则将忽略该登录并使用 Windows身份验证。 由于 WindOwS nt40和 Windows2000用户和组,只能由 Windows nt40或 Windows2000维护,因此当用户进行连接时, SQL Server将读取有关该用户在 组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户次连接 到 SQL Server实例或登录到 Windows nt40或 Windows2000时(取决于更 改的类型),这些更改会生效 之, Windows身份验证是首选模式,而对于应用程序开发人员或数据库管理 人员而言,更青睐于 SQL Server混合模式。 SQL Server的安全性决策过程如图12- 3所示 混合模式允许某些非可信的 Windows操作系统账户连接到 SQL Server,例如互 联网客户等,它相当于在 Windows身份验证机制之后加入了 SQL Server身份验证机 制,对非可信的 Windows账户进行自行验证。 SQL Server身份验证机制是指SQL Server2000通过检1 是 存在正在登录的 SQL Server账户,以及输入的密码是否 与设置的密码相符,自己进行身份验证。对于未设置的 SQL Server登录账户或密码 不符的登录账户,则身份验证失败,连接将被拒绝。对于 Window.9以及 WindOws nt和 Windows2000 Server客户端以外的客户端,必须使用SQL Server身份验证机制
与SQL Server 混合身 份验证相比, Windows 身 份验证有某些优 点 , Windows 身份验证模式更为安全,主要是由于它与 Windows NT 4.0 和 Windows 2000 安全系统的集成。Windows NT 4.0 和 Windows 2000 安全系统相对可以提 供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多 次登录请求无效后锁定账户。对于账户以及账户组的管理和修改也更为方便。 SQL Server 混合身份验证的管理较为简单。它允许应用程序的众多用户使用同一个 登录标识,而Windows 身份验证模式则需为所有的用户创建账户。 若用户试图通过提供空白登录名称连接到 SQL Server 的实例,SQL Server 将使用 Windows 身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验证模式的 SQL Server 实例,则将忽略该登录并使用 Windows 身份验证。 由于 Windows NT 4.0 和 Windows 2000 用户和组,只能由 Windows NT 4.0 或 Windows 2000 维护,因此当用户进行连接时,SQL Server 将读取有关该用户在 组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户下次连接 到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 2000 时(取决于更 改的类型),这些更改会生效。 总之,Windows 身份验证是首选模式,而对于应用程序开发人员或数据库管理 人员而言,更青睐于SQL Server混合模式。SQL Server的安全性决策过程如图12- 3所示。 混合模式允许某些非可信的Windows操作系统账户连接到 SQL Server,例如互 联网客户等,它相当于在Windows身份验证机制之后加入了SQL Server身份验证机 制,对非可信的Windows账户进行自行验证。SQL Server身份验证机制是指SQL Server 2000通过检查是否存在正在登录的SQL Server账户,以及输入的密码是否 与设置的密码相符,自己进行身份验证。对于未设置的SQL Server登录账户或密码 不符的登录账户,则身份验证失败, 连接将被拒绝 。对于Windows 9X以及 Windows NT和Windows 2000 Server客户端以外的客户端,必须使用 SQL Server身份验证机制
12-2-2权限认证 当用户通过身份验证连接到SQL Server实例后,用户可以访问的每个 数据库仍然要求其具有单独的用户账 户,对于没有账户的数据库,将无法 <是役> 访问。这样可防止一个已连接的用户[每造模 混观式 访间。此时,已连接用户虽然可以发m燃提 用 SQL 送各种 Transact-SQL语句命令,但是 连接吗 这些操作命令在数据库中是否能够成 ses Yes 功地执行,还取决于该用户账户在该 ND 最享 数据库中对这些操作的权限设置。如 果发出操作命令的用户没有执行该语 句的权限或者没有访问该对象的权限, 则 SQL Server将不会执行该操作命令 所以没有通过数据库中的权限,拒仍垂 31sner把绝援 连 即使用户连接到了 SQL Server示例上, 也无法使用数据库。 B123n2000炙金淹决策谢 一般而言,数据库的所有者或对象的 所有者可以对其他数据库用户授予权 限或者解除权限
当用户通过身份验证连接到SQL Server实例后,用户可以访问的每个 数据库仍然要求其具有单独的用户账 户,对于没有账户的数据库,将无法 访问。这样可防止一个已连接的用户 对SQL Server的所有数据库资源进行 访问。此时,已连接用户虽然可以发 送各种Transact-SQL 语句命令,但是 这些操作命令在数据库中是否能够成 功地执行,还取决于该用户账户在该 数据库中对这些操作的权限设置。如 果发出操作命令的用户没有执行该语 句的权限或者没有访问该对象的权限, 则SQL Server将不会执行该操作命令。 所以没有通过数据库中的权限认证, 即使用户连接到了SQL Server示例上, 也无法使用数据库。 一般而言,数据库的所有者或对象的 所有者可以对其他数据库用户授予权 限或者解除权限。 12-2-2 权限认证