SQL Server 2012 安全管理



1 服务器安全管理

1.1 两种身份验证方式

    用windows身份验证是根据用户的windows身份权限来进行身份验证,这种方式要直接一些,只要windows登录密码正确就可以访问数据库,sql不判断sa密码。但是在远程连接的时候会因NTML验证的缘故,无法登陆。
    用混合身份验证模式,也就是基于Windows身份验证和SQL Server身份混合验证。这个连接不仅包括远程用户还包括本地用户,当远程用户访问时由于未通过windows认证,而进行sql server认证,从而使得远程用户也可以登录。

1.2 固定服务器角色

在这里插入图片描述

1.3 Windows身份验证模式和混合模式的切换
  1. 连接到SQL Server数据库引擎示例,右击,选择“属性”
    在这里插入图片描述
  2. 进入“服务器属性”界面
    在这里插入图片描述
  3. 在选择页中选择“安全性”,在“服务器身份验证”中选择“SQL Server和Windows身份验证模式”,并点击确定
    在这里插入图片描述
  4. 弹出提示框要求重启SQL Server
    在这里插入图片描述
  5. 展开数据库实例,选择“安全性”,打开“登录名”,找到sa登录名
    在这里插入图片描述
  6. 右击,选择属性,进入属性对话框
    在这里插入图片描述
  7. 取消勾选实施强制密码策略,设置sa账户的登录密码
    在这里插入图片描述
  8. 在选择页中选择“状态”,确认确认选择登录为已启用
    在这里插入图片描述
  9. 退出SSMS,重启SQL Server示例服务
    在这里插入图片描述
  10. 使用SQL Server身份登录,身份验证选择SQL Server身份验证,登录名为sa,密码为刚才设定的密码,点击连接
    在这里插入图片描述
  11. 登录成功后,可以见到服务器示例右边的登录为SQL Server的sa登录
    在这里插入图片描述

1.4 创建Windows身份验证的登录名
创建Windows用户
  1. 右击我的电脑,选择“管理”
    在这里插入图片描述
  2. 用户在计算机管理窗口选择“本地用户和组”,再选择“用户”
    在这里插入图片描述
  3. 右击“用户”,选择“新用户”
    在这里插入图片描述
  4. 在新用户对话框中输入用户名,密码,取消勾选“用户下次登录时须更改密码”
    在这里插入图片描述
  5. 点击创建,然后关闭对话框,在面板中可以见到新创建的Windows用户
    在这里插入图片描述
使用SSMS工具创建Windows身份验证的登录名
  1. 展开数据库实例,选择“安全性”,再选择“登录名”
    在这里插入图片描述
  2. 右击“登录名”,选择“新建登录名”
    在这里插入图片描述
  3. 在登录名新建对话框中点击“搜索按钮”
    在这里插入图片描述
  4. 弹出“选择用户和组”对话框,点击“高级”
    在这里插入图片描述
  5. 进入高级模式后,点击“立即查找”,计算机内所有用户都会展示在下方窗格中
    在这里插入图片描述
  6. 选择需要创建登录名的Windows用户,点击确定返回,再点击确定,回到创建登录名窗口
    在这里插入图片描述
  7. 点击“确定”,完成Windows账户登录名创建
    在这里插入图片描述
  8. 使用Windows用户作为登录名,需要使用该账户登录电脑,然后SSMS会自动选择当前Windows用户进行登录
    在这里插入图片描述
使用SQL方式创建Windows身份验证的登录名

语法格式:

CREATE LOGIN <[计算机名\用户名]>
FROM WINDOWS
WITH DEFAULT_DATABASE=<默认数据库>

使用示例:

CREATE LOGIN [DESKTOP-LJ2ALIV\winuser]
FROM WINDOWS
WITH DEFAULT_DATABASE=master

1.5 创建SQL Server身份验证的登录名
使用SSMS工具创建SQL Server身份验证的登录名
  1. 展开数据库实例,选择“安全性”,再选择“登录名”
    在这里插入图片描述
  2. 右击“登录名”,选择“新建登录名”
    在这里插入图片描述
  3. 勾选“SQL Server身份验证”,在“登录名”中输入要创建的登录名称,取消勾选“强制实施密码策略”(如果密码符合策略要求,可不取消),输入密码
    在这里插入图片描述
  4. 完成后点击“确定”,断开当前连接,使用新创建的SQL登录名进行连接
    在这里插入图片描述
    在这里插入图片描述
使用SQL方式创建SQL Server身份验证的登录名

语法格式:

CREATE LOGIN <SQL Server登录名>
WITH PASSWORD=<密码>,
DEFAULT_DATABASE=<默认数据库>

使用示例:

CREATE LOGIN sqluser
WITH PASSWORD='123abc',
DEFAULT_DATABASE=master

1.6 配置登录名服务器角色
  1. 使用新创建的SQL Server登录名连接服务器
    在这里插入图片描述
  2. 执行创建数据库命令,显示没有创建数据库权限
    在这里插入图片描述
  3. 使用Windows管理员账户(或者sa账户)登录,进入“安全性”,选择“登录名”,右击刚才的登录名,选择“服务器角色”选择页查看角色权限
    在这里插入图片描述
  4. 为其添加dbcreateor权限,使其拥有创建数据库的权限,点击确定
    在这里插入图片描述
  5. 断开连接,重新以刚才的SQL Server登录名进行登录,执行创建数据库命令
    在这里插入图片描述
  6. 创建成功,刷新数据库可以见到县创建的数据库
    在这里插入图片描述

