我正在使用 aws sam 并尝试让 sam 部署。我收到此错误:
Error: Failed to create managed resources: An error occurred (InvalidClientTokenId) when calling the CreateChangeSet operation: The security token included in the request is invalid.
我已经从 .aws 更改了我的凭证,并使用命令 aws configure 更改了它们。 当我尝试访问在线任何内容时,例如尝试将文件上传到 S3 存储桶时,我也会收到错误。
Error: botocore.exceptions.ClientError: An error occurred (UnrecognizedClientException) when calling the UpdateItem operation: The security token included in the request is invalid.
有什么想法吗?
我猜你的凭据没问题,但是,请再次检查你是否指向正确的
region
。这确实是我的问题。
如果您有多个且未指定默认值,则需要检查是否在 ~/.aws/credentials 文件中设置了 default 凭证 在共享凭据文件中,加上您的环境中没有任何设置,sam cli 将失败并显示上述消息。
您可以使用这个this文档来设置它们
我将配置文件添加到命令中,它确实有效。
sam deploy --guided --profile <your aws profile>
当我收到“请求中的令牌无效”时,我的具体解决方案是:
我在使用具有多重身份验证 (MFA) 的 IAM 用户的访问密钥和密钥时遇到了此问题。 为了解决这个问题,我创建了另一个没有 MFA 的 IAM 用户并使用其凭证。
如果您需要使用启用了 MFA 的用户,请按照以下步骤操作:
获取您的 MFA 设备 ARN: 运行此命令:
aws iam list-mfa-devices --user-name YOUR_USERNAME
生成临时会话凭证: 运行这个命令,
aws sts get-session-token --serial-number MFA_DEVICE_ARN --token-code MFA_TOKEN
更换: MFA_DEVICE_ARN 为步骤 1 中的 ARN。 MFA_TOKEN 包含 MFA 设备中的当前代码。
将临时凭证设置为环境变量:
export AWS_ACCESS_KEY_ID=TEMPORARY_ACCESS_KEY_ID
export AWS_SECRET_ACCESS_KEY=TEMPORARY_SECRET_ACCESS_KEY
export AWS_SESSION_TOKEN=TEMPORARY_SESSION_TOKEN