Azure MSI强制令牌刷新

时间:2019-11-22 20:31:10

标签: azure access-token azure-managed-identity

我有使用Azure MSI tokens访问ADLS Gen 2存储的长期运行的作业。我遇到了Azure服务器端token caching问题。 这是我的设置:

  1. 我从Azure请求用户托管身份的访问令牌,默认TTL是8小时。
  2. 然后给该令牌一个长期运行的工作,例如说该工作运行5个小时并成功完成。
  3. 然后,我的代码从Azure IMDS终结点请求新令牌。 Azure,向我返回了相同的访问令牌(现在具有3个小时的有效TTL)。
  4. 此令牌已分配给新的长期运行的作业,该作业在3小时后失败。

我找不到有关如何强制刷新令牌的任何文档,因此,当我请求第二个令牌时,它的到期时间是第二次请求之后的8小时。实际上,我发现blog表示无法进行强制刷新。

这看起来不正确,应该有一种方法可以强制刷新令牌(获取具有新到期时间的新令牌)。有没有人遇到过这个问题,您是如何解决的。

注意:作业运行所在的进程无法从Azure终结点请求令牌。

2 个答案:

答案 0 :(得分:1)

我与Azure MSI团队保持联系,并被告知这是平台限制,什么也不能做。令牌可以在到期前5分钟刷新(创建时间后7小时55分钟)。有人告诉我,几个月后我们应该能够在2-3小时后强制更新令牌。

答案 1 :(得分:0)

基于docs,似乎没有相应的参数。

token caching section中,他们还提到:

  

仅在以下情况下对Azure AD进行在线调用

:      

由于Azure资源子系统缓存的托管身份中没有令牌,因此发生缓存未命

     

缓存的令牌已过期