共享路径中的Azure Functions应用访问文件

时间:2019-12-20 00:16:11

标签: azure azure-functions

我正在尝试使用azure函数应用程序在 Azure VM 中从共享路径读取文件。

let networkDrive = require('windows-network-drive');
module.exports = function (context, myTimer) {    

context.log('start with');
networkDrive.mount("\\\\<IP Address>\\path","Y",'username','password')
.then(function(drive){
context.log("success");
context.log(drive);
})
.catch(function(error){
      context.log(error);
})
};

但是我得到“访问被拒绝”。但是,如果我从Azure VM的控制台尝试相同的代码,则它将按预期工作。是否需要在功能app / Azure VM中更改任何配置更改/设置才能使其正常工作。 任何对此的指点都值得赞赏。

2 个答案:

答案 0 :(得分:1)

如果它没有超时但拒绝访问,则似乎您的网络共享已在公共IP上打开。这对于蛮力攻击可能很危险,您需要进行一些身份验证。

您的VM当前显然不知道该功能应用程序的用户/服务帐户。 你可以

  • 将功能应用程序和VM都连接到Azure AD,因此您可以使用通用的安全主体来保护和访问您的共享

  • 将您共享的数据移至Azure Storage File服务。在没有AD的情况下,此方法可以正常工作,您只需在功能应用程序中使用访问令牌即可。

  • 将VM和功能应用程序都连接到单个私有VNET,并找到具有匿名访问或安全主体的解决方案。

我建议第二种解决方案。

答案 1 :(得分:0)

尝试将您的VM和功能放入同一VNET。