gpt4 book ai didi

javascript - 如何从 Javascript 安全地调用 Google Cloud Run 服务?

转载 作者:行者123 更新时间:2023-12-05 05:03:10 24 4
gpt4 key购买 nike

我们计划为我们的项目构建一个 Web 客户端 (Angular)。我们的后端将是很多谷歌云运行服务。我们怎样才能确保这些服务只能被这个 web 应用程序调用呢?我知道有服务帐户,我可以使用它来限制对 Cloud Run 服务的访问,但是我如何在纯 JavaScript 应用程序中并且没有登录用户的情况下执行此操作。我只想验证应用程序而不是用户。有什么建议或 sample 吗?

最佳答案

TL;DR:应用程序身份验证和授权级别由服务帐户管理。但是将服务帐户 key 文件放入您的 Javascript 应用程序(因此任何用户都可以在其浏览器中查看)是没有用的,因为您的 secret 已公开!


使用 Cloud Run,您有 2 种模式:私有(private)和公共(public)

如果是公开的,没有安全性,所有请求都会转到您的 Cloud Run 服务

如果是私有(private)的,Google Front End 会检查请求者的身份以及他们是否具有 run.invoker 权限。如果是,则请求通过,否则将被阻止。

今天,为了进行身份验证,您需要一个服务帐户。如果您不在 Google Cloud Platform 上(例如,在用户的浏览器中),您需要一个服务帐户 key 文件。但是,如果您将它放在您的网站上,它就不安全,因为任何人都可以在您的网站之外使用它。

所以,今天,您不能这样做:您的 Cloud Run 是公开的,没有任何检查,或者是经过身份验证(和 IAM 授权)的私有(private)

但是,很快,我希望至少在 2020 年,您应该能够在 Cloud Run 前面放置一个负载均衡器并在其上激活 IAP。因此,用户将通过其 Google 帐户身份验证 cookie (SSO) 进行身份验证。但是,在浏览器的私有(private)模式下,用户在访问该网站之前将被要求进行身份验证。它不是免费的身份验证,它只是不由您自己管理的身份验证。

关于javascript - 如何从 Javascript 安全地调用 Google Cloud Run 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61865660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com