
目录一、基础定义二、四种企业常用方案对比三、Mermaid 时序图下载预览预签名URL上传STS前端直传互联网项目标配备选上传后端接收文件再上传OSS敏感文件备选读取后端代理转发高敏感文件四、核心重点 工程风险点五、常见误区澄清一、基础定义OSS对象存储服务以对象Object为单位存储二进制文件图片、PDF、视频、Excel、压缩包等不存储结构化业务数据用户信息、订单等放数据库。Object文件本体 objectKey文件在OSS内唯一路径标识配套设计数据库只保存文件元数据objectKey、文件名、上传人、大小等OSS只保存实体文件。核心安全原则永久AccessKeyAK只存放后端前端永远不能持有永久AK。二、四种企业常用方案对比方案读写角色流量路径适用场景优缺点预签名URL下载预览你们当前方案后端鉴权生成签名前端拉取文件前端 → OSS图片预览、附件下载不占用后端带宽单文件粒度授权链接泄露后有效期内可访问STS前端直传上传主流前端拿临时凭证前端上传文件前端 → OSS用户头像、普通附件上传大文件上传不压后端后端无法在上传前校验文件内容后端接收文件再上传OSS前端传文件给后端后端上传OSS前端→后端→OSS敏感文档、后台批量导入、需要前置文件校验文件可提前校验、杀毒占用后端带宽大文件易瓶颈后端代理转发读取前端请求后端后端拉取OSS文件流返回前端前端→后端→OSS高度涉密文件内部小系统完全隐藏OSS地址后端带宽压力大行业最通用组合上传使用STS前端直传下载预览使用预签名URL三、Mermaid 时序图下载预览预签名URL上传STS前端直传互联网项目标配备选上传后端接收文件再上传OSS敏感文件备选读取后端代理转发高敏感文件四、核心重点 工程风险点鉴权逻辑必须写在后端OSS本身不认识业务系统用户角色不能只依赖OSS签名做权限控制。必须由后端校验用户和文件的权限关系鉴权通过才生成签名。objectKey 存储规范 数据库持久化字段只存原始objectKey不要持久化预签名URL预签名URL是动态生成、带时效的临时地址。密钥安全永久AK只放在后端配置中心/环境变量禁止硬编码、禁止给到前端RAM子账号最小权限原则只授予对应Bucket的必要读写权限不要使用root账号AK。时效控制预签名URL预览下载一般设置 5~30分钟有效期不要设置长时间有效期STS临时凭证按需设置有效期限制可上传的OSS目录前缀缩小权限范围。可选加固方案 OSS防盗链Referer白名单、CDN加速访问、上传后异步内容审核。五、常见误区澄清objectKey 完整访问URL objectKey只是OSS内文件路径字符串URL带签名每次访问实时生成。前端自己拼接预签名URL 签名计算依赖永久AK只能后端SDK生成。OSS自带业务权限系统 OSS只识别RAM权限、签名业务权限A用户能不能看B的文件完全由业务后端实现。