我们如何保护Google默认凭据文件?

时间:2018-06-21 00:06:02

标签: google-bigquery azure-web-sites google-authentication

我们正在考虑使用Google BigQuery存储一些从ReactJS网络客户端发送的数据。

This BigQuery node.js client library guide说来创建服务帐户密钥,将文件放置在Web服务器上,然后设置GOOGLE_APPLICATION_CREDENTIALS变量,该变量指向文件的位置。

现在,如果文件在Web服务器上:

  1. 是什么阻止某人将文件下载到Web服务器上,将其放在自己的服务器上并执行相同的代码?
  2. 这如何安全?我可以以某种方式将源锁定在我的域中吗,还是这里的最佳做法是什么?

Web服务器位于Azure App Service上,理想情况下,我想锁定对应用程序服务器本身(例如,在此处运行的代码)或JS代码(即通过CORS的源)的访问。

  1. 我的猜测是这里的意图是将密钥文件放置在Web服务器的外部,因此它不能直接由它提供服务吗?
  2. 这对于我无法执行的PaaS解决方案(如Azure App Service)如何起作用?

谢谢

1 个答案:

答案 0 :(得分:0)

有很多方法可以保护服务器,并且所使用的Microsoft服务器将具有自己的特定保护。我可以详细介绍更一般的。

对于HTTP / HTTPS 请求,通常只能通过端口80/8080访问Web服务器。此请求生成包含HTML和您公开的所有其他内容的答案。

存储在服务器中的服务非管理员可用的所有信息均受encapsulation方法的保护。尽管位于同一服务器上,但无法远程访问它。您可以想到一栋有几层楼和公寓的建筑。您只有其中一个的密钥,因此您无法输入其他密钥。回答问题3:不,您应该将信息存储在同一服务器中。

关于问题4,我在使用Google Cloud Platform。我不知道Microsoft如何管理安全性,但是您可以阅读this documentation to have a first approach into Google Cloud Platform security。这与网络安全性无关,而是使用客户端库满足BigQuery需求的人员。

如果您有兴趣:

  1. 信息必须在服务器和用户之间移动。阅读here的工作原理。
  2. 有很多安全模型。您可以找到here关于它们的有趣读物(带有漂亮的图表)。