GCP/Stackdriver:对经过身份验证的API进行正常运行时间检查



所以我正在开发一个后端服务,该服务被其他后端服务使用。消费者需要获取身份验证令牌,然后才能调用我们的API。现在,我想定期向虚拟产品(在活动的、部署的实例上(发出请求,以观察是否一切正常。

通过正常运行时间检查,这可能吗?它们似乎只支持基本身份验证,在执行之前无法执行实际代码(检索令牌或生成随机请求标识符(。正确的

我看到可以通过代码创建正常运行时间检查https://cloud.google.com/monitoring/uptime-checks/#node.js但是由于await client.createUptimeCheckConfig(request)使用静态配置(请求对象(,我想您不能在那里注入函数?

我可以使用GCP中的任何其他工具来完成我想要的任务吗?或者我需要部署中间人服务(或功能(来转发正常运行时间检查吗?

正常运行时间检查允许您提供自定义标头(https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.uptimeCheckConfigs#HttpCheck)因此,如果您有一个硬编码的令牌,可以通过头传递到API,则可以使用它。

如果这不是一个选项,您可以使用执行所需自定义逻辑的路由来启动Web服务器的实例。然后,根据需要设置正常运行时间检查以ping您的Web服务器。如果你需要在你的网络服务器上增加安全性,你有几个选择:

  1. 通过设置HTTP基本身份验证来限制对Web服务器的访问。正常运行时间支持基本身份验证,因此您只需提供服务器所需的值
  2. 限制您的服务器只能接受来自Google用于正常运行时间检查的IP地址的连接(https://cloud.google.com/monitoring/uptime-checks/using-uptime-checks#get-ips(。请注意,这些都是动态的,需要一些自动化的过程来保持列表的最新状态

最新更新