【问题标题】:Azure Functions App access files from Shared PathAzure Functions App 从共享路径访问文件
【发布时间】:2020-01-06 18:04:42
【问题描述】:

我正在尝试使用 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 的控制台尝试相同的代码,它会按预期工作。功能应用程序/Azure VM 中是否有任何配置更改/设置要更改以使其工作。 对此的任何指针表示赞赏。

【问题讨论】:

    标签: azure azure-functions


    【解决方案1】:

    尝试将你的虚拟机和函数放到同一个 VNET 中。

    【讨论】:

      【解决方案2】:

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

      函数应用的用户/服务帐户当前显然对您的 VM 是未知的。 你可以

      • 将函数应用和您的 VM 连接到 Azure AD,以便您可以使用通用安全主体来保护和访问您的共享

      • 将您共享的数据移至Azure Storage File 服务。这在没有 AD 的情况下也能正常工作,您只需在函数应用中使用访问令牌。

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

      我推荐第二种解决方案。

      【讨论】:

        猜你喜欢
        • 2019-07-11
        • 1970-01-01
        • 2015-04-27
        • 1970-01-01
        • 2022-01-11
        • 2020-01-28
        • 1970-01-01
        • 2018-07-01
        • 2021-12-27
        相关资源
        最近更新 更多