Excel 365:有没有办法完全保护(隐藏或加密)数据源提供的 URL?

Excel 365:有没有办法完全保护(隐藏或加密)数据源提供的 URL?

我正在使用数据源“From webb”将数据导入 Excel 356。提供的 URL 包含一个 API 密钥,我不想在共享 Excel 文件时与他人共享该密钥。我可以使用“保护工作表”来阻止访问 Power Query。但该 URL 仍然可以访问,并且可以从 Data\Get Data\Data Source Settings 复制...

是否可以在数据源设置列表中隐藏或加密 URL?(我仍然希望数据源能够为与我共享 Excel 文件的用户工作。)

答案1

从这个例子https://docs.microsoft.com/en-us/powerquery-m/web-contents#example-3 查看有关 Power Query 的信息https://docs.microsoft.com/en-us/power-query/connectorauthentication

我们找到了一个可能对我们有用的解决方案,尽管不是那么顺利:

  1. 使数据源期望 API 密钥的 URL 如下所示:“https://contoso.com/api/customers/get?api_key=******”。
  2. 打开 Power Query 编辑器并从那里添加查询,信息类似于以下内容: Csv.Document(Web.Contents("https://contoso.com/api/customers/get",[ApiKeyName="api_key"]),[Delimiter=";", Encoding=65001])
    (使用添加数据源“来自 webb”的快捷方式有点棘手,因为 api_key 是必需的但尚未设置为查询)。
  3. 提供 API 密钥(安全级别私有)的身份验证设置以获取数据,方法是单击提示您身份验证尚未完成的按钮,或从菜单中的数据源设置选项中进行设置。(从菜单中:首先选择源,然后选择编辑按钮。单击身份验证设置的编辑。)选择 Web API 密钥选项并提供实际密钥值(******)。选择此密钥对哪个级别的 URL 有效。
  4. 保存并分发文件。

系统提示您密码在传输时不会被加密。但在将此文件分发给其他人时,他们必须提供带有 API 密钥的身份验证设置才能刷新数据 - 在我们的例子中,这似乎已经足够了。

答案2

我认为你最好通过隐蔽性来实现安全性。选项按实施难易程度/安全性最弱的顺序排列:

  1. 使用链接缩短工具来隐藏 URL
  2. 将网络数据放在隐藏的工作表中?但我不确定这是否真的有帮助。
  3. 编写您自己的刷新按钮,输入源 URL、执行刷新、删除 URL。记得禁用事件和屏幕更新,并使用密码保护您的代码。
  4. 将网络更新放入另一个 SharePoint 工作簿中。将其设置为打开时自动更新。设置一个自动化脚本,每天多次在您的电脑上打开、保存和关闭文件。从共享工作簿链接到此数据。
  5. 如果您有 365,请查看 MS Power Automate 下载网络数据并转储到共享文件夹。

相关内容