数据加密 第八篇:密钥的保护和权限管理

数据加密的密钥和证书要设置对应的权限,并把重要的密钥,比如,SMK和DMK,以及证书进行异地备份。

查看系统中已存在的证书、对称密钥和非对称密钥:

  • sys.certificates
  • sys.asymmetric_keys
  • sys.symmetric_keys

一,对加密机制的权限管理

对证书、对称密钥和非对称密钥的权限管理,可以授予的权限是 CONTROL, TAKE OWNERSHIP,ALTER,REFERENCES和VIEW DEFINITION。对证书、对称密钥和非对称密钥的权限授予,Grant命令的格式是一致的,唯一不同的是安全对象(Securable):

GRANT permission  [ ,...n ]    
ON class :: securable 
TO principal [ ,...n ] 

class :: securable = 
ASYMMETRIC KEY :: asymmetric_key_name
|SYMMETRIC KEY :: symmetric_key_name
|CERTIFICATE :: certificate_name

举个例子,授予Principal引用证书的权限:

GRANT REFERENCES    
ON CERTIFICATE :: my_certificate_name
TO user1,domain_user2 

二,密钥的冗余保护

对于SMK和DMK,可以使用冗余副本进行保护,这两个主密钥,可以执行BACKUP和RESTORE命令。

对于证书,可以把证书导出,保存证书的副本。

对于对称密钥和非对称密钥,无法保存副本。

 

 

参考文档:

Security Catalog Views (Transact-SQL)

GRANT Certificate Permissions (Transact-SQL)

GRANT Symmetric Key Permissions (Transact-SQL)

GRANT Asymmetric Key Permissions (Transact-SQL)

posted @ 2020-05-27 10:14  悦光阴  阅读(68)  评论(0编辑  收藏