I mean TTL not necessary lower the risk of exposure, but at least, lower the risk of unauthorizes user getting hold of the particular token, as token have to be renew after a period of time after the lease expired. It is configurable, and on edge case, it can be done that every request required a new token.
I could be wrong, but that my very vague initial understanding of how it works for accessing any secret repos using HTTP API calls.
Lets consider who are possible perpetrators.
1) MITM attack
2) Infiltrated hacking
3) Infra service provider
1) Solved with proper SSL conduit. This requires server(client side wrt key repo service) to store the credential of the key repo in the server. This portion is *normally* lifetime credentials
2) Someone whom can hack into your server to retrieve the credentials crossing RBAC/MAC/DAC most likely will be able to get your credentials to your key repo service.
3) Someone whom can get hold on your unencrypted storage at REST will be able to perform (2) easily
Initially your concern is you feel it is unsafe to store your secret in the server, and you feel you will lower your risk if your key is only stored in memory fetched across another service, but it is not any safer since one whom can get into your system would be capable of the same level of damage.
If you want to ensure your credentials are safe, then you should reinforce your entry to your servers.
Some concepts
1) Proper IDS to detect possible breach
2) Proper handling of secrets
3) Encryption of block devices storing credentials
4) Employ much stricter process and access control such as AppArmor, SELinux.
5) Control access to your service via secured bastion host
6) Restrict network access for administration.
7) Rotate your keys periodically.
If one can get access to your service using directly or indirectly obtained credentials, that's all it matters. The keys are not the most important issue here. It's what damages one can do with the obtained access and privileges.