我想在AWS CLI中生成临时凭证,我知道应该使用以下命令。
$ aws sts assume-role --role-arn arn:aws:iam::123456789012:role/role-name --role-session-name "RoleSession1" --profile IAM-user-name > assume-role-output.txt
我还拥有访问密钥和秘密密钥。
我还跑了aws sts get-caller-identity
并且得到了:
{
"Account": "12345",
"UserId": "AIXXXXXXXNUNHY",
"Arn": "arn:aws:iam::12345:user/dcp/ua.166666654"
}
但是我不明白在上述命令中应该使用什么值替代以获得临时凭证。
答案 0 :(得分:0)
您对assume-role
的呼叫将返回类似于以下内容的信息:
{
"AssumedRoleUser": {
"AssumedRoleId": "AROAxx:RoleSession1",
"Arn": "arn:aws:sts::123456789012:assumed-role/role/role-name"
},
"Credentials": {
"SecretAccessKey": "xxx",
"SessionToken": "xxx",
"Expiration": "2018-11-13T07:50:29Z",
"AccessKeyId": "ASIAxxx"
}
}
然后运行:
aws configure --profile RoleSession1
并输入assume-role
提供的详细信息(访问密钥,秘密密钥,令牌)。
这会将新的凭据存储在.aws/credentials
标题下的[RoleSession1]
文件中。
要使用这些凭据,请指定您刚刚定义的配置文件:
aws s3 ls --profile RoleSession1