"Session-Security" 在 R-Shiny 和 AWS Fargate 中



我目前正在考虑部署我的RShiny应用程序的最佳方式。在尝试通过Shinyproxy, Docker和Nginx在专用服务器上托管我的应用程序后-但这个解决方案(惊喜!)不是真正可扩展的。每个用户的内存需求太高了。

我目前正在考虑通过AWS Fargate中的Docker映像托管该应用程序,其中RAM资源可根据需要伸缩。

我现在想知道安全性。

简短的背景:我的目标是将我的应用程序作为工具添加到在线商店。在这种情况下,多个用户可以同时使用该工具(希望如此)。重要的是用户不能混淆彼此的数据——这就是我想到ShinyProxy的原因,这样每个用户都可以获得他们"自己的R会话"。

现在我想知道这看起来像AWS Fargate。如果多个用户同时在工具中活动,可能会有相互干扰吗?

如果是这样,谁有什么办法来防止这种情况发生?不幸的是,据我所知,通过Fargate发布ShinyProxy是不可能的。

我希望我能清楚地表达我的问题,你们中有人能帮助我。

谢谢你,祝你有美好的一天!

简要背景:我的目标是将我的应用程序作为工具添加到在线商店。在这里,它可以并且将(希望)发生,一些用户将会这样做同时使用工具。重要的是用户不能搞砸这就是为什么我想到了ShinyProxy,所以每个用户都有"自己的R会话"。

可能取决于您的用例需要什么。实际上,Shiny在默认情况下没有用户管理-在某种意义上限制某些组对应用程序的访问并要求身份验证(可以通过托管Shinyapps来完成)。IO和其他)。

但是你可能真的不需要这个——你的问题听起来更像是一个范围界定问题。(你应该看看这方面的信息)

当然,可能只有一个R进程,但它实际上支持多个客户端连接(会话)。您可以定义这些会话共享的对象。这完全独立于应用程序的托管位置。

server.R文件中放入shinyServer()函数的所有内容仅在用户会话中可见。(每个用户都有自己的会话)

如果你需要在会话之间共享变量,你必须把它们放在server.R文件中,但是在shinyServer()函数之外。

最新更新