我们如何在网络浏览器中使用AWS Kinesis?
我对AWS Kinesis Stream感兴趣并想知道我是否可以使用它来发送用户'活动直接从浏览器记录到AWS。
AWS提供可在网络浏览器中执行的a JavaScript SDK,但根据其文档,SDK需要凭据信息,因此,我认为,在我的用例中使用它是不安全的
我应该在他们的浏览器和AWS Kinesis之间放置代理服务器吗? 或者在这种情况下是否有使用AWS Kinesis的安全方法?
答案 0 :(得分:9)
您可以直接从用户的浏览器中使用JS SDK,而无需在代码中嵌入凭据或强制用户登录服务:
第一个是使用AWS Cognito。您可以在JS代码中嵌入几行代码,以识别您要使用的标识池。在服务端,您可以定义未经身份验证的用户可以写入Kinesis的角色。您可以在此博客文章中查看更多详细信息:https://blogs.aws.amazon.com/javascript/post/Tx1F7FO6GDAIXD3/Authentication-with-Amazon-Cognito-in-the-Browser
第二个选项是在您的用户和Kinesis流之间添加API-Gateway。网关是一种托管服务,您可以将其定义为" open"没有身份验证,网关可以是具有写入Kinesis流的权限的网关。最简单的方法是使用Lambda函数,该函数在将事件放入流之前也能够转换/清除事件。请参阅服务文档中的更多详细信息:http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html