Google cloud platform 如何保护托管在Google Cloud Run上的应用程序?

Google cloud platform 如何保护托管在Google Cloud Run上的应用程序?,google-cloud-platform,google-cloud-run,Google Cloud Platform,Google Cloud Run,我正在研究构建一个需要身份验证的基于云运行的API。仅当请求满足某些安全检查时才可以调用它,例如: 查询字符串传递我的函数(例如,参数X的值为Y) 或 授权标头值通过我的函数(JWT验证) 我担心,如果我在调用后运行这些检查,有人可能会DDoS我的API,我将是支付账单的人。您可以使用IAM身份验证,并要求有效且授权的身份验证来访问服务。你有榜样。所有未授权的流量由Google(Google前端(或GFE)层)过滤 您还可以部署API网关(或云端点,其功能非常类似)并接受API密钥。不推

我正在研究构建一个需要身份验证的基于云运行的API。仅当请求满足某些安全检查时才可以调用它,例如:

  • 查询字符串传递我的函数(例如,参数X的值为Y)

  • 授权标头值通过我的函数(JWT验证)

我担心,如果我在调用后运行这些检查,有人可能会DDoS我的API,我将是支付账单的人。

您可以使用IAM身份验证,并要求有效且授权的身份验证来访问服务。你有榜样。所有未授权的流量由Google(Google前端(或GFE)层)过滤

您还可以部署API网关(或云端点,其功能非常类似)并接受API密钥。不推荐使用,但在某些情况下,它总比没有好。我您将支付API网关上的请求数(好或不好),但您的服务受到保护,有效请求得到处理

您还可以尝试的新功能。您需要部署负载平衡器并在其上插入IAP。使用负载平衡器,您还可以在其上部署(WAF),然后防止您的服务受到攻击。

您可以使用ESPv2。
您可以使用firebase轻松添加API密钥和JWT auth。

除非启用IAM授权,否则任何人都可以调用您的云运行服务。如果启用IAM授权,则在授权失败时不会调用您的服务(您的服务受到保护)。@JohnHanley IAM授权不只是针对Google登录的吗?我找不到有关验证我的外部身份的任何信息。如果您使用的是外部身份,则您没有使用Google IAM授权。这意味着谷歌提供的保护不适用。如果您关注DDoS,那么您需要采用谷歌的授权策略和方法。注意:Google现在提供了
工作负载身份联合
,它支持一些外部身份提供者将外部信用交换为IAM凭证。有很多选项可用,有些实现起来很复杂,并且有自己的额外成本。因此我阅读了有关IAM身份验证的内容,但我不确定我是否正确理解它。我不想使用Google登录进行身份验证,也不想生成其他令牌或API密钥。我已经有了一个密钥,它是在谷歌平台之外根据时间和用户动态生成的。它只在几秒钟内有效。在谷歌云方面,我只需要验证一下。IAM身份验证方向正确吗?不,如果您有自定义身份验证机制,则需要使用自己的系统,从而自行处理问题和攻击。您可以使用负载平衡器使用云装甲过滤IP和OWASP恶意攻击,但仅此而已。要么你遵守谷歌的安全机制,要么你自己去做。