一.思维导图

【思维导图】第十二周学习笔记 

 

二.说明

1.数据库的安全性,主要包括用户身份鉴别,多层存取控制,数据额加密,和服务器角色,登录名是用于登录数据库,用于身份鉴定,对合法的用户进入计算机,登录名主要分成两种window和SQL登录名,而固定服务器角色用于给登录名赋予相应的服务器权限。数据库管理系统还要进行存取控制,数据最后还要以密码形式存储在数据库中,采用非对称加密和对称加密两种加密模式。

2.数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合,因此可以纬第一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。

3. 数据库权限:在SQL Server数据库管理系统中,权限是指用户对数据库或数据表执行的操作。

分类:按对权限设置方法的不同,可以将权限分为隐含权限、对象权限和语句权限三种类型

1)隐含权限(2)对象权限(3)语句权限

 分别分成grant、deny和revoke命令分别表示授予、禁止和撤销权限。

三.示例

1.创建Windows登录名

IF SUSER_ID('LocalComputerName\WinUser1') IS NOT NULL       

 DROP LOGIN [LocalComputerName\WinUser1];      

GO       

CREATE LOGIN [LocalComputerName\WinUser1]       

 FROM WINDOWS       

 WITH      

  DEFAULT_DATABASE=master;

2.创建SQL Server登录名

 IF SUSER_ID('SqlLogin1') IS NOT NULL     

 DROP LOGIN SqlLogin1;    

GO     

CREATE LOGIN SqlLogin1      

 WITH     

  PASSWORD='[email protected]'    

  ,CHECK_POLICY=ON   

  ,DEFAULT_DATABASE=master;

3.SqlLogin1添加至sysadmin角色

EXEC sp_addsrvrolemember 'SqlLogin1', 'sysadmin';

4.SqlLogin1sysadmin角色移除

EXEC sp_dropsrvrolemember 'SqlLogin1', 'sysadmin';

5.在数据库HIS中创建用户DbUser1 ,并映射至登录名SqlLogin1

IF USER_ID('DbUser1') IS NOT NULL   DROP USER DbUser1;   GO           CREATE USER DbUser1      FOR LOGIN SqlLogin1;      

6.将查询病人表的权限授予DbUser1用户

  GRANT       SELECT       ON tb_Patient     TO DbUser1;  

7.收回DbUser1用户对病人表的查询权限

REVOKE       SELECT       ON tb_Patient

  FROM DbUser1;

8.创建数据库角色DbRole1,将用户DbUser1添加至该角色

  IF USER_ID('DbRole1') IS NOT NULL     DROP ROLE DbRole1;     GO               CREATE ROLE DbRole1;     GO               EXEC sys.sp_addrolemember 'DbRole1','DbUser1';

9.创建非对称**

    USE HIS;           IF ASYMKEY_ID('ak_HIS_ForSymKeyCrypto') IS NOT NULL   DROP ASYMMETRIC KEY ak_HIS_ForSymKeyCrypto; GO               CREATE ASYMMETRIC KEY ak_HIS_ForSymKeyCrypto   WITH                ALGORITHM=RSA_512   

          ENCRYPTION BY PASSWORD='[email protected]';

10.创建对称**

IF KEY_ID('sk_HIS_ForDataCrypto') IS NOT NULL         DROP SYMMETRIC KEY sk_HIS_ForDataCrypto;     GO                     CREATE SYMMETRIC KEY sk_HIS_ForDataCrypto         WITH                      ALGORITHM=TRIPLE_DES               ENCRYPTION BY ASYMMETRIC KEY ak_HIS_ForSymKeyCrypto;

 

 

 


相关文章: