Ste*_*ett 11 amazon-web-services aws-sts
我正在尝试获取会话令牌以设置环境变量,以便使用上传到 S3 但不直接支持 AWS 配置文件的工具。
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
Run Code Online (Sandbox Code Playgroud)
后续调用会跳过 MFA 检查,表明它通过了 ok。
get-session-token不带--profile参数运行可以正常工作:
$ aws sts get-session-token
{
"Credentials": {
...
Run Code Online (Sandbox Code Playgroud)
可能出什么问题了?我什至以正确的方式解决这个问题吗?
我的相关部分~/.aws/config:
[profile otherprofile]
mfa_serial=arn:aws:iam::xxx:mfa/myid
aws_access_key_id=xxx
aws_secret_access_key=xxx
[profile myprofile]
source_profile=otherprofile
region=ap-southeast-2
role_arn=arn:aws:iam::xxx:role/owner
mfa_serial=arn:aws:iam::xxx:mfa/myid
Run Code Online (Sandbox Code Playgroud)
您的初始调用使用的是 IAM 角色。它正在尝试调用get-session-token,这将返回一些临时凭据。
但是,当使用 IAM 角色时,AWS CLI 会自动使用您的普通凭证来调用assume-role,从而收到一组临时凭证。无法get-session-token使用临时凭证(来自角色)进行调用。这就是错误消息显示的原因Cannot call GetSessionToken with session credentials。
如果您想调用get-session-token,则需要使用您的普通凭据进行调用,就像您在第二个示例中所做的那样。
| 归档时间: |
|
| 查看次数: |
9087 次 |
| 最近记录: |