调用DsgDesensPlanAddOrUpdate接口新建或编辑数据脱敏规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | DsgDesensPlanAddOrUpdate | 系统规定参数。取值:DsgDesensPlanAddOrUpdate。 |
DesensRules | Array | 是 | 需要新增或编辑的脱敏规则集合。 |
|
Id | Integer | 否 | 123 | 脱敏规则ID。您可调用DsgDesensPlanQueryList接口查询。 |
DataType | String | 是 | phone | 敏感字段类型。 |
RuleName | String | 是 | phone_hash | 脱敏规则名称。 |
Status | Integer | 否 | 1 | 脱敏规则的生效状态。取值如下:
|
SceneIds | Array of Integer | 是 | 123 | 二级脱敏场景ID。此处输入的二级脱敏场景需要未配置DataType参数指定的敏感字段类型脱敏规则。您可调用DsgSceneQuerySceneListByName查询脱敏场景ID。 |
Owner | String | 是 | test_user | 脱敏规则的负责人。 |
CheckWatermark | Boolean | 否 | true | 是否添加水印。取值如下:
|
DesensPlan | Object | 是 | 脱敏规则。 |
|
DesensPlanType | String | 是 | hash | 脱敏规则中配置的脱敏方式。取值如下:
|
ExtParam | Map | 否 | { "algo": "MD5", "salt":6 } | 脱敏规则参数。 |
Any | 否 | { "algo": "MD5", "salt":6 } | 脱敏规则参数配置,根据您要配置的脱敏规则添加不同参数,具体内容请参见下文示例。 |
ExtParam为动态参数,对于不同脱敏规则配置不同,参考示例如下:
哈希:
{
"algo": "MD5",
"salt": 6
}
假名:
{
"charset": "Aa",
"salt": 6
}
掩盖:
{
"before": 3,
"after": 4
}
自定义掩盖:
{
"separatorList": [
{
"desens": true,
"left": 3
},
{
"desens": false,
"left": 6
},
{
"desens": true,
"left": -99
}
]
}
样本值字符替换:
{
"library": "test_library",
"position": 3
}
固定值字符替换:
{
"replace": "repData",
"position": 3
}
随机字符替换:
{
"replace": "repData"
}
自定义字符替换:
{
"separatorList": [
{
"desensParam": {
"replace": "repData"
},
"left": 3
},
{
"desensParam": {
"library": "test_library"
},
"left": 6
},
{
"desensParam": {
},
"left": 99
}
]
}
区间变换:
{
"intervalselects": [
{
"desens": "1",
"interval": [
"1",
"100"
]
}
]
}
取整:
{
"point":3
}
置空:
{}
具体支持的脱敏方式及相关规则,可参考DsgQueryDefaultTemplates接口查询。
返回数据
名称 |
类型 |
示例值 |
描述 |
Success | Boolean | true | 调用是否成功。取值如下: true:调用成功。 false:调用失败。 |
ErrorCode | String | 1029030003 | 错误码。 |
ErrorMessage | String | param error | 错误信息。 |
HttpStatusCode | Integer | 400 | HTTP状态码。 |
Data | Boolean | true | 新增或编辑的执行结果。 |
RequestId | String | 102400001 | 请求的ID。用于定位日志,排查问题。 |
示例
请求示例
http(s)://[Endpoint]/?Action=DsgDesensPlanAddOrUpdate
&DesensRules=[{"id":123,"DataType":"phone","RuleName":"phone_hash","Status":1,"SceneIds":[123],"Owner":"test_user","CheckWatermark":true,"DesensPlan":{"DesensPlanType":"hash","ExtParam":{"key":"{ \"algo\": \"MD5\", \"salt\":6 }"}}}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<DsgDesensPlanAddOrUpdateResponse>
<Success>true</Success>
<ErrorCode>1029030003</ErrorCode>
<ErrorMessage>param error</ErrorMessage>
<HttpStatusCode>400</HttpStatusCode>
<Data>true</Data>
<RequestId>102400001</RequestId>
</DsgDesensPlanAddOrUpdateResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Success" : true,
"ErrorCode" : "1029030003",
"ErrorMessage" : "param error",
"HttpStatusCode" : 400,
"Data" : true,
"RequestId" : "102400001"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | PARAMS.ERROR | param error. | 参数错误。 |
400 | DESENSPLAN.DATATYPE.ERROR | Sensitive type already has a desensitization rule. | 敏感类型已经配置脱敏规则。 |
400 | DESENSPLAN.DATATYPENOTEXIST.ERROR | Sensitive type not exist. | 敏感类型不存在。 |
400 | DESENSPLAN.ID.ERROR | Desensitization rule ID does not exist. | 脱敏规则ID不存在。 |
400 | DESENSPLAN.PAGESIZE.ERROR | Page size is too large, maximum of 100. | 页大小超限,最大为100。 |
400 | DESENSPLAN.PARAM.ERROR | Desensitization rule parameter error. | 欧敏规则参数错误。 |
400 | DESENSPLAN.SCENECODE.ERROR | Scene code does not exist. | 场景码不存在。 |
400 | DESENSPLAN.SCENEID.ERROR | Scene ID does not exist. | 场景ID不存在。 |
400 | DESENSPLAN.SCENEIDLEVEL.ERROR | The scene is not a secondary scene. | 场景不是二级场景。 |
400 | DESENSPLAN.SIZE.ERROR | The number of desens plan exceeds the limit. | 脱敏规则数量超限。 |
403 | PERMISSION.DENIED.ERROR | Permission denied | 权限不足。 |
500 | UNKNOWN.ERROR | unknown error. | 未知错误。 |
访问错误中心查看更多错误码。