开发者社区 问答 正文

请问OSS在APP/WEB应用推荐STS和签名带Policy的差别?

Web端直传推荐通过POST携带Policy参数做签名,为什么不使用移动应用端推荐的STS方案,两者有什么差别,以及如何推荐使用,谢谢

app使用sts:
https://help.aliyun.com/document_detail/31920.html?spm=5176.doc31947.6.626.1l8SNX

web直传使用policy自签名:
https://help.aliyun.com/document_detail/31923.html?spm=5176.doc31947.6.630.2k9L3I

展开
收起
shawn_xiao 2017-10-12 11:19:47 5355 分享 版权
阿里云 AI 助理回答

在阿里云的OSS(对象存储服务)中,Web端直传和移动应用端上传数据时采用不同的安全策略主要是出于安全性和应用场景的考虑。

移动应用端推荐使用STS(Security Token Service)

原因:

  1. 安全性更高:STS提供临时、有限权限的访问凭证,这些凭证具有有效期,过期后自动失效,可以有效降低长期密钥泄露的风险。
  2. 细粒度权限控制:STS允许为每个请求生成具有特定权限的凭证,比如只读、写入特定Bucket等,这样可以更精细地控制客户端的访问权限。
  3. 适合移动环境:移动应用的环境相对开放,设备可能丢失或被恶意软件攻击,STS机制可以减少因设备安全问题导致的数据泄露风险。

使用场景:适用于需要从移动应用直接上传文件到OSS的情况,尤其是当应用需要频繁上传且对安全性要求较高时。

Web端直传推荐使用Policy参数签名

原因:

  1. 简化前端操作:Web端直传通常在用户的浏览器环境中进行,使用Policy参数签名可以在服务器端生成签名策略后,直接由前端携带该策略发起上传请求,减少了与服务器的交互次数,提高了用户体验。
  2. 适合一次性上传:Policy签名通常用于一次性上传操作,对于Web端用户上传文件到OSS的场景较为适用,因为它可以在用户的一次会话中完成上传任务,而无需持续维护复杂的认证状态。
  3. 实施简便:相比STS,直接使用Policy参数在前端实现上更为简单,不需要额外的STS服务调用逻辑。

使用场景:适用于Web页面让用户直接上传文件到OSS的场景,特别是那些不涉及复杂权限管理,且上传操作相对独立的情况。

如何推荐使用

  • 对于移动应用,由于其环境的特殊性和对安全性的高要求,推荐使用STS方案。这不仅能够提供动态的、细粒度的权限控制,还能有效降低密钥泄露的风险。
  • 对于Web端直传,如果上传操作相对简单,且主要关注用户体验,可以采用Policy参数签名的方式。这种方式简化了前端的实现复杂度,同时也能满足基本的安全需求。

总之,选择哪种方式取决于具体的应用场景、安全需求以及对用户体验的考量。在实际应用中,可以根据项目的具体需求来决定采用最适合的方案。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答