在AWS CLI中使用临时安全凭证

时间:2018-11-13 06:20:04

标签: amazon-web-services amazon-s3 command-line

我想在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"
}

但是我不明白在上述命令中应该使用什么值替代以获得临时凭证。

1 个答案:

答案 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