nei*_*101 4 authentication sql-server
如果不是,为什么?
在安全审计期间,我们被问及 dbo 登录是否是交互式的。我的理解是账户是由SQL server自己自动创建和管理的,不是直接交互的。
我试图在证明一个系统管理员的用户将出现在SESSION_USER作为dbo身份验证时,但他们不完全相信。他们现在的问题是是否可以通过使用其密码登录来直接对 dbo 进行身份验证。
这可能吗?我什至不知道在哪里可以找到 dbo 的密码,如果有的话。
Han*_*dyD 12
首先要了解的是 SQL Server 中用户和登录名之间的区别。该文章提供了破旧的理解上的差异,而是把它仅仅是一个简单的,一个登录名是服务器级主体,对于服务器级别的访问提供了身份验证和授权。用户是数据库级主体,为数据库级访问提供授权。
有很多场景,但通常一个登录映射到一个或多个用户,但每个数据库只有一个用户。一个用户只映射到一个登录名(包含的数据库用户除外,但这是一种现在可以忽略的不同场景)。
dbo 用户是代表数据库所有者的每个数据库中的内置数据库用户。此用户对数据库具有完全不受限制的访问权限。虽然您不能以“dbo”身份登录到服务器,但您可以使用映射到一个或多个数据库中的 dbo 用户的登录名登录。当连接的数据库上下文是登录映射到 dbo 的数据库时,该上下文中的标识为“dbo”。
此外,根据评论,任何具有 sysadmin 角色的登录名也会在每个数据库中显示为 dbo,即使他们没有明确设置为数据库所有者。
要回答您的具体问题:
在安全审计期间,我们被问及 dbo 登录是否是交互式的。我的理解是账户是由SQL server自己自动创建和管理的,不是直接交互的。
是的,dbo 帐户是内置的,无法删除、锁定、禁用或移除。它也不能直接登录,即您不能以用户“dbo”的身份使用密码登录。
我试图证明系统管理员用户在身份验证时会以 dbo 的身份出现在 SESSION_USER 中,但他们并不完全相信。他们现在的问题是是否可以通过使用其密码登录来直接对 dbo 进行身份验证。
这可能吗?我什至不知道在哪里可以找到 dbo 的密码,如果有的话。
不,这是不可能的。dbo 不存在“密码”。如果是 SQL 身份验证登录,则映射登录可能有密码,但 dbo 没有直接登录。
该文章提供DBO的识别您的登录信息映射到DBO在每个数据库的解释,也有一些有用的查询。我建议您告知审计员,在 SQL Server 中无法直接以 dbo 身份登录,也不能调整任何权限或禁用/删除此帐户,然后向他们提供映射列表和系统管理员列表或使用 CONTROL 登录的列表SERVER 权限来说明谁可以承担每个数据库中的 dbo 用户上下文。
| 归档时间: |
|
| 查看次数: |
4004 次 |
| 最近记录: |