如何将 python3 标准环境应用引擎 url 的请求限制到单个服务帐户?

How to restrict requests of python3 standard environment app engine urls to a single service account?

我有一个 python37 标准环境应用程序引擎 url 可在 /healthcheck 访问。 我已经生成并保存为 json.
的服务帐户密钥 包含所有预期字段:

  "project_id": "",
  "private_key_id": "",
  "private_key": "",
  "client_email": "project@appspot.gserviceaccount.com",
  "client_id": "",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": ""

我想用两种不同的方式调用 urls:

  1. 手动请求我的 URLs 并以某种方式在身份验证请求中使用服务帐户字段作为 headers。
  2. 安排 cron 作业 运行 调用相同的 URL。

我在 Google Cloud 上找到的所有文档仅讨论应用引擎 url 请求下游的身份验证。是否有一种标准方法可以将应用引擎 url 请求限制为仅一个服务帐户?

而不是使用 Google Cloud 提供的任何服务以确保安全。我只是用 api 密钥创建了一个参数,并强制所有连接为 https。

在 main.py 中,我使用了烧瓶功能 @app.before_request 来检查 cron 执行或变量。

@app.before_request
def do_something_whenever_a_request_comes_in():
    if 'X-Appengine-Cron' in request.headers:
        if not request.headers['X-Appengine-Cron']:
            return 'Not Authorized', 401
    elif 'apikey' in request.args:
        print (request.args['apikey'])
        if (request.args['apikey'] != config.apikey):
        return 'Not Authorized', 401
    else:
       return 'Not Authorized', 401
    print('Passed authorization')