使用WIF通过Hadoop-Connector连接GCS Bucket遇凭证类型报错求助
Hadoop连接GCS时WIF授权报错解决方案
Error reading credentials from stream, 'type' value 'external_account' not recognized. Expecting 'authorized_user' or 'service_account'
你当前使用的GCS Hadoop-Connector版本是2.1.0,这个版本不支持Workload Identity Federation(WIF)——WIF对应的external_account类型凭证是在较新的Google Auth库版本中引入的,旧版连接器依赖的Auth库版本过低,无法识别该类型凭证。
解决步骤:
- 升级GCS Hadoop-Connector到3.2.0及以上版本,这些版本已适配
external_account凭证类型。 - 配置Hadoop凭证路径:在
core-site.xml中设置google.cloud.auth.service.account.json.keyfile指向WIF凭证文件,或通过环境变量GOOGLE_APPLICATION_CREDENTIALS配置。 - 排查依赖冲突:确保没有旧版Google Auth库干扰,升级后的连接器会自动依赖支持WIF的Auth库版本,若有自定义依赖需排除旧版。
- 验证凭证有效性:确认WIF凭证包含
type: external_account字段,且audience、subject_token_type等配置项完整正确。
你的Java应用能正常连接,是因为它使用的Auth库版本足够新,而旧版Hadoop连接器捆绑了过时依赖,导致无法识别新凭证类型。
内容的提问来源于stack exchange,提问作者diptam
相关产品推荐
相关产品推荐

