在我的 GCP 项目中,我有一个在 docker 容器中运行的 python API(使用 connexion)。我想使用 API Gateway 公开 API(带有 API 密钥)。
\n当我使用 部署 docker 容器时--ingress internal,我Access is forbidden.通过网关进行 API 调用。因此 API 网关无法访问 Google Run 容器。\n当我使用 时--ingress all,一切都按预期工作,但随后可以从网络访问我的内部 API,这不是我想要的。
我为此创建了一个服务帐户:
\ngcloud iam service-accounts create $SERVICE_ACCOUNT_ID \\\n# --description="the api gateway user" \\\n# --display-name="api gateway user"\nRun Code Online (Sandbox Code Playgroud)\n...授予帐户run.invoker权限:
gcloud projects add-iam-policy-binding $PROJECT_ID \\\n --role=roles/run.invoker --member \\\n serviceAccount:$SERVICE_ACCOUNT_EMAIL\nRun Code Online (Sandbox Code Playgroud)\n...并使用服务帐户创建 API 配置:
\ngcloud api-gateway api-configs create $CONFIG_ID \\\n …Run Code Online (Sandbox Code Playgroud) google-cloud-platform google-cloud-run google-cloud-api-gateway