google-cloud-platform - 如何保护托管在 Google Cloud Run 上的应用程序?
问题描述
我正在研究构建一个需要身份验证的基于 Cloud Run 的 API。只有当请求满足一些安全检查时才可以调用它,例如:
- 查询字符串传递我的函数(例如,参数 X 的值为 Y)
或者
- 授权标头值通过我的功能(JWT 验证)
恐怕如果我在调用后运行这些检查,有人可以对我的 API 进行 DDoS 攻击,而我将成为支付账单的人。
解决方案
您可以使用 IAM 身份验证并要求有效且经过授权的身份验证才能访问该服务。你在这里有例子。所有未经授权的流量均由 Google(Google 前端(或 GFE)层)过滤
您还可以部署 API 网关(或 Cloud Endpoint,功能非常相似)并接受 API 密钥。不推荐,但在某些情况下,它总比没有好。我为此写了一篇文章。您将支付 API Gateway 上的请求数量(无论好坏),但您的服务受到保护并处理有效请求。
您还可以尝试Cloud Run 的新功能:IAP (Identity Aware Proxy)。您需要部署负载均衡器并在其上插入 IAP。使用负载均衡器,您还可以在其上部署Cloud Armor(WAF),然后防止您的服务受到攻击。
推荐阅读
- ios - 在滚动内容上快速调整大小的图像
- java - Wildfly 20 无法在 Ubuntu 20 上“开箱即用”运行
- amazon-web-services - 神器 - 亚马逊
- neo4j - 获得最短的圆路径而不重复任何节点
- rust - xcb:在 EnterNotify 之后立即收到 LeaveNotify
- node.js - 更新 MongoDB 集合记录 - NodeJS Express
- javascript - 如何使用 Onclick 将 React 对话框移动到正文顶部
- python - 根据前两个字母替换部分熊猫数据框列
- apache-flink - Flink CEP:FollowedBy 模式:同一事件多次循环该模式
- swift - 从 Swift Code 以 root 身份执行终端命令