5

我正在与一个使用 Office 365 的大型企业客户合作,我们有一个在 azure 中运行的应用程序,如果他们没有从他们的公司机器登录,我们需要阻止某些操作..

原则上,我们希望在用户不使用公司管理的笔记本电脑时禁用“导出为 Excel”功能。

例如,如果我尝试从我的家用计算机登录到 OUTLOOK,我得到下面的图像,我怎样才能为我们的应用程序实现类似的功能?

在此处输入图像描述

4

5 回答 5

3

您可能想要的是某种 DRM(数字版权管理)。由于禁用导出不会阻止用户在公司笔记本电脑上导出文档,然后将其复制到另一台 PC。

出 Azure 信息保护

于 2020-08-18T01:01:28.297 回答
2

如果您如此关心公司机密,我认为您应该应用跳转服务器。

可以限制只能对 jumpserver 进行操作的用户(将可访问的 ip 地址限制为 jumpserver ip)。通过jumpserver,可以监控用户的所有操作,包括录屏、网络访问记录、命令历史等。

有一个开源的jumnpserver,支持的功能比我提到的要多。但不幸的是,该文件是由中文编写的。或者您可能对azure-bastion等支付服务感兴趣。

于 2020-08-18T01:18:55.727 回答
2

也许您应该在只能在您的公司网络中访问的网络服务器上发布您的内部代码。这限制了对公司网络中计算机的访问,但也可以使用访客计算机进行访问。

  1. 设置公司内部网络服务器,为您的按钮提供 HTML/JavaScript 代码
  2. 在您的网络应用程序中,您从该内部网络服务器加载按钮的 HTML-/JavaScript 代码。只要您的管理员在您的公司防火墙中没有这样说,公司网络之外的每个人都无法访问它。
  3. 当用户按下该按钮时交付导出文件的 Web 服务也在该内部 Web 服务器上运行,该内部 Web 服务器无法从外部访问。

这是第二种(不安全!但更轻量级)的方法来检测计算机是否在您的公司网络中(但可能是来宾计算机):

  1. 在公司网络中设置本地网络服务器
  2. 这个网络服务器只提供一个很小的 ​​JavaScript 来设置一个变量。就像是window.computerIsInCorporateNetwork=true
  3. 在您的 web 应用程序中检查此变量并激活/停用您的 Excel 按钮(或您想要隐藏/禁用的任何内容)。

这并不安全,因为知道变量名称的每个人都可以通过浏览器控制台设置它。

第三种方法是你...

  1. 对本地网络服务器进行 JavaScript GET 调用并请求 empty.html 或类似的东西。
  2. 决定取决于您是否到达您的本地网络服务器(HTTP 响应代码等于 200)来激活/停用您的 Excel 按钮。

这并不安全,因为每个人都可以直接在浏览器中操作 JavaScript。

于 2020-08-21T07:55:46.967 回答
0

仅加密

仅加密选项可用Exchange Online,您可以在 Outlook Web 上为邮件流规则选择此选项。并且从Outlook for Office 365. 它加密电子邮件,收件人无法保存或导出文件。

另一种方法是通过指定更改文档的保护继承:

Set-IRMConfiguration -DecryptAttachmentForEncryptOnly $true

欲了解更多信息 看看这里

于 2020-08-15T16:01:56.537 回答
0

如果您没有被迫使用 Microsoft Azure 登录,也许使用 Kerberos 是一个答案。

我不详细了解 Kerberos 的概念,但我认为对于 Kerberos,您在浏览器中安装证书,并使用此证书在 Kerberos 身份验证服务器上进行身份验证并获取另一个令牌。有了这个,您的浏览器会请求一项服务,该服务可能会提供带有您的 Excel 按钮的页面,也可能不提供。

如果您收到经过 Kerberos 身份验证的请求,则该计算机可能位于您的公司网络中,并且安装了有效的证书,这对于来宾计算机不正确。

于 2020-08-21T08:09:19.403 回答