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