Terraform执行plan时抛出AWS Provider无效凭证错误求助
解决Terraform AWS Provider的InvalidClientTokenId错误
以下是针对该错误的额外排查和解决步骤:
检查终端环境变量
环境变量会优先于本地凭证文件生效,执行以下命令确认当前环境中的AWS密钥:echo $AWS_ACCESS_KEY_ID echo $AWS_SECRET_ACCESS_KEY echo $AWS_SESSION_TOKEN如果输出的密钥不正确或存在多余的会话令牌,执行命令清空:
unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN校验AWS凭证文件格式
默认凭证文件路径:- Linux/macOS:
~/.aws/credentials - Windows:
C:\Users\<你的用户名>\.aws\credentials
文件必须采用INI格式,确保无多余空格、引号:
[default] aws_access_key_id = 你的IAM访问密钥ID aws_secret_access_key = 你的IAM私有访问密钥密钥需与IAM控制台生成的内容完全一致,包括大小写。
- Linux/macOS:
排查临时凭证冲突
若使用MFA或IAM角色临时凭证,需确保AWS_SESSION_TOKEN正确配置;若无需临时凭证,彻底清除所有会话令牌相关的环境变量和配置项。确认Terraform Provider区域配置
检查代码中的AWS Provider块,确保区域与目标AWS区域匹配:provider "aws" { region = "us-east-1" # 替换为实际使用的区域 }重新生成IAM访问密钥
进入AWS IAM控制台,找到对应的用户,删除现有访问密钥,重新生成一对新密钥,替换到本地凭证文件中。验证AWS CLI连通性
执行aws sts get-caller-identity命令,若同样报错,说明问题出在AWS凭证本身;若命令成功,执行terraform init -reconfigure重新初始化Terraform provider。
内容的提问来源于stack exchange,提问作者Yuvraj Sakhare
相关产品推荐
相关产品推荐

