开发者社区> 阿里云服务支持> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

RDS SQL Server 自带证书开启TDE的解决方案

简介: RDS SQL Server 自带证书开启TDE的解决方案
+关注继续查看


背景


为了帮助保护数据库的安全,可以提供设计安全的系统、对机密资产加密、在数据库服务器外围构建防火墙。

但是恶意方如果窃取了驱动器或数据备份等,就可以还原或附加数据库并浏览其数据。

为了解决此类安全问题,一种解决方案就被提出来了,这就是透明数据加密TDE。


SQL Server TDE 功能


SQL Server支持透明数据加密TDE(Transparent Data Encryption),即对数据文件执行实时I/O加密和解密。数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。TDE不会增加数据文件的大小,开发人员无需更改任何应用程序,即可使用TDE功能。这种加密方式也称为静态数据加密。


如何开启 RDS SQL Server TDE 功能


  1. 创建主密钥
  2. 创建证书
  3. 将证书上传到 OSS
  4. 开启 TDE 功能
  5. 查看数据库开启状态


创建主密钥

命令

USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DifferentP@$$w0rd';

说明

  • 数据库主密钥是指用于保护证书私钥的对称密钥以及数据库中存在的非对称密钥
  • password 必须符合运行 SQL Server 实例的计算机的 Windows 密码策略要求。
  • 当创建主密钥时,会使用 AES_256 算法以及用户提供的密码对其进行加密。


创建证书


命令

USE master;
GO
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';


备份证书


命令

BACKUP CERTIFICATE MyServerCert
TO FILE = 'D:\MSSQL\backup\MyServerCert'
WITH PRIVATE KEY (file='D:\MSSQL\backup\MyServerCert.pvk ', ENCRYPTION BY PASSWORD='DifferentP@$$w0rd')

说明

  • MyServerCert 指定证书名称。
  • TO FILE 指定导致证书的路径。
  • WITH PRIVATE KEY 指定需要导致私钥。
  • ENCRYPTION BY PASSWORD 。
  • 这里使用的备份密码要与主密钥密码一致,不然在开启TDE时报错。


最终会得到 MyServerCert 证书和私钥文件MyServerCert.pvk。如图


image


上传证书


  • 将证书和私钥上传到阿里云OSS(文件要上传到根目录,不然在选择证书的时候,可能会找不到
  • 若没有现成的Bucket 需要新建
    • 新建:对象存储->Bucket列表->创建Bucket->选择与实例对应的地域即可(其它默认,名称全局唯一)
  • 若有:
    • 操作路径:对象存储->Bucket列表->选择对应Region Bucket-文件管理->扫描文件->查看扫描结果->确认无误选择上传文件。如截图


image


开启TDE功能

  • 操作:选择需要开启的实例->选择数据安全->选择TDE->选择自带密钥

image

  • 选择Bucket 和 证书文件。
  • 密码是备份证书和主密钥的密码,要一致,不然会报错不匹配。

image


image

查看数据库开启状态

命令

select name,is_encrypted from sys.databases where name = 'db01';

结果

image


参考:

https://learn.microsoft.com/zh-cn/sql/t-sql/statements/backup-certificate-transact-sql?view=sql-server-ver15

https://learn.microsoft.com/zh-cn/sql/relational-databases/security/encryption/transparent-data-encryption?view=sql-server-ver16

https://learn.microsoft.com/zh-cn/sql/big-data-cluster/encryption-at-rest-sql-server-tde?view=sql-server-ver15

https://learn.microsoft.com/zh-cn/sql/t-sql/statements/create-master-key-transact-sql?view=sql-server-ver15

https://learn.microsoft.com/zh-cn/sql/t-sql/statements/backup-master-key-transact-sql?view=sql-server-ver15


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《RDS数据库入门一本通》电子版地址
本书体系完整,理论充实,内容由浅入深,循序渐进,更配有详细的实例解说,为初学者提供一个完整、严密的思维框架,零基础的你也可轻松掌握RDS数据库的美妙节奏。
0 0
【数据库架构】使用pgpool II的PostgreSQL高可用性
在本文中,我们讨论了使用pgpool II(PostgreSQL开源扩展之一)的高可用性系统设置。它是我们的解决方案之一,可以满足这两个要求:高可用性和可扩展性。
0 0
【数据库架构】PostgreSQL常用的开源扩展
如果您使用的是PostgreSQL,您可以利用优秀的开源扩展来根据您的业务需求增强或添加功能。这些扩展是由其社区积极开发的,这些社区与PostgreSQL社区本身是分开的。PostgreSQL有数百个OSS扩展,其中许多是在生产环境中实现的。
0 0
PolarDB是PostgreSQL数据库用户的福音
很多PostgreSQL数据库的用户遇到主备库延迟大、单机数据库空间不够的问题,无缝迁移到PolarDB就可以解决这些问题。
0 0
《RDS数据库入门一本通》电子版
本书体系完整,理论充实,内容由浅入深,循序渐进,更配有详细的实例解说,为初学者提供一个完整、严密的思维框架,零基础的你也可轻松掌握RDS数据库的美妙节奏。
0 0
《袋鼠云基于阿里云RDS的数据库架构实践》电子版地址
袋鼠云基于阿里云RDS的数据库架构实践
0 0
linux下安装PostgreSQL数据库
linux下安装PostgreSQL数据库
0 0
《RDS数据库入门一本通》电子版下载
本书体系完整,理论充实,内容由浅入深,循序渐进,更配有详细的实例解说,为初学者提供一个完整、严密的思维框架,零基础的你也可轻松掌握RDS数据库的美妙节奏。
0 0
Metasploit之Postgresql数据库介绍
Metasploit之Postgresql数据库介绍
0 0
文章
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
相关文档: 迁云实施服务
文章排行榜
最热
最新
相关电子书
更多
云数据库RDS MySQL从入门到高阶
立即下载
PolarDB for PostgreSQL 源码与应用实战
立即下载
PolarDB for PostgreSQL 开源必读手册
立即下载