requisitos previos
Tengo una secuencia de comandos que funciona con AWS pero que no se ocupa de las credenciales de forma explícita. Simplemente llama a la API de AWS, esperando que las credenciales estén allí de acuerdo con la cadena de proveedores de credenciales predeterminada . De hecho, el contenedor que llama a este script obtiene credenciales temporales y las pasa en variables de entorno ( AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN ).
Problema
El envoltorio generalmente reutiliza las credenciales existentes y solo solicita volver a autenticarse explícitamente cuando están a punto de caducar. Por lo tanto, existe la posibilidad de que pase credenciales a las que les quedan algunos minutos de vida, lo que puede no ser suficiente, ya que la ejecución del script suele llevar mucho tiempo. Desafortunadamente, no tengo control sobre el envoltorio, por lo que me gustaría hacer que el script verifique cuánto tiempo le queda antes de tomar la decisión de iniciar o cancelar antes de tiempo para evitar fallas en el medio del vuelo.
AWS no parece proporcionar una forma estándar de consultar "¿cuánto tiempo tengo antes de que caduque mi sesión actual?" Si tuviera control sobre el contenedor, también haría que pasara la fecha de vencimiento en una variable de entorno. Esperaba que AWS_SESSION_TOKEN una especie de token JWT, pero desafortunadamente no lo es y no parece contener ninguna marca de tiempo.
¿Alguien puede sugerir otras formas de solucionar el problema dado?