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

AWS sts get-caller-identity返回错误UserId,请求协助排查

AWS CLI凭证配置异常排查方案

1. 排查Docker容器内的凭证来源

  • 容器可能挂载宿主机.aws目录或自带独立凭证文件,执行以下命令确认容器内凭证:
    docker exec <容器ID> cat ~/.aws/credentials
    
  • 检查容器是否通过环境变量注入凭证:
    docker exec <容器ID> env | grep AWS_
    
    确认是否存在AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY覆盖本地配置。

2. 验证本地CLI凭证优先级

AWS CLI凭证优先级:环境变量 > 凭证文件 > 配置文件 > IAM角色

  • 检查本地环境变量残留:
    echo $AWS_ACCESS_KEY_ID
    echo $AWS_SECRET_ACCESS_KEY
    
  • 检查是否指定了非默认配置文件:
    echo $AWS_PROFILE
    cat ~/.aws/config
    

3. 清除CLI缓存

AWS CLI会缓存凭证,执行以下命令清除后重新测试:

rm -rf ~/.aws/cli/cache
aws sts get-caller-identity

4. 确认IAM密钥关联用户

登录AWS控制台,进入IAM -> 用户 -> 你的用户(me),查看安全凭证中的访问密钥列表,确认########3PX密钥所属用户是否为当前用户,且无其他密钥被误用。

5. 直接指定密钥测试有效性

绕过配置文件,直接用新密钥执行命令,验证密钥本身是否正确:

AWS_ACCESS_KEY_ID=########3PX AWS_SECRET_ACCESS_KEY=######## aws sts get-caller-identity

若此命令返回正确UserId,说明配置文件或缓存存在问题;若仍返回错误UserId,需确认控制台中该密钥的关联用户是否正确。

6. 解决容器证书问题(初始unable to get local certificate报错)

  • 挂载宿主机证书目录到容器:
    docker run -v /etc/ssl/certs:/etc/ssl/certs <你的镜像> aws sts get-caller-identity
    
  • 或在容器内安装CA证书包(以Debian/Ubuntu为例):
    docker exec <容器ID> apt-get install -y ca-certificates
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:27:15