4

先决条件

我有一个适用于 AWS 但不明确处理凭据的脚本。它只是调用 AWS API,期望凭据根据默认凭据提供程序链存在。实际上,调用此脚本的包装器会获取临时凭证并将它们传递到环境变量(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN中。

问题

包装器通常重用现有凭据,并且仅在它们即将到期时明确要求重新进行身份验证。因此,它有可能通过的凭据还有几分钟的生存时间,这可能还不够,因为脚本执行通常需要很长时间。不幸的是,我无法控制包装器,所以我想让脚本在决定是否提前启动或中止之前检查它还剩下多少时间,以防止在飞行中失败。

AWS 似乎没有提供一种标准方法来查询“在当前会话到期之前我还有多少时间?” 如果我可以控制包装器,我也会让它在环境变量中传递到期日期。我希望这AWS_SESSION_TOKEN是一种 JWT 令牌,但不幸的是它不是,而且似乎不包含任何时间戳。

任何人都可以建议解决给定问题的任何其他方法吗?

4

0 回答 0