睿治
当前版本:2.7.2

安全服务接口

对数据库类元数据设置脱敏或加密后,可以使用系统提供的脱敏接口和加密接口对数据进行脱敏或加密。系统提供的数据安全接口有:

内部请求异常时,数据安全在接口的响应结果中的data字段内部携带了code字段,和message字段配合用于具体说明响应结果信息,详细说明如下。

请求响应正常的返回格式:

{

    "status":200,

    "data":{

        ......

    }

}


请求响应内部异常的返回格式:

{

    "status":500,

    "message":"参数不合法",

    "error":"xxx",

    "errCode":"...."

}

获取表的脱敏设置:获取安全数据源下某个表/视图的脱敏字段设置

  • 请求地址

/edatasecurity/api/gettablemaskoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。这个值在设置脱敏字段的时候由具体的安全数据源实现的获取表/视图的接口,譬如对元数据来说,就是Schema.表名


  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/gettablemaskoption?secsystemid=z_tag&datasetid=ZZ.ABI11_BOOK_TYPE

返回结果

{

    "status":200,

    "data":[

            {

                "fieldname":"CID_", // 字段名

                "maskoption":{

                    "rulename":"SYSALG_000",    // 脱敏规则英文

                    "rulecaption":"全部替换为*", // 规则中文描述

                    "filter":"ADMIN",   // 脱敏条件

                    "filtertype":"role" // 脱敏条件类型

                }

            },{

                "fieldname":"TID_",

                "maskoption":{

                    "rulename":"SYSALG_006",

                    "rulecaption":"中间4位替换为*",

                    "filter":"ADMIN",

                    "filtertype":"role"

                }

            },{

                "fieldname":"TNAME_",

                "maskoption":{

                    "rulename":"SYSALG_001",

                    "rulecaption":"仅保留第一个字",

                    "filter":"ALLUSER",

                    "filtertype":"role"

                }

            }

        ]

}

获取字段的脱敏设置:获取安全数据源下表的某个字段的脱敏设置

  • 请求地址

/edatasecurity/api/getfieldmaskoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。

field

字符串

字段名

  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/getfieldmaskoption?secsystemid=z_tag&datasetid=ZZ.ABI11_BOOK_TYPE&field=CID_

返回结果,

{

    "status":200,

    "data":{

            "fieldname":"CID_", // 字段名

            "maskoption":{

                "rulename":"SYSALG_000",    // 脱敏规则英文

                "rulecaption":"全部替换为*", // 规则中文描述

                "filter":"ADMIN",   // 脱敏条件

                "filtertype":"role" // 脱敏条件类型

            }

    }

}

获取表的加密设置:获取安全数据源下某个表/视图的加密字段设置

  • 请求地址

/edatasecurity/api/gettableencryptoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。

  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/gettableencryptoption?secsystemid=z_tag&datasetid=ZZ.ABI11_BOOK_TYPE

返回结果,

{

    "status":200,

    "data":[

            {

                "fieldname":"CID_", // 字段名

                "encryptoption":{

                    "method":"SM4", // 加密算法

                    "filter":"ADMIN",   // 加密条件

                    "filtertype":"role" // 加密条件类型

                }

            },{

                "fieldname":"TID_",

                "encryptoption":{

                    "method":"AES-256",

                    "filter":"ALLUSER",

                    "filtertype":"role"

                }

            },{

                "fieldname":"TNAME_",

                "encryptoption":{

                    "method":"RC5",

                    "filter":"$OTHER_ROLE",

                    "filtertype":"role"

                }

            }

        ]

}

获取字段的加密设置:获取安全数据源下表的某个字段的加密设置

  • 请求地址

/edatasecurity/api/getfieldencryptoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。

field

字符串

字段名

  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/getfieldencryptoption?secsystemid=z_tag&datasetid=ZZ.ABI11_BOOK_TYPE&field=TID_

返回结果,

{

    "status":200,

    "data":{

            "fieldname":"TID_", // 字段名

            "encryptoption":{

                "method":"AES-256", // 加密算法

                "filter":"ALLUSER", // 加密条件

                "filtertype":"role" // 加密条件类型

            }

        }

}

获取表的混合设置接口:获取安全数据源下某个表/视图的加密和脱敏设置

  • 请求地址

/edatasecurity/api/gettablemixoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。

  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/gettablemixoption?secsystemid=zz_tag&datasetid=ZZ.ABI11_BOOK_CATEGORY

返回结果,

{

    "status":200,

    "data":[

            {

                "fieldname":"CID_", // 字段名

                "maskoption":{    // 脱敏设置

                    "rulename":"SYSALG_000",    // 脱敏规则英文

                    "rulecaption":"全部替换为*", // 规则中文描述

                    "filter":"ADMIN",   // 脱敏条件

                    "filtertype":"role" // 脱敏条件类型

                }

            },{

                "fieldname":"CID_", // 字段名

                "encryptoption":{ // 加密设置

                    "method":"SM4", // 加密算法

                    "filter":"ADMIN",   // 加密条件

                    "filtertype":"role" // 加密条件类型

                }

            }

        ]

}

获取字段的混合设置接口:获取安全数据源下表的某个字段的加密和脱敏设置

  • 请求地址

/edatasecurity/api/getfieldmixoption

  • 请求方法

GET

  • 请求参数

参数名

参数类型

必填项

默认值

说明

secsystemid

字符串

安全数据源的地方配置的安全数据源唯一标识

datasetid

字符串

表的id,是表/视图在secsystemid中的唯一名称。

field

字符串

字段名

  • 返回结果

请求地址示例,

