调用ModifyDBInstanceTDE接口开启RDS实例透明数据加密功能。
透明数据加密TDE可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。详情请参见透明数据加密。
调用该接口时,实例必须满足以下条件,否则将操作失败:
- 已开通KMS。如果您未开通KMS,可在开通TDE过程中根据引导开通KMS。
- 实例类型为:
- RDS MySQL 8.0高可用版本地盘实例(内核小版本20191015及以上)
- RDS MySQL 5.7高可用版本地盘实例(内核小版本20191015及以上)
- RDS MySQL 5.6
- RDS SQL Server 2019标准版或SQL Server企业版
- RDS PostgreSQL 10、11、12、13、14、15云盘实例(内核小版本20221030及以上)
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | ModifyDBInstanceTDE | 系统规定参数。取值:ModifyDBInstanceTDE。 |
| DBInstanceId | String | 是 | rm-uf6wjk5**** | 实例ID。可调用DescribeDBInstances获取。 |
| TDEStatus | String | 是 | Enabled | TDE状态,取值:
|
| DBName | String | 否 | testDB | 想要开启TDE的数据库名称,可以一次输入多个,以英文逗号(,)分隔,最多传入50个。 说明 此参数仅SQL Server 2019标准版和SQL Server企业版实例可用(必传)。 |
| EncryptionKey | String | 否 | 749c1df7-****-****-****-**** | 自定义密钥ID。 说明 仅MySQL或PostgreSQL实例可以传入此参数。 |
| RoleArn | String | 否 | acs:ram::1406926****:role/aliyunrdsinstanceencryptiondefaultrole | 角色的全局资源描述符,用来指定具体角色。详情请参见RAM角色概览。 说明 仅MySQL和PostgreSQL实例可以传入此参数。 |
| Certificate | String | 否 | oss-ap-southeast-1.aliyuncs.com:****:key.cer | 证书文件。 格式:
|
| PrivateKey | String | 否 | oss-ap-southeast-1.aliyuncs.com:****:key.pvk | 私钥文件。 格式:
|
| PassWord | String | 否 | 1qaz@WSX | 证书密码。 说明 此参数仅SQL Server 2019标准版和SQL Server企业版实例可用。 |
| IsRotate | Boolean | 否 | false | 是否更换密钥。 取值范围:
默认值:false 说明 当前仅RDS PostgreSQL实例适用。 |
返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RequestId | String | 777C4593-8053-427B-99E2-105593277CAB | 请求ID。 |
示例
请求示例
http(s)://rds.aliyuncs.com/?Action=ModifyDBInstanceTDE
&DBInstanceId=rm-uf6wjk5****
&TDEStatus=Enabled
&<公共请求参数>
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyDBInstanceTDEResponse>
<RequestId>777C4593-8053-427B-99E2-105593277CAB</RequestId>
</ModifyDBInstanceTDEResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"ModifyDBInstanceTDEResponse" : {
"RequestId" : "777C4593-8053-427B-99E2-105593277CAB"
}
}
错误码
| HttpCode | 错误码 | 错误信息 | 描述 |
|---|---|---|---|
| 400 | InvalidTDEstatus.Format | The Specified TDEStatus is not valid. | 无效的透明数据加密状态。 |
| 400 | Invalid.PrivateKey | The requested privateKey parameter is invalid. | 请求的私钥参数无效。 |
| 400 | Invalid.Certificate | The requested certificate parameter is invalid. | 请求的证书参数无效。 |
| 400 | CertOrPrivateKeyOrPasswordNotMatched | The public certificate, private key, and password do not match. | 证书私钥密码不匹配。 |
| 403 | IncorrectDBInstanceType | Current DB instance type does not support this operation. | 操作失败,该实例状态下不支持此操作。 |
| 403 | IncorrectEngineVersion | Current engine version does not support operations. | 操作失败,当前数据库版本不支持此操作。 |
| 403 | IncorrectDBInstanceLockMode | Current DB instance lock mode does not support this operation. | 操作失败,实例处于锁定状态。 |
| 403 | IncorrectDBInstanceState | Current DB instance state does not support this operation. | 操作失败,该实例状态下不支持此操作。 |
| 403 | DBSizeExceeded | Exceeding the allowed DB size of DB instance. | 数据库大小超超限制。 |
| 403 | IncorrectMinorVersion | Current engine minor version does not support operations. | 当前引擎小版本不支持此操作。 |
| 404 | InvalidDBName.NotFound | Specified one or more DB name does not exist or DB status does not support. | 操作失败,数据库实例名称不存在。 |
访问错误中心查看更多错误码。