在 ec2 实例中运行的容器中出现错误“InvalidClientTokenId”

问题描述 投票:0回答:1

我有一个容器在附有实例配置文件的 ec2 实例中运行。

就我而言,我必须在容器中运行的脚本中使用aws访问密钥和秘密密钥才能访问另一个aws分区中不同帐户中的aws资源。

我导出了 env

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
并在脚本中取消设置
AWS_SESSION_TOKEN

export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s" \
            $(aws secretsmanager get-secret-value \
    --secret-id arn:aws-cn:secretsmanager:********* \
    --query 'SecretString' --output=text | jq '.ACCESS_KEY_TEST,.SECRET_KEY_TEST'))

unset AWS_SESSION_TOKEN

aws sts get-caller-identity
#aws sts get-caller-identity --region <region> ##not working either

无论我尝试什么,我都无法摆脱错误

An error occurred (InvalidClientTokenId) when calling the GetCallerIdentity operation: The security token included in the request is invalid.

请帮忙!谢谢!

amazon-web-services amazon-ec2 aws-cli aws-sts sts
1个回答
0
投票

这肯定意味着 AWS_SECRET_ACCESS_KEY 绑定到 AWS_SESSION_TOKEN,您需要提供它作为身份验证的一部分。

您取消设置 AWS_SESSION_TOKEN 意味着您将删除凭证集这部分的所有存在。

© www.soinside.com 2019 - 2024. All rights reserved.