数据库安全管理

1. 首先在启动数据库之前,先使用命令 net start mssqlserver 启动服务:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

SQL Server安全管理事务设计_SQL

2. 服务启动好后,在开始菜单中找到 SQL Server Management Studio

SQL Server安全管理事务设计_数据库_02

3. 首次使用 Windows 身份验证登录:

SQL Server安全管理事务设计_操作系统_03

4.打开SQL Server Management Studio,在对象资源管理器中,选择“SQL Server实例”"”安全性“,右击,选择“属性”

SQL Server安全管理事务设计_Server_04

5. 在 ” 服务器属性“窗口中的“选择页”栏中选择“安全性”选项,如下:

在“服务器身份验证”选项组中选择身份验证模式,单击“确定”按钮,完成设置。

 

 

 

SQL Server安全管理事务设计_数据库_05

 

6. 可以通过 SQL Server Management Studio 来建立和管理登录账户,默认的 SQL Server 使用 Windows 身份验证模式, SQL Server 的登录账户无法登录,只能建立 SQL Server 登录账户后才能使用 SQL Server 账户登录,如果需要利用创建的 SQL Server 账户登录,需要将身份验证模式改为混合模式。

SQL Server安全管理事务设计_SQL Server安全管理事务设计_06

可以填写,也可以搜索到系统账户:

SQL Server安全管理事务设计_操作系统_07

SQL Server安全管理事务设计_SQL Server安全管理事务设计_08

在状态选项里需要授予连接数据库引擎,同时还要启用登录账户:

SQL Server安全管理事务设计_操作系统_09

如下是新建的 SQL Server 登录账户:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_10

7. 使用新建的 zhangsan 账户来登录数据库验证:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_11

Zhangsan 登录成功!

SQL Server安全管理事务设计_SQL Server安全管理事务设计_12

8. 映射到如下登录用户名:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_13

映射失败,是因为 zhangsan 账户没有相应的权限:

SQL Server安全管理事务设计_数据库_14

9. 附加数据库 Tariffsmall :

SQL Server安全管理事务设计_SQL Server安全管理事务设计_15

在没有映射到 Tariffsmall 数据库之前, zhangsan 账户是无法登录该数据库的:

SQL Server安全管理事务设计_Server_16

SQL Server安全管理事务设计_数据库_17

SQL Server安全管理事务设计_SQL Server安全管理事务设计_18

10. 给 zhangsan 账户添加服务器角色,并映射到数据库 Tariffsmall :

SQL Server安全管理事务设计_操作系统_19

SQL Server安全管理事务设计_SQL_20

11.再次使用zhangsan账户登录该数据库验证:(如下图登录成功!)

SQL Server安全管理事务设计_SQL Server安全管理事务设计_21

12.给zhangsan账户一个可以从所有用户表中读取所有数据的权限:

SQL Server安全管理事务设计_SQL_22

使用 zhangsan 账户打开一个表,验证成功!

SQL Server安全管理事务设计_操作系统_23

13. 为表授权:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_24

SQL Server安全管理事务设计_Server_25

单击添加 " 浏览,浏览到你需要的账户:

SQL Server安全管理事务设计_数据库_26

如果浏览里面是空的:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_27

则需要点击对象类型,在里面选择相应的对象:

SQL Server安全管理事务设计_操作系统_28

SQL Server安全管理事务设计_Server_29

给 zhangsan 账户授予删除权限:

SQL Server安全管理事务设计_Server_30

验证:

SQL Server安全管理事务设计_数据库_31

14. 为数据库授权:

SQL Server安全管理事务设计_Server_32

SQL Server安全管理事务设计_SQL_33

验证, zhangsan 账户没有新建表的权限:

SQL Server安全管理事务设计_SQL_34

SQL Server安全管理事务设计_SQL_35

SQL Server安全管理事务设计_Server_36

重新授予该权限后,再次新建表:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_37

SQL Server安全管理事务设计_SQL_38

新建成功!

SQL Server安全管理事务设计_SQL_39

15. 数据库访问审核:

SQL Server安全管理事务设计_SQL_40

SQL Server安全管理事务设计_Server_41

故意输错密码登录,来验证登录失败的审核:

SQL Server安全管理事务设计_操作系统_42

右击我的电脑 " 管理 " 事件查看器 " 应用程序

SQL Server安全管理事务设计_SQL Server安全管理事务设计_43

右击属性查看详细信息:

SQL Server安全管理事务设计_SQL_44

16. 删除或禁用不必要的账户:

SQL Server安全管理事务设计_数据库_45

SQL Server安全管理事务设计_SQL Server安全管理事务设计_46

将 zhangsan 账户禁用:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_47

17. 使用 zhangsan 账户登录验证:

SQL Server安全管理事务设计_数据库_48

验证成功! zhangsan 无法登录了,说明禁用成功:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_49

18. 如下是删除 zhangsan 账户:

SQL Server安全管理事务设计_操作系统_50

19. 关闭不必要的网络连接和功能:

SQL Server安全管理事务设计_数据库_51

SQL Server安全管理事务设计_Server_52

SQL Server安全管理事务设计_数据库_53

20. 关闭不必要的 SQL Server 的功能:

SQL Server安全管理事务设计_SQL Server安全管理事务设计_54

21. 禁用不必要的协议:

SQL Server安全管理事务设计_Server_55

SQL Server安全管理事务设计_数据库_56

设置 IP 的“已启用”值为“否”,关闭监听的 IP 地址:

SQL Server安全管理事务设计_数据库_57

SQL Server安全管理事务设计_操作系统_58

22. 使用如下命令创建证书:

SQL Server安全管理事务设计_Server_59

命令执行后,将在 master 下创建证书 c1 ,如下:

SQL Server安全管理事务设计_数据库_60

23. 创建测试表, name 字段为要加密的列,数据类型为 varbinary

SQL Server安全管理事务设计_SQL_61

24. 使用加密函数向测试表中写入一条测试数据:

SQL Server安全管理事务设计_数据库_62

SQL Server安全管理事务设计_SQL Server安全管理事务设计_63

25. 利用下面的语句来提取加密的数据:

SQL Server安全管理事务设计_数据库_64

26. 利用以下语句来解密数据:

SQL Server安全管理事务设计_操作系统_65

转载于:https://blog.51cto.com/caohongjiang/313706