我有一个Azure函数应用程序(v1),我注意到对它的调用已停止,检查URL末尾的代码是否已更改。我确定它在前一天就可以使用了,我相信这段代码来自密钥,我们已经在调用应用程序中使用了它。
该应用程序已经很多天没有部署了。微软会经常这样转动这些键吗?还会有其他原因改变吗?
答案 0 :(得分:2)
AFAIK,除非
,Azure不会默默旋转功能秘密我们在应用程序设置中更改AzureWebJobsSecretStorageType
。
我们碰巧删除了包含密钥的文件。
说明:
Azure Functions当前支持两种关键的存储机制:文件系统和Blob存储。
默认情况下,功能V1使用文件系统,V2使用blob。我们可以设置AzureWebJobsSecretStorageType来切换模式。机密会重新生成,而不是在我们第一次切换模式时被复制。
对于文件系统,我们可以在kudu(https://functionappname.scm.azurewebsites.net/DebugConsole
)上找到加密的机密,然后导航到D:\home\data\functions\secrets
。
如果我们的功能应用程序处于使用计划中,我们还可以在由WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
指定的存储帐户(如果不更改的情况下,默认情况下与AzureWebJobsStorage
相同)下的文件共享名称下跟踪它们应用设置WEBSITE_CONTENTSHARE
,目录home\data\functions\secrets
。
对于blob,请转到由azure-webjobs-secrets
应用设置指定的存储帐户中的blob容器AzureWebJobsStorage
。
如果我们不小心删除了这些文件,Azure将生成新的机密。
答案 1 :(得分:2)
您可能在密钥生成中遇到了罕见的竞争条件。有一个修复程序,应在下周末发布。对其进行修复的PR在这里:https://github.com/Azure/azure-functions-host/pull/3590。