我不断收到此错误:
An error occurred (InvalidClientTokenId) when calling the AssumeRole operation: The security token included in the request is invalid.
当我运行此Assume Role命令时:
aws sts assume-role --role-arn <arn role i want to assume> --role-session-name dev --serial-number <my arn> --token-code <keyed in token code>
这是以前的工作,所以我不确定会发生什么变化。并且不知道如何调试它。
有什么建议吗?
答案 0 :(得分:2)
旧帖子,但可能仍然有用。
您可以尝试在环境中设置以下内容并重试:
export AWS_ACCESS_KEY_ID='your access key id here';
export AWS_SECRET_KEY='your secret key here'
答案 1 :(得分:1)
我注意到,当我不得不更改我的 AWS IAM 密码时,我的访问密钥也被删除了。
我必须生成一个新的访问密钥并替换存储在 aws_access_key_id
(在 Mac 上)文件中的 aws_secret_access_key
和 ~/.aws/credentials
。
这清除了错误
答案 2 :(得分:0)
我有同样的问题。您可能需要在运行sts命令之前取消设置AWS env变量:
unset AWS_SECRET_ACCESS_KEY
unset AWS_SECRET_KEY
unset AWS_SESSION_TOKEN
然后输入命令:
aws sts assume-role --role-arn <arn role i want to assume> --role-session-name dev --serial-number <my arn> --token-code <keyed in token code>
在这里您将获得新的凭据。然后再次运行导出:
export AWS_ACCESS_KEY_ID=<access key>
export AWS_SECRET_ACCESS_KEY=<secret access key>
export AWS_SESSION_TOKEN=<session token>
希望对您有帮助!
答案 3 :(得分:0)
在这里,您需要重设AWS密钥和ID,例如-
export AWS_ACCESS_KEY_ID='ACCESS_KEYID';
export AWS_SECRET_KEY='SECRET_KEY'
在我的情况下,我在终端机上为aws configure
使用了命令cli
,它询问访问密钥ID,秘密密钥,区域和输出格式。
答案 4 :(得分:0)
您需要执行aws configure
并在第一次运行STS命令的环境上设置AWS访问密钥和秘密密钥。 STS命令使用该数据验证身份,并检查您是否具有执行STS假定角色的权限。
如果您已经配置了现有的访问密钥和秘密密钥,则这些密钥也可能已过期。因此,您可能需要在IAM中为用户生成新密钥,并在运行的环境中对其进行配置。
答案 5 :(得分:0)
检查您的 aws_access_key_id
和 aws_secret_access_key
在 ~/.aws/credentials
文件中是否正确。
如果是,那么如果 ~/.aws/credentials
文件包含 aws_session_token
,则仅删除文件中的那一行,保存更改并重新运行命令。
为我工作。