You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP DocumentAI认证报错:服务账号获取Access Token权限排查

解决服务账号获取Access Token时的"Invalid JWT Signature"错误

首先明确:Invalid JWT Signature错误绝大多数情况不是权限不足导致的,而是服务账号密钥本身存在问题,或是密钥的使用方式有误。全权限用户能正常执行,是因为这类用户通常使用的是用户凭据认证,和服务账号的密钥签名认证逻辑完全不同。

排查步骤:

  • 确认密钥文件的完整性与正确性
    检查你使用的JSON密钥文件:确保它是从GCP控制台直接下载的、属于目标服务账号的有效密钥文件。如果文件内容被篡改(比如private_key字段缺失或截断),会直接导致签名失败。同时要确认文件路径path_to_private_key_file_of_service_account.json没有拼写错误,文件确实存在。

  • 验证密钥的状态
    登录GCP控制台,进入「IAM与管理员」→「服务账号」,找到对应的服务账号,切换到「密钥」标签页,确认你正在使用的密钥处于「活跃」状态,没有被删除或禁用。

关于权限的澄清:

服务账号通过自身密钥获取Access Token不需要额外的角色权限——只要密钥有效,服务账号就能通过签名JWT完成认证并获取token。你为服务账号配置的Document AI Administrator和Service Account Key Admin角色,是用于操作Document AI资源、管理服务账号密钥的,和获取token的流程无关。只有当你用获取到的token调用具体GCP API时,才需要检查服务账号的角色是否具备对应权限。

代码相关建议:

  • 虽然googleauth 1.7.0版本基本可用,但可以尝试更新到最新稳定版,避免潜在的版本兼容问题。
  • 你当前的代码逻辑没有问题,scope设置为https://www.googleapis.com/auth/cloud-platform是合理的,该权限范围覆盖了绝大多数GCP服务的访问权限。

内容的提问来源于stack exchange,提问作者Kamilski81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:42:23