我有一个容器在附有实例配置文件的 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.
请帮忙!谢谢!
这肯定意味着 AWS_SECRET_ACCESS_KEY 绑定到 AWS_SESSION_TOKEN,您需要提供它作为身份验证的一部分。
您取消设置 AWS_SESSION_TOKEN 意味着您将删除凭证集这部分的所有存在。