我正在尝试获取会话令牌,以便设置环境变量,以便使用可以上传到S3但不直接支持AWS配置文件的工具。
'<cat'
后续呼叫会跳过MFA检查,表明它已通过。
在没有aws sts get-session-token --profile myprofile
Enter MFA code for arn:aws:iam::1234567890:mfa/myid:
An error occurred (AccessDenied) when calling the GetSessionToken operation:
Cannot call GetSessionToken with session credentials
参数的情况下运行get-session-token
可以正常工作:
--profile
可能出什么问题了?我什至会以正确的方式这样做吗?
我的$ aws sts get-session-token
{
"Credentials": {
...
的相关部分:
~/.aws/config
答案 0 :(得分:1)
您的初始呼叫使用的是IAM角色。它正在尝试调用get-session-token
,它将返回一些临时凭据。
但是,当使用IAM角色时,AWS CLI会自动使用您的常规凭证来调用assume-role
,从而接收回一组临时凭证。无法使用临时凭证(从角色)调用get-session-token
。这就是错误消息显示Cannot call GetSessionToken with session credentials
的原因。
如果您要致电get-session-token
,则需要使用普通凭据,就像在第二个示例中所做的那样。