Mat*_*att 5 google-cloud-platform google-cloud-billing google-cloud-run
我创建了一个简单的 Google Cloud Run 帮助程序(不处理任何个人数据,也不使用任何存储设施),并在网站内为其实现了一个公共界面(使用 HTML 请求)。我不打算添加任何用户身份验证,并且我还开源了 Cloud Run 容器中的代码。
我是否应该采取任何进一步的措施来保护容器免受恶意用户的侵害?有人可能会因为请求而使应用程序超载,从而超出容器的免费调用限制(导致我自己被计费)吗?我主要只是想确保我永远不会为 Cloud Run 应用程序付费,因为它只是充当有限数量用户的小型帮助工具。
谢谢。
我是否应该采取任何进一步的措施来保护容器免受恶意用户的侵害?
始终,保护您的应用程序和服务免受恶意用户的侵害始终是必须的。正如 约翰·汉利(John Hanley)很好地指出的那样,如果您不使用任何类型的身份验证,那么与实施某种身份验证相比,您就会为更多的恶意攻击/用户敞开一扇门。
正如他提到的,如果您启用了,那么allow-unauthenticated您基本上就向公众开放了 Cloud Run 服务。这并不完全是坏事,但它是恶意用户攻击您的服务的另一种方式。
您可以在此处找到有关未经身份验证的访问的更多信息。
如果可以的话,我强烈建议您始终对您的 Cloud Run 服务进行身份验证。如Cloud Run 的身份验证概述中所述:
默认情况下,所有 Cloud Run 服务都是私有部署的,这意味着如果不在请求中提供身份验证凭据,则无法访问它们。
此外,默认情况下,服务只能由项目所有者、编辑者以及Cloud Run 管理员和开发人员调用。
要对 Cloud Run 服务中的最终用户进行身份验证,您可以参考提供的文档,但总而言之:
大多数应用程序处理来自最终用户的请求,最佳实践是将访问权限限制为仅允许的最终用户。为了实现此目的,您可以集成 Google Sign-In 并向用户授予 Roles/run.invoker IAM 角色,或者实施 Firebase 身份验证并手动验证其凭据。
请注意,Cloud Run 不协助在容器实例之间共享会话,因此无法保证与特定容器实例的会话关联性。
此外,您还可以在此处找到有关 Cloud Run 安全提示的更多信息,这些信息可以帮助您提高 Cloud Run 服务的安全性。
最后,正如Kolban所说,您还可以使用Cloud Endpoints来限制每分钟请求的数量和数量,如下所示。这将确保您不会被收取比您想要的更多的费用。
您将找到可与 Cloud Run 一起使用的其他服务的完整列表,不仅可以改善最终用户体验,还可以提高安全性。
我希望它有帮助。
| 归档时间: |
|
| 查看次数: |
3315 次 |
| 最近记录: |