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

Dataflow Flex模板运行时自定义服务账号配置失效问题排查

Dataflow Flex Template指定自定义服务账号后仍回退默认SA的问题

我希望替代Dataflow Worker默认使用的default-compute@developer.gserviceaccount.com服务账号,改用自定义服务账号,执行了以下gcloud命令:

gcloud dataflow flex-template run "flexing" \
  --project=$(PROJECT)\
  --template-file-gcs-location=$(JSON_PATH) \
  --service-account-email=$(MY_SA) \
  --region=europe-west1 \
  --parameters=source=$(MY_SOURCE) \
  --temp-location=$(TEMP_LOCATION) \
  --staging-location=$(STAGING_LOCATION)

作业正常启动,但后续报错:

Unable to open template file: gs://..../template_launches/..../operation_result..

由于镜像存储在其他项目,默认SA没有artifact.reader权限导致失败。查看日志发现:

compute.instances.insert.authenticationInfo.principalEmail = default-compute@developer.gserviceaccount.com

推测作业回退到了默认SA;仅在request.ServiceAccounts.email中能看到自定义SA。请问为何始终回退到默认SA?


原因分析及解决方案

1. 自定义SA缺少Dataflow Worker核心权限

指定的自定义SA必须具备Dataflow Worker运行的基础权限,否则系统会自动 fallback 到默认SA。需确保自定义SA拥有以下权限(推荐通过预定义角色快速配置):

  • roles/dataflow.worker:Dataflow Worker基础角色
  • roles/storage.objectAdmin:访问GCS临时目录、staging目录及模板文件的权限
  • roles/artifactregistry.reader(若镜像存于Artifact Registry):跨项目读取镜像的权限

2. 未授予Dataflow服务代理 impersonation 权限

Dataflow服务本身需要能 impersonate 你的自定义SA来创建Worker实例。需给Dataflow服务代理账号(格式为service-<PROJECT_NUMBER>@dataflow-service-producer-prod.iam.gserviceaccount.com)授予对自定义SA的roles/iam.serviceAccountUser角色。

操作命令示例:

PROJECT_NUMBER=$(gcloud projects describe $(PROJECT) --format='value(projectNumber)')
gcloud iam service-accounts add-iam-policy-binding $(MY_SA) \
  --member="serviceAccount:service-${PROJECT_NUMBER}@dataflow-service-producer-prod.iam.gserviceaccount.com" \
  --role="roles/iam.serviceAccountUser"

3. Flex Template JSON文件硬编码了服务账号

若你指定的$(JSON_PATH)模板JSON文件中已经设置了serviceAccountEmail字段,会覆盖gcloud命令行参数。检查该JSON文件,确保未设置该字段,或直接将其值改为目标自定义SA。

4. 项目级Dataflow默认SA配置冲突

若项目中通过Dataflow API设置了默认服务账号,会优先于命令行参数。可通过以下命令检查并清除:

gcloud dataflow configs update --disable-default-service-account --project=$(PROJECT)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 16:18:21