【问题标题】:Azure MSI forced token refreshAzure MSI 强制令牌刷新
【发布时间】:2020-03-18 22:41:23
【问题描述】:

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

  1. 我从 Azure 请求用户管理标识的访问令牌,默认 TTL 为 8 小时。
  2. 然后为该令牌提供一个长时间运行的作业,假设该作业运行了 5 个小时并成功完成。
  3. 然后我的代码从 Azure IMDS 端点请求一个新令牌。 Azure,返回相同的访问令牌(现在有效 TTL 为 3 小时)。
  4. 此令牌提供给一个新的长时间运行的作业,该作业在 3 小时后失败。

我找不到任何有关如何强制刷新令牌的文档,因此当我请求第二个令牌时,它的到期时间是在第二个请求后 8 小时。事实上,我发现了一个blog,它说强制刷新是不可能的。

这看起来不对,应该有一种方法来强制刷新令牌(获取一个新的过期令牌)。有没有人遇到过这个问题,你是怎么解决的。

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

【问题讨论】:

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


    【解决方案1】:

    根据docs,好像没有那个参数。

    token caching section 他们还提到:

    只有在以下情况下才会产生对 Azure AD 的在线调用:

    由于 Azure 资源子系统缓存的托管标识中没有令牌而发生缓存未命中

    缓存的令牌已过期

    【讨论】:

    • 这是我目前的理解,有解决方法吗?即您可以强制清除托管身份的缓存吗?
    • 在生产中也遇到了这个问题。无法强制刷新 MSI 令牌,并且在 prod 到期之前一直处于关闭状态...有没有办法刷新给定资源的 MSI 令牌?
    【解决方案2】:

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

    【讨论】:

    • 你有没有得到这方面的更新?尝试对此进行测试非常令人沮丧!谢谢
    • 不幸的是,我没有,我不得不修改我的代码来处理这个:(
    猜你喜欢
    • 2018-03-29
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    • 2018-06-28
    • 2015-01-03
    相关资源
    最近更新 更多