首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STS - ExpiredTokenException

STS - ExpiredTokenException
EN

Stack Overflow用户
提问于 2018-02-08 22:52:33
回答 2查看 4.6K关注 0票数 1

我在帐户A中的Lambda函数中使用STS,在另一个帐户B中使用AssumeRole将记录放在帐户B中。

下面是我在Lambda函数中使用的用于交叉帐户动态访问的代码

代码语言:javascript
复制
sts_client = boto3.client('sts')
assumedRoleObject = sts_client.assume_role(RoleArn=CROSS_ACC_KINESIS_ROLE, RoleSessionName="AssumeRoleSession1")
credentials = assumedRoleObject['Credentials']

kinesis_cross_acc_client = boto3.client(
'kinesis', 
aws_access_key_id = credentials['AccessKeyId'], 
aws_secret_access_key = credentials['SecretAccessKey'], 
aws_session_token = credentials['SessionToken'], 
region_name=CROSS_ACC_KINESIS_REGION)

我确实继续在调用ClientError操作时出错(ExpiredTokenException):请求中包含的安全令牌已过期

我认为当Lambda运行时,它应该能够一次又一次地得到令牌,所以我不需要刷新它。默认情况下,STS令牌在3600秒后到期。羔羊跑不了那么久。

如何检查令牌是否过期并刷新?

谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2019-04-05 22:57:00

您将在创建的凭据变量中发现过期。

凭据credentials['Expiration']

票数 0
EN

Stack Overflow用户

发布于 2019-11-06 21:24:09

在每次运行Lambda时,我都会检查Expiration,然后使用它来确定是否需要刷新STS令牌。

代码语言:javascript
复制
time_left = int(
        credentials['Expiration'].timestamp() - datetime.now().timestamp()
    )
    logger.info('STS Timeleft: {}'.format(time_left))
    # If time left is less than 5 minutes, refresh
    if time_left < 300:
        assumed_role_object = sts_client.assume_role(
            RoleArn=CROSS_ACC_KINESIS_ROLE,
            RoleSessionName='AssumeRoleSession1'
        )
        credentials = assumed_role_object['Credentials']
        logger.info("STS renewed. New Time: {}".format(
            credentials['Expiration']
        ))
        kinesis_cross_acc_client = boto3.client(
            'kinesis',
            aws_access_key_id=credentials['AccessKeyId'],
            aws_secret_access_key=credentials['SecretAccessKey'],
            aws_session_token=credentials['SessionToken'],
            region_name=CROSS_ACC_KINESIS_REGION
        )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48696100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档