AWS临时凭证 - 是UTC的到期时间吗?

时间:2017-06-02 18:07:50

标签: amazon-web-services aws-sts

我想这很可能,但我还没有找到任何明确的信息说这是真的。

从AssumeRole收到Credentials对象时,是UTC时间到期吗?

3 个答案:

答案 0 :(得分:4)

来自sts:AssumeRole的回复包含一个名为Expiration的属性:

{
    "AssumedRoleUser": {
        "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example",
        "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"
    },
    "Credentials": {
        "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
        "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
        "Expiration": "2016-03-15T00:05:07Z",
        "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA"
    }
}

Expiration值为ISO 8601 formatted date。这意味着日期可以在任何时区,但时区在日期本身中指定。上面的示例是UTC,因为日期值末尾的“Z”。

要100%正确,您应该预期该值可能是非UTC值,您可能需要对值进行时区转换。但是,在实践中,很可能,值将是UTC。

答案 1 :(得分:0)

当您使用boto3调用sts时,到期日期显示它在utc中

sts = boto3.client('sts')
role = sts.assume_role(
    RoleArn='<role>',
    RoleSessionName='STSTest',
    DurationSeconds=900
)

role["Credentials"]["Expiration"]
>>datetime.datetime(2018, 5, 15, 4, 51, 50, tzinfo=tzutc())

答案 2 :(得分:0)

是的,它将采用 UTC 因此,无论您的时区如何.. 检查您所在时区的当前时间。取 UTC 时间并加上 8 小时或贵公司提供的任何到期时间。看看这是否与该响应中给出的一个到期时间相匹配

相关问题