亚马逊提供了一个适用于iOS的AWS开发工具包以及几个示例应用程序。在他们的示例中,他们将API凭据放入Constants.h
文件中:
// Constants used to represent your AWS Credentials.
#define ACCESS_KEY_ID @"CHANGE ME"
#define SECRET_KEY @"CHANGE ME"
我担心的是这些可以被坚定的黑客提取。有什么方法可以在应用中安全地包含API密钥?
我看到的一个选择是将自己的服务器作为中间设备:该应用程序与我的服务器对话,我的服务器与S3对话。我可以看到这样做的价值,但是仍然有一个问题:我是否允许该应用在服务器上进行API调用而无需任何身份验证?在应用程序中包含我自己的API密钥与包含AWS API密钥存在相同的问题。
有两个凭证管理选项可帮助您避免将凭证嵌入应用程序中。第一个是Web Identity Federation,它允许用户使用Facebook,Google或使用Amazon登录登录到您的应用程序。另一种选择是使用令牌自动售货机,这是一个服务器组件,可将临时凭据分发到您的应用程序。
在AWS移动开发博客上有一个高层次的概述以及相关文档和代码示例的指针:http : //mobile.awsblog.com/post/Tx3UKF4SV4V0LV3/Announcing-Web-Identity-Federation
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句