DsgDesensPlanAddOrUpdate - 新建或编辑数据脱敏规则

调用DsgDesensPlanAddOrUpdate接口新建或编辑数据脱敏规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
dataworks:DsgDesensPlanAddOrUpdatelist
*全部资源
*

请求参数

名称类型必填描述示例值
DesensRulesarray<object>

需要新增或编辑的脱敏规则集合。

object

脱敏规则信息。

Idinteger

脱敏规则 ID。您可调用 DsgDesensPlanQueryList 接口查询。

123
DataTypestring

敏感字段类型。

phone
RuleNamestring

脱敏规则名称。

phone_hash
Statusinteger

脱敏规则的生效状态。取值如下:

  • 0:失效。
  • 1:生效。
1
SceneIdsarray

二级脱敏场景。

integer

二级脱敏场景 ID。此处输入的二级脱敏场景需要未配置 DataType 参数指定的敏感字段类型脱敏规则。您可调用 DsgSceneQuerySceneListByName 查询脱敏场景 ID。

123
Ownerstring

脱敏规则的负责人。

test_user
CheckWatermarkboolean

是否添加水印。取值如下:

  • true:是
  • false:否
true
DesensPlanobject

脱敏规则。

DesensPlanTypestring

脱敏规则中配置的脱敏方式。取值如下:

  • 哈希:hash
  • 假名:mapping
  • 掩盖:mask
  • 字符替换:charreplacement
  • 区间变换:intervalselect
  • 取整:decimalpoint
  • 置空:emptydesens
hash
ExtParamobject

脱敏规则参数。

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 接口查询。

返回参数

名称类型描述示例值
object

OpenApiResultModel

Successboolean

调用是否成功。取值如下: true:调用成功。 false:调用失败。

true
ErrorCodestring

错误码。

1029030003
ErrorMessagestring

错误信息。

param error
HttpStatusCodeinteger

HTTP 状态码。

400
Databoolean

新增或编辑的执行结果。

true
RequestIdstring

请求的 ID。用于定位日志,排查问题。

102400001

示例

正常返回示例

JSON格式

{
  "Success": true,
  "ErrorCode": "1029030003",
  "ErrorMessage": "param error",
  "HttpStatusCode": 400,
  "Data": true,
  "RequestId": "102400001"
}

错误码

HTTP status code错误码错误信息描述
400PARAMS.ERRORparam error.参数错误。
400DESENSPLAN.DATATYPE.ERRORSensitive type already has a desensitization rule.敏感类型已经配置脱敏规则。
400DESENSPLAN.DATATYPENOTEXIST.ERRORSensitive type not exist.敏感类型不存在。
400DESENSPLAN.ID.ERRORDesensitization rule ID does not exist.脱敏规则ID不存在。
400DESENSPLAN.PAGESIZE.ERRORPage size is too large, maximum of 100.页大小超限,最大为100。
400DESENSPLAN.PARAM.ERRORDesensitization rule parameter error.脱敏规则参数错误。
400DESENSPLAN.SCENECODE.ERRORScene code does not exist.场景码不存在。
400DESENSPLAN.SCENEID.ERRORScene ID does not exist.场景ID不存在。
400DESENSPLAN.SCENEIDLEVEL.ERRORThe scene is not a secondary scene.场景不是二级场景。
400DESENSPLAN.SIZE.ERRORThe number of desens plan exceeds the limit.脱敏规则数量超限。
403PERMISSION.DENIED.ERRORPermission denied权限不足。
500UNKNOWN.ERRORunknown error.未知错误。

访问错误中心查看更多错误码。