aws sts get-session-token ... --token-code ... 因 InvalidClientTokenId 而失败,但 MFA 控制台登录正常
aws sts get-session-token ... --token-code ... fails with InvalidClientTokenId, but MFA console login working
我正尝试在 AWS CLI 上检索会话令牌,如下所示:
aws sts get-session-token --serial-number arn-string --token-code mfacode
哪里
arn-string
是从 IAM 管理控制台复制的,为分配的安全凭证
MFA设备,格式如arn:aws:iam:<number>:mfa/<name>
mfacode
取自注册的虚拟mfa设备
错误:
An error occurred (InvalidClientTokenId) when calling the GetSessionToken operation: The security token included in the request is invalid.
不过,我用那个MFA设备在浏览器中登录控制台就好了
我的 ~/.aws/ 中只有一个默认配置文件,但我看不出这会有什么影响。
试过这个:
- 尝试多次以确保没有发生 mfa 翻转
- 删除 MFA 设备分配并重新分配设备 -- 同样的错误
- 提交
--token-code
希望它提示我输入 MFA 设备令牌——同样的错误
- 使用
arn:aws:iam:<number>:user/<name>
——与预期的错误相同,因为 aws get-session-id help
明确指出它需要成为 mfa 设备的 arn
我认为这与 arn-string 而不是令牌有关,但是什么?
欢迎了解导致此问题的原因。
此致,
奥拉夫
已解决。 maafk 的评论明确了这一点。为了记录和下一个陷入这个问题的可怜的灵魂:
使用的配置文件必须有mfa_serial
条目。在我的例子中,将 mfa 设备的 arn-string 添加到我在 ~/.aws/config
中的本地默认配置文件,如下所示:
[default]
region = eu-central-1
mfa_serial = arn:aws:iam:<number>:mfa/<name>
这个字符串可以在控制台、用户下的IAM服务、安全凭证中找到。
我正尝试在 AWS CLI 上检索会话令牌,如下所示:
aws sts get-session-token --serial-number arn-string --token-code mfacode
哪里
arn-string
是从 IAM 管理控制台复制的,为分配的安全凭证 MFA设备,格式如arn:aws:iam:<number>:mfa/<name>
mfacode
取自注册的虚拟mfa设备
错误:
An error occurred (InvalidClientTokenId) when calling the GetSessionToken operation: The security token included in the request is invalid.
不过,我用那个MFA设备在浏览器中登录控制台就好了
我的 ~/.aws/ 中只有一个默认配置文件,但我看不出这会有什么影响。
试过这个:
- 尝试多次以确保没有发生 mfa 翻转
- 删除 MFA 设备分配并重新分配设备 -- 同样的错误
- 提交
--token-code
希望它提示我输入 MFA 设备令牌——同样的错误 - 使用
arn:aws:iam:<number>:user/<name>
——与预期的错误相同,因为aws get-session-id help
明确指出它需要成为 mfa 设备的 arn
我认为这与 arn-string 而不是令牌有关,但是什么? 欢迎了解导致此问题的原因。
此致, 奥拉夫
已解决。 maafk 的评论明确了这一点。为了记录和下一个陷入这个问题的可怜的灵魂:
使用的配置文件必须有mfa_serial
条目。在我的例子中,将 mfa 设备的 arn-string 添加到我在 ~/.aws/config
中的本地默认配置文件,如下所示:
[default]
region = eu-central-1
mfa_serial = arn:aws:iam:<number>:mfa/<name>
这个字符串可以在控制台、用户下的IAM服务、安全凭证中找到。