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

DVC push到S3远程存储触发HeadObject 403 Forbidden错误如何解决

问题根因

你的DVC配置存在两个核心问题,共同导致403权限错误:

  • 配置冲突:你在remote "myremote"配置里同时显式声明了access_key_id、secret_access_key,又指定了profile参数。显式密钥的优先级高于Profile配置,DVC会直接使用你填写的default账号静态密钥访问S3,不会触发testing配置的角色切换(AssumeRole)流程,而default账号本身没有S3路径的访问权限,所以返回403。
  • 配置解析错误:你的配置文件中使用了中文全角引号(‘、“),DVC的配置解析器无法正确识别这类符号,导致profile参数实际未生效,即使删除静态密钥也无法正常触发角色切换。

解决步骤

  1. 修改.dvc/config.local配置,删除多余的静态密钥声明,同时将所有中文全角引号替换为英文半角引号,修改后配置如下:
[remote "myremote"]
url = s3://bib-ds-models-testing/data/dvc-test
profile = testing
credentialpath = /Users/nyt21/.aws/credentials
  1. 验证配置是否生效,执行以下命令查看本地远程存储配置:
dvc remote list --local

正常输出应为:myremote s3://bib-ds-models-testing/data/dvc-test
3. 再次执行push命令验证,若仍报错可临时显式指定环境变量运行:

AWS_PROFILE=testing dvc push -r myremote

逻辑验证

你之前的Python测试代码、带--profile=testing的AWS CLI命令可以正常执行,本质都是正确触发了testing配置的角色切换流程,拿到了有权限的临时凭证访问S3,和修改后DVC的运行逻辑一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 10:45:02