集成登录功能使用 Windows 的登录控制系统代替 SQL Anywhere 安全系统来工作,使得无需提供用户 ID 或口令便可连接数据库。实质上,如果用户可以登录到承载数据库的计算机,他就能够通过数据库安全验证。
如果用户以 dsmith 身份成功登录到 Windows 服务器,只要用户有集成登录映射或者缺省的集成登录用户 ID,则他们不必经过进一步的身份验证即可连接数据库。
在使用集成登录时,数据库管理员应当特别注意 Windows 强制登录安全的方法,以防止出现对数据库不必要的访问。
如果启用 Guest 用户配置文件,将允许对在该服务器上运行的数据库进行不受限制的访问。
如果 Guest 用户配置文件处于启用状态且口令为空,则登录到该服务器的任何尝试都将成功。用户配置文件无需存在于服务器上,或者所提供的登录 ID 无需具有域登录权限。准确地说,任何用户都可以使用任何登录 ID 和任何口令登录到服务器:缺省情况下他们会登录到 Guest 用户配置文件。
这对于在启用集成登录功能的情况下连接到数据库有着重要的含义。
请考虑以下情况:假定承载数据库的 Windows 服务器有一个用空口令启用的 Guest 用户配置文件。
在用户 fran_whitney 和数据库用户 ID DBA 之间存在集成登录映射。用户 fran_whitney 使用正确的登录 ID 和口令连接服务器时,她将以 DBA 身份(具有全部管理权限的用户)连接到数据库。
但是,任何试图以 fran_whitney 身份连接服务器的人都将成功登录到服务器,而无论他们提供什么口令,这是因为 Windows 将把该连接尝试缺省为 Guest 用户配置文件。在使用 fran_whitney 登录 ID 成功登录到服务器之后,未经授权的用户便可以通过集成登录映射,以 DBA 身份成功连接到数据库。
最安全的集成登录策略是在承载 SQL Anywhere 数据库的所有 Windows 计算机上禁用 Guest 用户配置文件。这可以通过使用 Windows 用户管理器实用程序来实现。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |