
# 开启TaurusDB透明数据加密（TDE）
#### 操作场景
透明数据加密（Transparent Data Encryption，简称TDE），对数据文件执行实时I/O加密和解密，数据在写入磁盘之前进行加密，从磁盘读入内存时进行解密，能有效保护数据库及数据文件的安全。
TDE主要应对以下的场景：
- 硬盘被盗导致数据泄露。
- 黑客入侵系统进行文件复制导致数据泄露。在没有启用TDE的情况下，只要获得了数据库文件，即可直接浏览数据库中的所有内容，但如果在数据库上启用了TDE，整个数据被安全加密；没有密钥就不能访问到数据。
 
#### 计费说明
加密使用的密钥由密钥管理服务KMS产生和管理，TaurusDB的数据加密功能不会额外收费，密钥管理服务KMS不计费。
#### 权限要求
- 如果用户通过主账号开启透明数据加密，不需要任何额外配置。如果是IAM子用户并且是第一次操作开启透明数据加密，则需要给子用户临时配置创建委托的权限。
- 开启透明数据加密时必须拥有如下IAM权限：
  表1IAM权限与委托 
  | IAM策略   | 权限                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 委托                                                              |
  |:---|:---|:---|
  | 基于角色或策略 | - iam:agencies:listAgencies  - iam:agencies:createAgency  - iam:permissions:listRolesForAgencyOnProject  - iam:permissions:grantRoleToGroupOnProject  - iam:permissions:grantRoleToAgencyOnProject  - iam:roles:listRoles  - iam:roles:createRole  - kms:cmk:decryptDataKey  - kms:cmk:createDataKey  - kms:cmk:encryptDataKey   如不满足，请[创建自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。 | 会自动创建委托RDSAccessProjectResource，该委托用户可见，删除委托会导致开启透明数据加密失败。      |
  | 基于身份策略  | - iam:agencies:listAgencies  - iam:agencies:createServiceLinkedAgencyV5   如不满足，请[创建自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 会自动创建服务关联委托ServiceLinkedAgencyForGaussDBforMySQL，该委托用户可见，不支持删除。 |
     
  
 
#### 约束限制
表2约束限制 
| 阶段     | 限制说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|
| TDE开启前 | - 如需开通透明数据加密，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)。  - 开启TDE后不支持关闭TDE。  - 内核版本为2.0.47.231100及以上的TaurusDB实例支持开启透明数据加密功能。内核版本的查询方法请参见[如何查看云数据库 TaurusDB实例的版本号](https://support.huaweicloud.com/taurusdb_faq/taurusdb_faq_0141.html)。  - 仅单机和集群类型的实例支持开启透明数据加密功能。  - 云数据库TaurusDB实例已开通密钥管理服务（Key Management Service，KMS），加密使用的数据密钥由KMS生成和管理，云数据库TaurusDB不提供加密所需的密钥和证书。  - TDE加密功能仅支持在创建实例时打开，实例创建成功后不支持打开，且打开后无法关闭，请您谨慎操作。  - 透明数据加密功能为数据库数据加密，包括全量备份，不包括增量备份。  - 无法在加密的实例上修改加密方式。  - 仅支持实例级别的加密。   |
| TDE开启后 | 已开启透明数据加密功能的实例不支持以下操作： - 跨区域备份。  - TDE加密的实例备份恢复到其他已有实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
#### 操作步骤
1. 进入[购买云数据库TaurusDB页面](https://console.huaweicloud.com/gaussdbformysql/?#/gaussdbformysql/newCreateIns)。
2. 在"实例管理"页面，单击"购买数据库实例"。
3. 在"自定义购买"页面，填写并选择[实例相关信息](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_4000.html)，打开TDE状态开关，并选择对应的数据加密算法。目前支持AES256和SM4加密算法。
   
   图1开启TDE   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002184424706.png "点击放大")
   
   
   
4. 待实例创建成功后，单击实例名称，在实例概览页面，"配置信息 \> TDE"处可查看状态。
 
#### 常见问题
#### 如何手动创建RDSAccessProjectResource委托？
委托的作用是将用户的某些权限授予云服务，从而使云服务能够实现诸如开启透明数据加密等自动化运维场景。开启透明数据加密功能会自动创建委托RDSAccessProjectResource，该委托用户可见，删除委托会导致透明数据加密失败。
您可参考如下步骤手动添加委托：
1. 登录[IAM控制台](https://console.huaweicloud.com/iam/?locale=zh-cn#/iam/users)。
2. 在统一身份认证服务的左侧导航窗格中，选择"委托"页签，在上方输入框中输入"RDSAccessProjectResource"执行搜索。 
   如果无此委托，单击右上方的"创建委托"。
   
   
3. 在创建委托页面，设置委托信息。 
   图2创建委托   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002459631982.png "点击放大")
   
   - 委托名称：RDSAccessProjectResource
   
   - 委托类型：云服务
   
   - 云服务：搜索op_svc_rds，选择数据库服务DBS
   
   - 持续时间：永久
   
   
   
   
4. 单击"完成"。
5. 在授权的确认弹窗中，单击"立即授权"。
6. 搜索勾选DBS AgencyPolicy权限，单击"下一步"。 
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002492711185.png "点击放大")
   
   
   
7. 选择指定区域项目资源，勾选要授权的Region，单击"确定"。 
   图3授权   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002459631990.png "点击放大")
   
   
   
 
