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

如何从AWS CLI中退出错误IAM用户配置并切换到可用配置文件

AWS CLI 错误IAM配置切换修复方案

调用CreateFunction操作时发生错误(AccessDeniedException):User: arn:aws:iam::9999999999999:user/xxxxxxxxxxxxxx 无权在资源arn:aws:lambda:eu-west-1:99999999999:function:zzzzzzzzzzzzzz上执行lambda:CreateFunction操作。

清空用户目录下.aws/credentials仍未生效,是因为AWS CLI存在多维度的配置优先级,更高优先级的位置还保留了旧的错误配置,按以下步骤操作即可修复:

步骤1:确认当前生效的配置来源

运行以下命令查看当前使用的IAM身份:
aws sts get-caller-identity

运行以下命令查看所有配置项的具体来源(环境变量/配置文件/实例角色等):
aws configure list

步骤2:清除高优先级的错误配置

AWS CLI配置优先级从高到低为:命令行参数 > 环境变量 > 当前工作目录下的.aws配置 > 用户目录下的.aws配置 > 云服务实例绑定的IAM角色,按优先级从高到低排查清除:

  • 检查并清除环境变量中的旧凭证:
    • Linux/macOS:运行env | grep AWS查看所有AWS相关环境变量,存在的话执行unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_PROFILE清除
    • Windows:CMD运行set AWS_查看,PowerShell运行Get-ChildItem Env:AWS_*查看,删除对应AWS开头的环境变量即可
  • 检查当前执行命令的工作目录下是否存在.aws文件夹,存在的话删除或移动到其他目录
  • 如果是在EC2/ECS/Cloud9等AWS云服务环境内执行命令,检查是否绑定了错误的实例角色/任务角色

步骤3:切换到正确的IAM配置

提前添加正确的配置文件

如果还未将可用的IAM凭证添加到AWS配置中,运行以下命令创建命名配置文件(将可用配置名替换为你自定义的名称,比如prod/dev):
aws configure --profile 可用配置名
按照提示依次输入Access Key、Secret Key、默认区域(比如eu-west-1)、默认输出格式(推荐json)即可。

临时切换(仅对单条命令生效)

执行AWS命令时增加--profile参数指定配置即可,示例:
aws lambda create-function --function-name zzzzzzzzzzzzzz --profile 可用配置名

会话级切换(对当前终端窗口所有命令生效)

设置环境变量指定默认配置:

  • Linux/macOS:export AWS_PROFILE=可用配置名
  • Windows CMD:set AWS_PROFILE=可用配置名
  • Windows PowerShell:$Env:AWS_PROFILE = "可用配置名"

全局切换(对所有终端所有命令永久生效)

直接修改默认配置即可,运行aws configure不带--profile参数,输入正确的凭证信息,覆盖默认的[default]配置块。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 15:54:10