内容安全支持以异步消息通知的方式向您发送机器内容识别和您自助审核的结果。若您的业务需要使用或集成相关数据,您需要配置回调通知。本文介绍了配置OSS违规检测回调通知的具体操作。

背景信息

说明 OSS违规检测和内容检测API均支持回调通知。关于内容检测API回调通知,请参见内容检测API回调通知
内容安全回调通知分为扫描结果回调通知和审核结果回调通知。
  • 扫描结果回调通知:内容安全完成检测请求后,服务端将机器识别的结果以POST请求的方式,发送到您设置的HTTP回调通知地址。
  • 审核结果回调通知:您通过自助审核(或调用反馈接口)修改机器识别的结果后,内容安全服务端将审核结果以POST请求的方式,发送到您设置的HTTP回调通知地址。

相关概念

在配置回调通知前,请了解下表中描述的相关概念。

名称 说明
回调地址 回调地址是您在内容安全控制台配置的服务端地址,通常是您自己的业务服务器的公网地址。回调地址需要满足以下要求:
  • 应为HTTP/HTTPS协议接口的公网可访问的URL。
  • 支持POST方法。
  • 支持传输数据编码采用UTF-8。
  • 支持数据接收格式为application/x-www-form-urlencoded
  • 支持表单参数checksumcontent
Seed Seed值用于校验发送到您设置的HTTP回调通知地址的请求是否来自内容安全服务端。
回调次数 您的服务端接收到内容安全推送的回调消息后,若返回的HTTP状态码为200,表示接收成功;若返回其他的HTTP状态码,均视为接收失败。若接收失败,内容安全服务端会重复推送回调消息,直至您接收成功。内容安全最多重复推送回调消息16次。
回调数据 回调数据是内容安全服务端向您设置的回调通知地址返回的数据内容。回调数据的结构描述见下表。
表 1. 回调通知表单数据
名称 类型 描述
checksum String <用户uid> + <seed> + <content>拼成字符串,通过SHA256算法生成。用户UID即阿里云账号ID,可以在阿里云控制台上查询。
说明 为防篡改,您可以在获取到推送结果时,按此算法生成字符串,与checksum做一次校验。
content String 字符串格式保存的JSON对象,请自行解析反转成JSON对象。关于content解析成JSON后的结构,请参见下文Content说明。
说明 在内容检测API和OSS违规检测中,content的参数结构不同。

扫描&审核结果回调通知

  1. 登录云盾内容安全控制台
  2. 前往设置 > OSS违规检测页面,并打开消息通知页签。
  3. OSS回调通知下,单击设置
    说明 如果您设置过回调地址,则此处显示查看,您可以单击查看
    oss违规检测,设置
  4. OSS回调通知设置侧边页,完成回调通知配置,并单击设置。回调通知配置的描述如下。
    配置项 说明
    回调地址 填入回调通知地址。
    生效模块 勾选要应用回调设置的功能模块,取值:
    • 增量扫描
    • 存量扫描
    开启审核回调 是否开启审核结果回调。
    开启扫描回调 是否开启扫描结果回调。
    扫描回调类型 开启扫描回调后,选择对哪些类型的扫描结果进行回调通知,取值:
    • 扫描结果违规
    • 扫描结果疑似
    • 扫描结果正常
    设置完成后,系统自动生成Seed。Seed值用于校验您的回调接口收到的请求来自阿里云。请保存自动生成的Seed,根据需要应用于您的业务。oss回调通知,设置,seed

Content说明

启用回调通知后,内容安全将按照回调配置发送OSS违规检测的回调通知。回调通知中包含content表单数据。下表描述了content表单字段的结构。

表 2. content表单字段结构描述
名称 类型 是否必须 说明
bucket 字符串 OSS bucket的名称。
object 字符串 OSS文件名。
stock 布尔 是否是存量对象,true表示是存量,false表示是增量。
region 字符串 OSS文件所在地域。
freezed 布尔 对象是否被冻结,true表示被冻结,false表示未被冻结。
scanResult JSON对象 扫描结果。根据检测对象(图片、视频)的不同,结构有差异。
auditResult JSON对象 自助审核结果。发生自助审核操作时才会有该字段。具体结构描述见表 3
说明 如果只推送扫描结果,则没有该字段。
表 3. auditResult
名称 类型 是否必须 说明
suggestion 字符串 自助审核的结果。取值:
  • block:审核时设置违规
  • pass:审核时设置正常
resourceStatus 整型 自助审核后,object的状态。取值:
  • 0:已删除
  • 1:已冻结
  • 2:可用可访问

content示例

{
    "bucket": "xxxxb",
    "freezed": false,
    "object": "xxx.jpg",
    "region": "cn-hangzhou",
    "scanResult": {
        "code": 200,
        "dataId": "5C919E2FBD6CD6940D4A8B46",
        "msg": "OK",
        "results": [
            {
                "label": "porn",
                "rate": 100.0,
                "scene": "porn",
                "suggestion": "block"
            },
            {
                "label": "normal",
                "rate": 99.6,
                "scene": "terrorism",
                "suggestion": "pass"
            }
        ],
        "taskId": "img1ZxzVQUuAz36scZEjyGXzx-1qpzhY"
    },
    "auditResult": {
        "resoureStatus": 2,
        "suggestion": "pass"
    },
    "stock": false
}