小编dvr*_*ype的帖子

GCP - 从 API Gateway 访问 Google Cloud Run 后端

在我的 GCP 项目中,我有一个在 docker 容器中运行的 python API(使用 connexion)。我想使用 API Gateway 公开 API(带有 API 密钥)。

\n

当我使用 部署 docker 容器时--ingress internal,我Access is forbidden.通过网关进行 API 调用。因此 API 网关无法访问 Google Run 容器。\n当我使用 时--ingress all,一切都按预期工作,但随后可以从网络访问我的内部 API,这不是我想要的。

\n

我为此创建了一个服务帐户:

\n
gcloud iam service-accounts create $SERVICE_ACCOUNT_ID \\\n#  --description="the api gateway user" \\\n#  --display-name="api gateway user"\n
Run Code Online (Sandbox Code Playgroud)\n

...授予帐户run.invoker权限:

\n
gcloud projects add-iam-policy-binding $PROJECT_ID \\\n  --role=roles/run.invoker --member \\\n  serviceAccount:$SERVICE_ACCOUNT_EMAIL\n
Run Code Online (Sandbox Code Playgroud)\n

...并使用服务帐户创建 API 配置:

\n
gcloud api-gateway api-configs create $CONFIG_ID \\\n …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-run google-cloud-api-gateway

7
推荐指数
1
解决办法
3374
查看次数