SQL Server 2012 安全管理

文章目录

        • 1 服务器安全管理
          • 1.1 两种身份验证方式
          • 1.2 固定服务器角色
          • 1.3 Windows身份验证模式和混合模式的切换
          • 1.4 创建Windows身份验证的登录名
            • 创建Windows用户
            • 使用SSMS工具创建Windows身份验证的登录名
            • 使用SQL方式创建Windows身份验证的登录名
          • 1.5 创建SQL Server身份验证的登录名
            • 使用SSMS工具创建SQL Server身份验证的登录名
            • 使用SQL方式创建SQL Server身份验证的登录名
          • 1.6 配置登录名服务器角色
        • 2 数据库安全管理
          • 2.1 固定数据库角色
          • 2.2 创建Windows验证的数据库用户
            • 使用SSMS工具创建Windows验证的数据库用户
            • 使用SQL方式创建Windows验证的数据库用户
          • 2.3 创建SQL Server验证的数据库用户
            • 使用SSMS工具创建SQL Server验证的数据库用户
            • 使用SQL方式创建SQL Server验证的数据库用户
          • 2.4 数据库角色的使用
        • 3 数据库对象安全管理
          • 使用SSMS工具完成对象权限设置
          • 使用SQL方式完成对象权限设置



1 服务器安全管理

1.1 两种身份验证方式

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

1.2 固定服务器角色

SQL Server 2012 安全管理_第1张图片

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

1.4 创建Windows身份验证的登录名
创建Windows用户
  1. 右击我的电脑,选择“管理”
    SQL Server 2012 安全管理_第13张图片
  2. 用户在计算机管理窗口选择“本地用户和组”,再选择“用户”
    SQL Server 2012 安全管理_第14张图片
  3. 右击“用户”,选择“新用户”
    SQL Server 2012 安全管理_第15张图片
  4. 在新用户对话框中输入用户名,密码,取消勾选“用户下次登录时须更改密码”
    SQL Server 2012 安全管理_第16张图片
  5. 点击创建,然后关闭对话框,在面板中可以见到新创建的Windows用户
    SQL Server 2012 安全管理_第17张图片
使用SSMS工具创建Windows身份验证的登录名
  1. 展开数据库实例,选择“安全性”,再选择“登录名”
    SQL Server 2012 安全管理_第18张图片
  2. 右击“登录名”,选择“新建登录名”
    SQL Server 2012 安全管理_第19张图片
  3. 在登录名新建对话框中点击“搜索按钮”
    SQL Server 2012 安全管理_第20张图片
  4. 弹出“选择用户和组”对话框,点击“高级”
    SQL Server 2012 安全管理_第21张图片
  5. 进入高级模式后,点击“立即查找”,计算机内所有用户都会展示在下方窗格中
    SQL Server 2012 安全管理_第22张图片
  6. 选择需要创建登录名的Windows用户,点击确定返回,再点击确定,回到创建登录名窗口
    SQL Server 2012 安全管理_第23张图片
  7. 点击“确定”,完成Windows账户登录名创建
    SQL Server 2012 安全管理_第24张图片
  8. 使用Windows用户作为登录名,需要使用该账户登录电脑,然后SSMS会自动选择当前Windows用户进行登录
    SQL Server 2012 安全管理_第25张图片
使用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. 展开数据库实例,选择“安全性”,再选择“登录名”
    SQL Server 2012 安全管理_第26张图片
  2. 右击“登录名”,选择“新建登录名”
    SQL Server 2012 安全管理_第27张图片
  3. 勾选“SQL Server身份验证”,在“登录名”中输入要创建的登录名称,取消勾选“强制实施密码策略”(如果密码符合策略要求,可不取消),输入密码
    SQL Server 2012 安全管理_第28张图片
  4. 完成后点击“确定”,断开当前连接,使用新创建的SQL登录名进行连接
    SQL Server 2012 安全管理_第29张图片
    SQL Server 2012 安全管理_第30张图片
使用SQL方式创建SQL Server身份验证的登录名

语法格式:

CREATE LOGIN 
WITH PASSWORD=<密码>,
DEFAULT_DATABASE=<默认数据库>

使用示例:

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

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

2 数据库安全管理

2.1 固定数据库角色

SQL Server 2012 安全管理_第37张图片

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

语法格式:

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

使用示例:

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

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

语法格式:

CREATE USER  用户名
FROM LOGIN 登录名

使用示例:

CREATE USER  sqluser
FROM LOGIN sqluser

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

3 数据库对象安全管理

使用SSMS工具完成对象权限设置
  1. 右击相应的数据库用户,选择“属性”,打开数据库用户属性面板
    SQL Server 2012 安全管理_第57张图片
  2. 在面板窗口的属性页中选择“安全对象”,点击“搜索”按钮
    SQL Server 2012 安全管理_第58张图片
  3. 弹出“添加对象”窗口,选择“特定类型的所有对象”,点击进入“确定”,进入“选择对象类型”窗口
    SQL Server 2012 安全管理_第59张图片
  4. 在窗口中选择“表”,点击“确定”返回
    SQL Server 2012 安全管理_第60张图片
  5. 在窗口中选中需要添加权限的表,在下方窗格找到“选择”条项,勾选需要的权限管理,点击确定
    SQL Server 2012 安全管理_第61张图片
  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



你可能感兴趣的:(数据库,SQL,Server数据库入门指南)