用阿里云内容安全处理OSS的违禁图片

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 原文档,https://help.aliyun.com/document_detail/2400149.html 基于官方的文档做的一些拓展
  1. 1、登录函数计算控制台,选择服务地域,创建服务和函数。具体操作,请参见管理服务管理函数。创建函数时,选择使用内置运行时创建的方式,核心字段配置如下:
  • 基本设置区域,选择请求处理程序类型处理事件请求
  • 函数代码区域,根据实际业务选择运行环境,设置代码上传方式使用示例代码方式,并选择对象存储OSS触发函数
  • 触发器配置区域,选择触发器类型对象存储OSS,指定Bucket名称osstest-20文件前缀img文件后缀png触发事件选择oss:ObjectCreated:PutObjectoss:ObjectCreated:PostObject事件,角色名称AliyunOSSEventNotificationRole
    首次创建函数时,您可以根据页面提示授予事件源访问函数计算权限。更多内容,请参见授予事件源访问函数计算的权限
    关于OSS触发器事件的详细信息,请参见OSS触发器概述

2、通过函数调用内容安全图片审核增强版服务。


官方提供了一种通过函数计算来触发内容安全增量扫描的方案,但是该方案没有处理文件的示例,业务方的需求是把检测到的违规文件直接禁止公共读,需要置为PRIVATE权限,加完处理后的示例代码如下:

# -*- coding: utf-8 -*-importjson, uuidimportconfigparserfromaliyunsdkcore.clientimportAcsClientfromaliyunsdkcore.requestimportCommonRequestimportoss2# 需要自行根据检测内容确定好bucket路径及object名称defoss_acl_private(bucket_name, object_name):
auth=oss2.Auth("accessKeyId", "accessSecret")
bucket=oss2.Bucket(auth, 'https://oss-cn-shanghai.aliyuncs.com', bucket_name)
# yourObjectName填写Object完整路径,完整路径中不能包含Bucket名称。bucket.put_object_acl(object_name, oss2.OBJECT_ACL_PRIVATE)
defhandler(event, context):
config=configparser.ConfigParser()
config.read("config.ini", encoding="GB18030")
# AccessKey ID和AccessKey Secret写入的配置文件。evt=json.loads(event)
evt=evt['events'][0]
bucket_name=evt['oss']['bucket']['name']
object_name=evt['oss']['object']['key']
ossRegionId=evt['region']
client=AcsClient(config.get("config", "accessKeyId"), config.get("config", "accessSecret"), 'cn-shanghai')
request=CommonRequest()
request.set_read_timeout(6000)  # 读超时时间配置request.set_connect_timeout(3000)  # 连接超时时间配置request.set_accept_format('json')
request.set_method('POST')
request.set_protocol_type('https')  # https | httprequest.set_domain('green-cip.cn-shanghai.aliyuncs.com')
request.set_version('2022-03-02')
request.set_action_name('ImageModeration')
request.add_query_param("Service", "baselineCheck")
request.add_query_param("ServiceParameters",
                            {
# 'imageUrl': 'https://www.aliyun.com/1.jpg','dataId': str(uuid.uuid4()),
'ossObjectName': object_name,
'ossRegionId': ossRegionId,
'ossBucketName': bucket_name,
                            })
response=client.do_action_with_exception(request)
# print(str(response, encoding='utf-8'))response_json=json.loads(response)
ifresponse_json.get("Code") ==200:
foriteminresponse_json.get("Data", {}).get("Result", []):
print('item', item)
ifitem["Label"] =="nonLabel":
print("nonLabel 无命中标签")
elif"pornographic"initem["Label"] andint(item["Confidence"]) >80:
print("疑似含有色情内容")
# oss_acl_private(bucket_name, object_name)elif"political"initem["Label"] andint(item["Confidence"]) >80:
print("疑似含有涉政内容")
# oss_acl_private(bucket_name, object_name)elif"violent"initem["Label"] andint(item["Confidence"]) >80:
print("疑似含有暴恐内容")
# oss_acl_private(bucket_name, object_name)elif"fraud"initem["Label"] andint(item["Confidence"]) >80:
print("疑似含有风险内容")
else:
print("请求失败,错误码:", response_json.get("Code"))


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
1月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之生成的图片的oss地址配成自定义的域名如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
|
1月前
|
消息中间件 存储 安全
对象存储OSS产品常见问题之使用中上传图片慢如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
166 0
|
1月前
|
存储 API 对象存储
对象存储OSS产品常见问题之图片无法加载排查如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
123 0
|
1月前
|
存储 弹性计算 网络安全
对象存储OSS产品常见问题之图片无法在网页显示如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。对象存储OSS产品常见问题之
336 0
|
1月前
|
存储 网络协议 网络安全
对象存储oss使用问题之私有图片url在服务器中无法直接打开如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
238 0
|
1月前
|
域名解析 应用服务中间件 对象存储
解决阿里云oss图片浏览器访问直接下载而不是打开
解决阿里云oss图片浏览器访问直接下载而不是打开
1022 0
|
9月前
|
监控 安全 API
02-业务安全-ACA-01-内容安全
02-业务安全-ACA-01-内容安全
96 0
|
文字识别 算法 安全
《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.3 社交安全——3.3.1 社交内容安全(上)
《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.3 社交安全——3.3.1 社交内容安全(上)
416 0
|
安全 对象存储 黑灰产治理
《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.3 社交安全——3.3.1 社交内容安全(下)
《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.3 社交安全——3.3.1 社交内容安全(下)
318 0
|
机器学习/深度学习 自然语言处理 安全
《阿里云云通信短信服务安全白皮书》——安全架构——七、 内容安全
《阿里云云通信短信服务安全白皮书》——安全架构——七、 内容安全
182 0

热门文章

最新文章

相关产品

  • 对象存储