
# 设置磁盘加密
#### 服务端加密简介
云数据库RDS服务的管理控制台目前支持密码安全中心（Data Encryption Workshop，简称DEW）托管密钥的服务端加密，即使用密码安全中心提供的密钥进行服务端加密。
密码安全中心通过使用硬件安全模块 (Hardware Security Module，简称HSM) 保护密钥安全的托管，帮助用户轻松创建和控制加密密钥。用户密钥不会明文出现在硬件安全模块之外，避免密钥泄露。对密钥的所有操作都会进行访问控制及日志跟踪，提供所有密钥的使用记录，满足监督和合规性要求。
当启用服务端加密功能后，用户创建实例和扩容磁盘时，磁盘数据会在服务端加密成密文后存储。用户下载加密对象时，存储的密文会先在服务端解密为明文，再提供给用户。
本章节介绍在实例购买成功后，如何开启或修改磁盘加密。
#### 前提条件
用户首先需要在密码安全中心中创建密钥（或者使用密码安全中心提供的默认密钥）。创建实例时，在"磁盘加密"项选择"加密"，选择或创建密钥，该密钥是最终租户密钥，使用该密钥进行服务端加密，使磁盘更安全。
- 已通过统一身份认证服务添加云数据库RDS所在区域的KMS Administrator权限。权限添加方法请参见[创建用户组并授权](https://support.huaweicloud.com/usermanual-iam/iam_03_0001.html)。
- 如果用户需要使用自定义密钥加密上传对象，则需要先通过密码安全中心创建密钥。目前云数据库RDS只支持对称密钥，具体操作请参见[创建密钥](https://support.huaweicloud.com/usermanual-dew/dew_01_0178.html)。
 
#### 约束限制
- 如需使用设置磁盘加密功能，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请。
- 设置磁盘加密时如需设置定时加密，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请。
- 磁盘加密会导致约5\~60秒的服务不可用，请选择在业务低峰期进行操作。
- 磁盘加密会提高数据安全性，但对数据库读写性能有5%的性能影响。
- 实例状态为"正常"时可以进行加密，开启磁盘加密后无法关闭，请知悉。
- 如果主实例存在高可用只读，请先释放高可用只读后再进行操作。
- 如果当前实例开启备份加密，请先关闭备份加密后再进行操作。
- 集群版实例、高可用只读不支持设置磁盘加密。

- 开启磁盘加密后，存放在对象存储服务上的备份数据不会被加密，如需开通备份数据加密，请[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)申请。
- 开启磁盘加密后，新扩容的磁盘空间会使用开启时设置的加密密钥进行加密。
- 修改磁盘加密后，新扩容的磁盘空间会使用修改后的加密密钥进行加密。
- 开启CBR快照备份后，暂不支持设置磁盘加密。
- 仅支持对已有的云盘实例设置磁盘加密，包括以下磁盘类型：SSD云盘、超高IO、极速型SSD、Flexible SSD和极速SSD V2。
- 支持加密密钥类型：AES_256、SM4。如需使用SM4密钥类型，请[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)申请。
- 如果使用共享KMS密钥，对应的CTS事件为createdatakey和decrydatakey，仅密钥所有者能够感知到该事件。
- 提醒您保存好密钥，一旦密钥被禁用、删除或冻结，会导致数据库不可用，并且可能无法恢复数据，具体场景如下： 针对磁盘加密，备份数据不加密的场景：可以通过[备份恢复到新实例](https://support.huaweicloud.com/usermanual-rds-mysql/rds_08_0007.html)的方式恢复数据。
  针对磁盘加密，并且备份数据加密的场景：无法恢复数据。
  
 
#### 开启磁盘加密
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002593882307.png)，选择区域。
3. 在"实例管理"页面，单击目标实例或只读实例名称，进入"概览"页面，可通过单击实例名称前的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002541054307.png)查看到只读实例。
4. 在"存储与备份"模块，打开磁盘加密开关![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002541174297.png)。
5. 在弹框中，选择加密算法、切换时间，单击"确定"。 
   图1开启磁盘加密   
   ![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002509574298.png "点击放大")
   - 立即变更：系统会立即开启磁盘加密。
   
   - 可维护时间段内变更：系统会在您设置的可维护时间段内开启磁盘加密。
   
   
   
   
6. 返回实例列表，在左侧导航栏，选择"任务中心"，查看磁盘加密任务的执行进度。 
   - 对于立即变更的任务： 在"即时任务"页签，搜索"MySQL实例磁盘加密"任务，查看执行进度。即时任务不支持取消。
     
   
   - 对于可维护时间段内变更的任务： 在"定时任务"页签，搜索实例ID，查看该实例下磁盘加密任务的执行情况。定时任务可以取消。
     
   
   
   更多操作，请参见[任务中心](https://support.huaweicloud.com/usermanual-rds-mysql/rds_task_0001.html)。
   
   
 
#### 修改磁盘加密
对于已经开启磁盘加密的实例，可以修改密钥。
1. 在"实例管理"页面，单击目标实例或只读实例名称，进入"概览"页面，可通过单击实例名称前的![](https://support.huaweicloud.com/usermanual-rds-mysql/zh-cn_image_0000002509534306.png)查看到只读实例。
2. 在"存储与备份"模块，单击磁盘加密后的"修改"，修改密钥。
3. 在弹框中，选择加密算法、切换时间，单击"确定"。 
   - 立即变更：系统会立即开启磁盘加密。
   
   - 可维护时间段内变更：系统会在您设置的可维护时间段内开启磁盘加密。
   
   
   磁盘加密操作需要执行一段时间，具体流程可以查看[任务中心](https://support.huaweicloud.com/usermanual-rds-mysql/rds_task_0001.html)。
   
   
 
