视觉智能平台关于 Android端直接调用 ,文档中说:“在客户端直接接入有AccessKey ID和AccessKey Secret泄漏风险”,请问是否有提供 STS 临时令牌的机制?
如果不建议客户端直接接入,那么最佳实践是否就是客户端采集摄像头数据、全部操作都依赖于服务端调用 SDK 来实现么,比如检测人脸个数、1:1 人脸对比?
https://help.aliyun.com/zh/viapi/developer-reference/the-android-client-direct-call?spm=a2c4g.11186623.0.0.56705ba5tveJSS
关于视觉智能平台是否提供STS(Security Token Service)临时令牌的机制,以及如何在移动设备上安全地使用API,以下是一些基本的建议和实践:
安全性考虑:确实如文档所述,在客户端直接使用AccessKey ID和AccessKey Secret存在泄露风险。因此,不推荐在客户端应用程序中直接使用这些敏感信息。
STS临时令牌:阿里云提供STS临时令牌服务,允许用户创建短期、有限权限的访问凭证,以减少长期密钥泄露的风险。这是通过AWS IAM或类似的权限管理系统实现的。
最佳实践:为了确保安全性,建议通过服务器端代理来调用SDK。这意味着客户端应用程序不直接调用视觉智能平台的API,而是将需要处理的数据发送到服务器,由服务器端的应用程序使用有效的安全措施来调用API。
流程概述:
服务器端代理的优势:
综上所述,虽然文档链接中提到了直接在Android客户端调用API的情况,但为了安全起见,建议通过服务器端代理的方式来使用视觉智能平台的服务。这样既能利用平台的强大能力,又能确保应用程序的安全性。
关于视觉智能平台是否提供STS临时令牌的机制,以及如何安全地在客户端实现功能,以下是一些建议:
安全性考虑:在涉及敏感信息(如AccessKey ID和AccessKey Secret)的场景中,确实存在安全风险。不建议将密钥直接存储在客户端,以防止潜在的泄漏。
使用STS临时令牌:如果视觉智能平台支持STS(Security Token Service),则可以使用它来生成临时访问凭证。这样,即使凭证被泄漏,其有效期也是有限的,从而降低了风险。
服务端代理:为了确保安全,可以将客户端的请求发送到服务端,然后由服务端调用视觉智能平台的SDK。服务端可以负责处理所有的认证和敏感操作,而客户端只负责用户交互和数据采集。
最佳实践:虽然文档中提到了客户端直接调用的风险,但在某些场景下(例如实时性要求较高的应用),可能需要在客户端进行部分操作。在这种情况下,应确保采取适当的安全措施,如使用HTTPS通信、限制API调用频率等。
综上所述,为了确保安全,建议尽可能通过服务端进行API调用和处理敏感信息。如果需要在客户端直接调用,务必采取相应的安全措施,并仔细评估潜在的风险。
不支持STS 临时令牌的机制。客户端调用会有AccessKey ID和AccessKey Secret泄漏风险,是我们需要向客户说明的风险点,平台最佳推荐的是客户端采集信息,服务端处理。此回答整理自钉群“阿里云视觉智能开放平台咨询1群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。