GET http://localhost:8080/edatasecurity/api/getfieldmixoption?secsystemid=z_tag&datasetid=ZZ.ABI11_BOOK_TYPE&field=TID_

返回结果,

{

    "status":200,

    "data":[

            {

                "fieldname":"TID_", // 字段名

                "encryptoption":{ // 加密设置

                    "method":"AES-256", // 加密算法

                    "filter":"ALLUSER", // 加密条件

                    "filtertype":"role" // 加密条件类型

                }

            },{

                "fieldname":"TID_", // 字段名

                "maskoption":{    // 脱敏设置

                    "rulename":"SYSALG_006",    // 脱敏规则英文

                    "rulecaption":"中间4位替换为*",   // 规则中文描述

                    "filter":"ADMIN",   // 脱敏条件

                    "filtertype":"role" // 脱敏条件类型

                }

            }

        ]

}

数据加密接口:数据加密

  • 请求地址

/edatasecurity/api/encryptdata

  • 请求方法

POST

  • 请求体

请求体采用JSON格式。格式说明如下,

{

    "secsystemid":{secsystemid},  // 安全数据源唯一标识

    "datasetid":{datasetid},  // 表的id,是表/视图在secsystemid中的唯一名称

    "data":'[{{field}:{content}}]'  //待加密的数组字符串

}

  • 返回结果

请求地址示例,

POST http://localhost:8080/edatasecurity/api/encryptdata

请求体示例,

EUI.ajax({

    url: EUI.getContextPath() + "edatasecurity/encryptdata.do",

    type: "post",

    data: {

        "loginid": "admin",

        "secsystemid": "yangshi_data",

        "datasetid": "YANGGW_YANSHI.TABLE2",

        "data": '[{"EMAIL_": "11111111@qq.com","CHINESENAME_": "张明"}]'

    }

})

返回结果,

{

    "status": 200,

    "msg": "接口调用正常!",

    "data": {

        "loginid": "admin",

        "secsystemid": "yangshi_data",

        "datasetid": "YANGGW_YANSHI.TABLE2",

        "resultid": "2c2914bacea54a698663288db9839f7a",

        "timestamp": 1650273748763,

        "costtime": 13,

        "data": [

            {

                "EMAIL_": "aa5868c453b18c0041db9f76476e35af",

                "CHINESENAME_": "张明"

            }

        ]

    }

}

数据解密接口:数据解密

  • 请求地址

/edatasecurity/api/decryptdata

  • 请求方法

POST

  • 请求体

请求体采用JSON格式。格式说明如下,

{

    "secsystemid":{secsystemid},  // 安全数据源唯一标识

    "datasetid":{datasetid},  // 表的id,是表/视图在secsystemid中的唯一名称

    "resultid":{resultid},    // 对这条数进行加密时返回的resultid

    "data":'[{"field":"content"}]'  //加密的数据

}

  • 返回结果

请求地址示例,

POST http://localhost:8080/edatasecurity/api/decryptdata

请求体示例,

{

    "secsystemid":"z_tag",  // 安全数据源唯一标识

    "datasetid":"ZZ.ABI11_BOOK_TYPE",   // 表的id,是表/视图在secsystemid中的唯一名称

    "resultid":"5d9e5eb090be4bf58181d297645ef5e4",  // 对这条数进行加密时返回的resultid

    "data":'[{"CID_":"235c6116c4813756ba15856ec2063996","TNAME_":"70539620e234f724afa51501d0e5d821"}]'  //加密的数据

}

返回结果,

{

    "status":200,

    "data":{

        "loginid":"admin",  // 传入的loginid

        "secsystemid":"z_tag",  // 传入的安全数据源唯一标识

        "datasetid":"ZZ.ABI11_BOOK_TYPE",   // 传入的datasetid

        "timestamp":1631694045423,    // 执行解密时的时间戳

        "costtime":65,    // 执行解密耗费的时间

        "data":[{ // 解密以后的数据

            "CID_":"008",

            "TNAME_":"测试数据"

        }]

    }

}

数据脱敏接口:数据脱敏

  • 请求地址

/edatasecurity/api/maskdata

  • 请求方法

POST

  • 请求体

请求体采用JSON格式。格式说明如下,

{

    "loginid":{loginid},  // 当前调用数据脱敏接口的人,根据其身份判断是否满足脱敏条件决定是否需要脱敏

    "secsystemid":{secsystemid},  //  安全数据源唯一标识

    "datasetid":{datasetid},  // 表的id,是表/视图在secsystemid中的唯一名称

    "data":'[{"field":"content"}]'   // 待脱敏数据数组

}

  • 返回结果

请求地址示例,

POST http://localhost:8080/edatasecurity/api/maskdata

请求体示例,

{

    "loginid":"admin",  // 当前调用数据加密接口的人,用于记录日志

    "secsystemid":"z_tag",  // 安全数据源唯一标识

    "datasetid":"ZZ.ABI11_BOOK_TYPE",   // 表的id,是表/视图在secsystemid中的唯一名称

    "data":'[{"CID_":"008","TNAME_":"新类书籍"}]'  //待脱敏的数据

}

返回结果,

{

    "status":200,

    "data":{

        "loginid":"admin",  // 传入的loginid

        "secsystemid":"z_tag",  // 传入的安全数据源唯一标识

        "datasetid":"ZZ.ABI11_BOOK_TYPE",   // 传入的datasetid

        "timestamp":1631695032106,    // 执行加密时的时间戳

        "costtime":12,    // 执行加密耗费的时间

        "data":[{ // 数据脱敏以后的数据

            "CID_":"***",

            "TNAME_":"新***"

        }]

    }

}

 

附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇新建数据源

下一篇了解主题域&主题集&维表&主题表

请先登录