2 数据库安全管理

2.1 固定数据库角色

在这里插入图片描述

2.2 创建Windows验证的数据库用户
使用SSMS工具创建Windows验证的数据库用户
  1. 打开相应的数据库,选择“安全性”,再选择“用户”
    在这里插入图片描述
  2. 右击“用户”,选择“新建用户”
    在这里插入图片描述
  3. 弹出“数据库用户-新建”窗口,在“用户类型”中选择“Windows用户”,用户名右击“…”按钮,选择对应的计算机用户,登录名右击“…”按钮,选择服务器中对应的登录名,点击“确定”
    在这里插入图片描述
  4. 创建成功,使用该用户名连接服务器可访问该数据库
    在这里插入图片描述
使用SQL方式创建Windows验证的数据库用户

语法格式:

CREATE USER  [计算机名\用户名]
FROM LOGIN [计算机名\登录名]

使用示例:

CREATE USER  [DESKTOP-LJ2ALIV\winuser]
FROM LOGIN [DESKTOP-LJ2ALIV\winuser]

2.3 创建SQL Server验证的数据库用户
使用SSMS工具创建SQL Server验证的数据库用户
  1. 打开相应的数据库,选择“安全性”,再选择“用户”
    在这里插入图片描述
  2. 右击“用户”,选择“新建用户”
    在这里插入图片描述
  3. 弹出“数据库用户-新建”窗口,在“用户类型”中选择“带登录名的SQL用户”,用户名输入相应的用户名,登录名右击“…”按钮,选择服务器中对应的登录名,点击“确定”
    在这里插入图片描述
  4. 创建成功,使用该用户名连接服务器可访问该数据库
    在这里插入图片描述
使用SQL方式创建SQL Server验证的数据库用户

语法格式:

CREATE USER  用户名
FROM LOGIN 登录名

使用示例:

CREATE USER  sqluser
FROM LOGIN sqluser

2.4 数据库角色的使用
  1. 使用前面创建的用户名访问数据库,尝试查询student表中的数据,提示无SELECT权限
    在这里插入图片描述
  2. 以管理员用户登录数据库,打开相应数据库中的“安全性”,再打开角色,右击“数据库角色”,选择“新建数据库角色”
    在这里插入图片描述
  3. 弹出“数据库角色-新建”窗口,输入数据库角色名称
    在这里插入图片描述
  4. 在选择页中选择“安全对象”,点击“搜索”按钮
    在这里插入图片描述
  5. 弹出“添加对象”窗口,选择“特定类型的所有对象”,点击进入“确定”,进入“选择对象类型”窗口
    在这里插入图片描述
  6. 在窗口中选择“表”,点击“确定”返回
    在这里插入图片描述
  7. 在窗口安全对象中选中需要添加权限的表,在下方窗格找到“选择”条项,勾选“授予”,点击确定
    在这里插入图片描述
  8. 成功创建数据库角色,在数据库角色中可以找到该数据库角色
    在这里插入图片描述
  9. 打开“安全性”,再打开“用户”,右击需要添加权限的用户名,选择属性
    在这里插入图片描述
  10. 在“数据库用户”窗口的选择页选中成员身份,勾选创建的数据库角色,点击确定
    在这里插入图片描述
  11. 重新使用前面创建的用户名访问数据库,尝试查询student表中的数据,查询数据成功
    在这里插入图片描述

3 数据库对象安全管理

使用SSMS工具完成对象权限设置
  1. 右击相应的数据库用户,选择“属性”,打开数据库用户属性面板
    在这里插入图片描述
  2. 在面板窗口的属性页中选择“安全对象”,点击“搜索”按钮
    在这里插入图片描述
  3. 弹出“添加对象”窗口,选择“特定类型的所有对象”,点击进入“确定”,进入“选择对象类型”窗口
    在这里插入图片描述
  4. 在窗口中选择“表”,点击“确定”返回
    在这里插入图片描述
  5. 在窗口中选中需要添加权限的表,在下方窗格找到“选择”条项,勾选需要的权限管理,点击确定
    在这里插入图片描述
  6. 完成对象级别权限设置,使用该用户名访问数据库,可以检验权限设置的效果。
使用SQL方式完成对象权限设置

语法格式:

--授予权限
GRANT <权限列表> ON <视图或数据表> TO <用户名>
--拒绝权限
DENY <权限列表> ON <视图或数据表> TO <用户名>
--撤销权限
REVOKE <权限列表> ON <视图或数据表> FROM <用户名>

使用示例:

--授予sqluser对student表的SELECT、UPDATE权限
GRANT SELECT,UPDATE ON student TO sqluser
--拒绝sqluser对student表的DELETE权限
DENY DELETE ON student TO sqluser
--撤销sqluser对student表的UPDATE权限
REVOKE UPDATE ON student FROM sqluser



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章