GCP API Gateway用API Key调用返回403错误求排查方案
解决GCP API Gateway搭配API Key调用时的403 SERVICE_NOT_ACTIVATED错误
核心问题分析
错误提示中的<SERVICE ACCOUNT NAME>-<STRING I DON'T RECOGNIZE>.apigateway.<PROJECT NAME>.cloud.goog是API Gateway实例对应的专属服务名称,并非通用的apigateway.googleapis.com,你需要启用这个特定服务才能解决SERVICE_NOT_ACTIVATED错误。
具体解决步骤
启用网关专属服务
复制错误提示里的完整服务名称,执行以下命令启用:gcloud services enable <完整服务名称>示例:如果错误提示是
my-sa-xyz123.apigateway.my-project.cloud.goog,则运行gcloud services enable my-sa-xyz123.apigateway.my-project.cloud.goog校验API Key的服务限制配置
- 进入GCP控制台「API和服务」→「凭据」页面,找到你使用的API Key
- 编辑该API Key的「API限制」,确保已将上述网关专属服务添加到限制列表中(不能设置为「无限制」,也不能仅添加通用的
apigateway.googleapis.com)
补充权限检查
确保你使用的服务账号拥有roles/apigateway.developer或更高权限(如roles/apigateway.admin),同时确认拥有roles/serviceusage.serviceUsageAdmin权限(仅查看权限可能不足以完成服务启用操作)等待生效并测试
服务启用后需要5-10分钟同步,之后重新用curl携带X-goog-api-key请求头调用测试
内容的提问来源于stack exchange,提问作者ChristianOConnor
相关产品推荐
相关产品推荐

