首页 > 解决方案 > 具有持久实体的 Python Azure 计时器功能

问题描述

我目前正在尝试开发我的第一个 Azure Function,以充当 Defender for Endpoints 和 Azure Sentinel 之间的中介。它每 5 分钟运行一次,并从 Defender API 收集与特定筛选器匹配的数据,然后作为自定义日志转发到 Azure Sentinel。由于 Defender 上的身份验证措施到位,我已使用 ADAL 设置我的脚本,以便第一次进行设备代码登录,然后使用刷新令牌执行其预定运行。

这就是我遇到问题的地方;由于 Azure Functions 在设计上是无服务器的,因此将这个刷新令牌保存在某个地方以供下次调用已被证明很麻烦。我正在尝试使用 Durable Functions,但这种用例的文档似乎不存在。

是否有其他适当的方法可以跨 Azure 函数的调用存储单个变量?

标签: python-3.xazure-functionsazure-durable-functions

解决方案


有不止一种方法可以解决您在为每个新调用 Azure Functions 保留刷新令牌时所面临的问题。

解决此问题的一种方法是使用Azure 函数计时器触发器来请求新的访问令牌,并使用 Azure Key Vault安全地存储这些令牌。我们希望将它们保存在 Key Vault 中,以便下次调用函数再次刷新令牌时,我们将使用更新后的值,并且下一个函数将能够在调用时获取该值。

在此处输入图像描述

检查此文档以访问密钥保管库中的机密。

另一种方法是在 azure 函数中启用令牌存储并将其存储在 blob 存储中。查看此文档以获取更多信息。


推荐阅读