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

未指定profile标志时AWS CLI上传文件报Access Denied错误

问题原因排查

核心现象

执行无profile指定的命令时报错:

aws s3 cp your_file s3://my-bucket/ # Access Denied

添加--profile default后命令正常运行:

aws --profile default s3 cp your_file s3://my-bucket/ # 执行成功

配置信息梳理

  1. ~/.aws/config:
[default]
region = us-east-2
output = json
  1. ~/.aws/credentials:
[default]
role_arn=
credential_source=Environment
role_session_name=
  1. aws configure list输出:
profile  default  env  ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']
access_key  ***  env
secret_key   ***  env
region   us-east-2   config_file   ~/.aws/config

问题根源

你的credentials文件中[default]段配置了角色假设模板,但缺少必填的role_arn参数,属于无效配置:

  • 当显式指定--profile default时,AWS CLI读取该profile的完整配置,发现role_arn为空后,自动 fallback 到credential_source=Environment配置,直接从环境变量获取有效密钥,因此命令执行成功。
  • 当不指定--profile时,CLI的默认凭证链逻辑优先尝试解析[default]的角色配置,但因role_arn为空无法完成角色假设,最终导致凭证获取失败,触发Access Denied错误。

修复建议

  • 若不需要通过角色假设访问S3:直接删除credentials文件中[default]段的角色相关配置,保留环境变量中的密钥即可。
  • 若确实需要角色假设:补充完整role_arn和role_session_name参数,确保配置符合AWS角色切换的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:16:02