如何确保 App Engine 应用仅供 Google Cloud Task 使用?

How to secure an app engine app to be available only to Google Cloud Task?

我想创建一个任务处理程序,它应该通过重试等方式处理某些任务

但我希望此端点只能由 google 任务中的特定队列触发?

我该如何处理?最佳做法是什么?

此致

更新:检查Will's comment。此答案可能已过时且不再有效。在应用它之前,一定要进行广泛的测试。


根据 Cloud Tasks documentation,来自 Cloud Tasks 的请求将具有 X-AppEngine-QueueName header。

这个 header 没有出现在关于 requests headers removed 的 GAE 文档中列出,但我刚刚测试了它并且这个 header 也被删除了。

为了确保您的 GAE 应用只能通过 Cloud Tasks 调用,请验证 X-AppEngine-QueueName header 是您允许调用您的已批准 queues 之一应用