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

相关概念

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

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

设置消息通知

  1. 登录内容安全控制台
  2. 在左侧导航栏,选择OSS违规检测 > 设置
  3. OSS违规检测页面,单击消息通知
  4. 消息通知页签,单击新增通知
  5. 新增通知对话框,完成回调通知配置,并单击确定
    回调通知配置的描述如下。
    配置项说明
    方案名称设置方案的名称。必须在12个字符以内,包含中英文、下划线和数字。
    回调地址填入回调通知地址。
    加密算法设置对回调通知内容进行加密的算法。内容安全会将返回结果(由用户uid + seed + content拼接的字符串)按照您设置的加密算法加密后,再发送到您的回调通知地址。加密算法分为以下两类:
    • SHA256(默认):使用HMAC-SHA256加密算法。
    • 国密SM3:使用国密SM3加密算法,返回十六进制的字符串,且字符串由小写字母和数字组成。

      例如,回调通知abc经国密SM3加密后返回66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0

    通知类型开启扫描回调后,选择对哪些类型的扫描结果进行回调通知。支持多选,通知类型分为以下两种:
    • 机器审核结果
    • 自助审核结果
    审核结果开启扫描回调后,选择对哪些类型的审核结果进行回调通知。支持多选,审核结果分为以下三种:
    • 确定违规
    • 疑似违规
    • 正常
    设置完成后,系统自动生成Seed。Seed值用于校验您的回调接口收到的请求来自阿里云。请保存自动生成的Seed,根据需要应用于您的业务。

content表单字段结构说明

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

表 2. content表单字段结构说明
名称类型是否必选说明
bucketStringOSS Bucket的名称。
objectStringOSS文件名。
stockBoolean是否是存量内容,取值:
  • true:表示是存量内容。
  • false:表示是增量内容。
regionStringOSS文件所在地域。
freezedBoolean内容是否被冻结(禁止通过公网访问这些内容),取值:
  • true:表示被冻结。
  • false:表示未被冻结。
scanResultJSONObject扫描结果。根据检测对象(图片、视频)的不同,结构有差异。
  • 针对图片对象,结构与图片检测中的results的返回参数相同。具体信息,请参见图片同步检测
  • 针对视频对象,结构与视频异步检测中的results的返回参数相同。具体信息,请参见视频异步检测
auditResultJSONObject自助审核结果,执行自助审核操作时才会有该字段。具体结构描述,请参见auditResult
说明 当您选择通知类型为自助审核结果,才出现该字段。
表 3. auditResult
名称类型是否必选说明
suggestionString自助审核的结果。取值:
  • block:审核时设置违规
  • pass:审核时设置正常
resoureStatusInteger自助审核后,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
}

后续步骤

完成配置消息通知后,您就可以使用OSS违规检测的存量扫描和增量扫描功能。详细信息,请参见设置增量扫描任务创建存量扫描任务

如果希望检测结果更贴合实际业务,您可以使用自定义图库针对性地拦截、放行、自助审核的图片,应对突发的管控需求。详细信息,请参见配置风险库