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

如何在Cloud Build中结合DVC与Google Storage构建镜像?

在Cloud Build中使用DVC访问GCS模型时的服务账号密钥安全存储方案

针对你在Cloud Build里基于GCS存储的模型构建Docker镜像时遇到的DVC认证密钥存储问题,以下是几种可行的安全解决方案:

方案1:用Cloud Build加密变量存储密钥内容

Cloud Build支持加密敏感变量,避免密钥明文暴露:

  • 在Cloud Build控制台的「设置」-「变量」中,添加一个加密变量(比如命名为SERVICE_ACCOUNT_KEY),把服务账号密钥的完整JSON内容粘贴进去
  • 在cloudbuild.yaml的构建步骤中,将变量内容写入临时文件并指定环境变量:
    steps:
      - name: 'gcr.io/cloud-builders/gcloud'
        entrypoint: 'bash'
        args:
          - '-c'
          - |
            echo "$SERVICE_ACCOUNT_KEY" > /tmp/service-account.json
            export GOOGLE_APPLICATION_CREDENTIALS=/tmp/service-account.json
            # 执行DVC拉取命令
            dvc pull
            # 后续执行Docker构建命令
            docker build -t gcr.io/[项目ID]/[镜像名] .
        env:
          - 'SERVICE_ACCOUNT_KEY=$_SERVICE_ACCOUNT_KEY'
    substitutions:
      _SERVICE_ACCOUNT_KEY: YOUR_ENCRYPTED_VARIABLE_NAME
    
  • 构建结束后,临时文件会被自动清理,不会留下密钥痕迹

方案2:直接绑定Cloud Build服务账号权限(无需密钥文件)

最省心的方式是利用Cloud Build的默认身份:

  • 找到Cloud Build的默认服务账号(格式为[项目ID]@cloudbuild.gserviceaccount.com)
  • 给这个账号添加GCS目标存储桶的「存储对象查看者」(roles/storage.objectViewer)权限
  • 确保DVC的GCS远程配置使用默认认证(不需要指定密钥路径),这样在构建过程中DVC会自动通过Cloud Build的身份访问GCS,完全不用处理密钥文件

方案3:用Secret Manager存储密钥文件

如果需要更细粒度的密钥管理,用Secret Manager:

  • 将服务账号密钥JSON文件上传到Secret Manager,创建一个新的秘密(比如命名为dvc-gcs-service-account)
  • 给Cloud Build服务账号添加Secret Manager的「秘密访问者」(roles/secretmanager.secretAccessor)权限
  • 在构建步骤中拉取密钥到临时文件:
    steps:
      - name: 'gcr.io/cloud-builders/gcloud'
        entrypoint: 'bash'
        args:
          - '-c'
          - |
            gcloud secrets versions access latest --secret="dvc-gcs-service-account" > /tmp/service-account.json
            export GOOGLE_APPLICATION_CREDENTIALS=/tmp/service-account.json
            dvc pull
            docker build -t gcr.io/[项目ID]/[镜像名] .
    

为什么gcloud auth application-login不行?

这个命令需要交互式的浏览器登录流程,而Cloud Build是完全自动化的无交互构建环境,根本无法完成这个登录步骤,所以不适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:02:17