安全性 (Master Data Services)

适用于:Windows Azure SQL 托管实例上的 SQL Server

重要

Master Data Services(MDS)在 SQL Server 2025(17.x)中被移除。 我们继续支持 SQL Server 2022(16.x)和早期版本中的 MDS。

在 Master Data Services (MDS)中,使用安全性来确保用户仅访问其作业所需的特定主数据,并阻止用户访问不应可供其使用的数据。

还可以使用安全设置使某人成为特定模型和功能区域的管理员。 例如,你可以授予某人创建客户模型版本的能力,或授予他们设置安全权限的能力。

Master Data Services 安全性基于本地或 Active Directory(AD)域用户和组。 MDS 安全设置允许您在确定用户可以访问的数据时使用不同的详细粒度级别。 由于粒度较小,安全性容易变得复杂。 向重叠的用户和组分配权限时请谨慎。 有关详细信息,请参阅 重叠的用户和组权限

可以在主数据管理器 Web 应用程序的“用户和组权限”功能区域中分配安全访问权限,也可使用 Web 服务进行分配。

用户类型

Master Data Services 中有两种类型的用户:

  • 访问 Explorer 功能区域中数据的用户。

  • 能够在 资源管理器以外的区域执行管理任务的用户。 这些用户称为 管理员

如何设置安全性

若要授予用户或组访问 MDS 中的数据或功能的权限,请分配:

  • 功能区域权限,用于确定用户可以访问的用户界面的五个功能区域中的哪一个。

  • 模型对象权限,用于确定用户可以访问的属性,以及用户对这些属性具有的访问类型(读取、创建和更新)。 还可以在模型级别分配管理员权限。

  • (可选) 层次结构成员权限,用于确定用户可以访问的成员,以及用户对这些成员拥有的访问类型(读取、更新和删除)。

分配对属性和成员的权限时,权限可能交叉,此时由规则确定哪个权限优先。 有关详细信息,请参阅 如何确定权限

Excel 外接程序中的安全设置

主数据管理器 Web 应用中的安全设置同样适用于 Excel 加载项。 用户只能查看和使用他们有权访问的数据。 管理员可以执行管理任务。

唯一的注意事项是,Master Data Manager 中分配的所有安全性在 20 分钟间隔过后才会在 Excel 中生效。 该 MdsMaximumUserInformationCacheInterval 设置在 web.config 文件中定义此间隔。 若要更改间隔,请更改设置并重启 Internet Information Services (IIS)。

Master Data Services 中的安全风险

本部分概述了与 Master Data Services(MDS)相关的潜在安全风险。 与停用功能关联的某些旧工具可能会引入漏洞,产品本身可以包含固有的安全风险。 提供了以下信息,以便你可以采取适当的措施。

Title Description 建议
授权模型 MDS 使用自定义授权模型,在应用程序级别强制执行访问控制。 如果攻击者可以操控内部用户列表或利用授权逻辑中的缺陷,他们可以完全访问主数据。 为了减少用户列表作或授权缺陷的影响,请汇总自定义授权模型中的风险,并概述强化措施,例如网络隔离、严格的最低特权服务帐户和全面的审核。
采用旧技术 MDS 已从 SQL Server 2025(17.x)中删除,早期版本仅接收安全更新,从而增加一段时间内漏洞和作问题的风险。 关键示例是 MDS 依赖于 ActiveX,而 ActiveX 需要使用已正式停用且不再受支持的 Internet Explorer。 规划在生命周期结束前迁移到受支持的平台,并避免进行 MDS 的新部署。 对于现有安装,通过限制对旧组件(如 ActiveX 和 Internet Explorer)的访问来最大程度地减少暴露,尽可能使用新式浏览器,并实现网络隔离和增强监视等补偿控制。 评估主数据管理(MDM)的替代解决方案(例如Microsoft Purview 或合作伙伴 MDM 平台),并制定分阶段迁移策略以确保业务连续性和安全性。
数据篡改和完整性攻击 有权访问 Master Data Services 的不良参与者可以修改主数据,从而导致企业资源规划(ERP)、客户关系管理(CRM)或报告系统中的下游损坏。 为了减轻数据篡改的风险及其潜在影响,下面是一些可行的建议:实现事务日志记录和版本控制、使用对帐流程进行完整性检查、通过更改审批工作流进行基于角色的访问控制以及可靠的备份和恢复过程。
数据加密和筛选 MDS 可能会存储敏感数据(例如客户记录、员工详细信息)。 如果绕过了访问控制,可以外泄此数据。 MDS 与 SQL Server 加密选项的兼容性受到限制。 例如,Always Encrypted 可能会中断 MDS 规则和层次结构,而透明数据加密(TDE)仅保护静态数据。 为了提高安全性,请启用 TDE,尽可能应用动态数据掩码,并配置 SQL Server 审核以监视访问。 避免存储高度敏感的数据,除非这些保护已到位。 对于高级治理,请考虑迁移到具有内置保护的平台,比如 Microsoft Purview,并结合使用合作伙伴 MDM 解决方案。
数据引入 MDS 支持通过多种方法(包括过渡表)引入数据。 有关详细信息,请参阅 概述:从表导入数据。 在这种情况下,可能会出现一些安全问题。 在 Master Data Services 中使用临时表进行数据导入时,强制实施严格的控制以防止安全问题。 首选基于拉取的引入进行集中式治理,需要具有最低特权的唯一服务标识,并在提交数据之前验证架构和业务规则。 通过记录所有引入事件来确保完全可审核性,并使用单独的暂存架构或表隔离参与者,以避免交叉污染。
任务说明 Article
创建对模型具有完全权限的用户。 创建模型管理员
将 Active Directory 组添加到 Master Data Services。 此步骤是授予一个组权限以访问 Master Data Services 网页应用程序中数据的第一步。 添加组
分配对 Master Data Services Web 应用程序功能区域的权限。 分配功能区域权限
通过将权限分配给模型对象来将权限分配给属性值。 分配模型对象权限
通过将权限分配给层次结构节点来将权限分配给成员值。 分配层次结构成员权限