有关 Power Query 的安全最佳实践

Power Query 提供从各种源提取、转换和加载数据的功能,并将其加载到 Power BI、Excel、Dataverse 和 Azure Data Lake Storage 等目标。 使用 Power Query 时,请务必遵循安全最佳做法来保护数据、配置和连接。

本文提供有关在使用 Power Query 时如何应用安全最佳做法的指导,帮助你防范外部风险。

数据保护

Power Query 处理来自各种源的数据,因此必须实施适当的数据保护措施,以防止未经授权的访问和源之间的数据泄露。

  • 为每个数据源配置隐私级别:设置适当的隐私级别(专用、组织、公共),以防止不同敏感度级别的源之间意外传输数据。 专用数据源无法与其他源共享数据,确保敏感信息保持受保护。 有关详细信息,请转到 Power Query 中的隐私级别

  • 避免忽略隐私级别:不要启用快速组合选项(“忽略隐私级别”),因为它可能会向未经授权的用户公开敏感或机密数据。 此设置可能会提高性能,但会损害安全措施。 有关详细信息,请转到 “设置隐私级别”选项

  • 安全地使用参数化查询:使用动态 M 查询参数时,请避免查询中的字符串串联,而是使用折叠到源查询的 M作来防止潜在的注入攻击。 请考虑使用内置于源查询语言中的参数传递机制(如果可用)。 有关详细信息,请转到 使用参数缓解安全风险

  • 加密数据连接:连接到支持加密的数据源时,始终启用安全连接选项。 例如,连接到数据库时,请确保在可用位置选择“使用加密连接”。 有关详细信息,请转到 Power Query Online 中的“连接”设置

  • 验证证书吊销状态:确保 SSL 连接包括证书吊销状态检查,以防止连接到已泄露的服务器。 尽管可以禁用这些检查,但这样做会导致数据面临安全风险。 有关详细信息,请转到 证书吊销

标识和访问管理

保护 Power Query 首先需要实施可靠的身份和访问控制,以确保只有经过授权的用户才能访问您的数据源和数据转换。

  • 在可用时使用Microsoft Entra ID 身份验证:使用 Microsoft Entra ID(前 Azure AD)对数据源进行安全身份验证,尤其是对于云服务。 此协议提供集中式标识管理,并支持条件访问和多重身份验证等功能。 有关详细信息,请转到 桌面应用中的身份验证

  • 实现最低特权访问:仅向通过 Power Query 连接到数据源的用户分配必要的权限。 避免在常规数据连接中使用管理员帐户或高特权帐户。 有关详细信息,请转到 Power Query Online 中的连接和身份验证

  • 限制非认证连接器:默认情况下,Power Query 在尝试加载未认证连接器时引发错误。 维护此设置以防止使用未验证的自定义连接器的安全性。 有关详细信息,请转到 数据扩展插件安全选项

  • 需要对本机查询进行用户批准:保留需要用户批准才能运行本机数据库查询的默认设置,因为它们可能会在用户具有足够权限时执行修改或删除数据库记录的恶意 SQL 语句。 有关详细信息,请转到 本机数据库查询

  • 安全地管理凭据存储:Power Query 会加密和存储与数据模型分开的凭据,从而促进凭据重用,而无需公开敏感信息。 确保只有经过授权的用户有权管理这些存储的凭据。 有关详细信息,请转到 Power BI 实现规划:内容创建者安全规划

网络安全

实施网络安全控制有助于保护 Power Query 连接,并防止未经授权访问数据源。

  • 对本地数据源使用数据网关:实现本地数据网关或虚拟网络数据网关,以安全地连接到专用网络中的数据源,而无需将其公开到公共 Internet。 有关详细信息,请转到 “连接到 Power Query 数据源”。

  • 为敏感数据实现网络隔离:使用虚拟网络数据网关连接到虚拟网络中的 Azure 服务,而无需虚拟机上的本地数据网关。 使用虚拟网络网关可为敏感数据提供另一层网络隔离。 有关详细信息,请转到 虚拟网络数据网关

  • 为所有连接启用 TLS 加密:确保与数据源的连接使用传输层安全性(TLS)加密与新式密码套件。 可能不支持过时的密码套件,并可能带来安全风险。 有关详细信息,请转到 Power Query 密码套件

  • 配置用于数据源访问的防火墙:将 Power Query Online 与 Azure 存储或其他云服务配合使用时,请确保正确配置以允许经过身份验证的连接,同时阻止未经授权的访问。 有关详细信息,请转到 Azure Blob 存储限制

日志记录和监控

实施全面的日志记录和监视有助于检测可疑活动,并排查 Power Query 部署问题。

  • 为敏感操作启用查询诊断:使用 Power BI Desktop 中的查询诊断来调查 Power Query 的性能,并了解发送到数据源的查询内容。 这些诊断用于验证查询折叠的正常运作。 但是,除非需要查询诊断进行故障排除,否则最好将这些诊断保持关闭状态。 这些诊断存储在日志文件中,可能包含客户内容,例如查询名称、源路径等。 有关详细信息,请转到 查询诊断

  • 使用适当的 Web 预览警告级别 - 在 Power Query 桌面版本中使用相应的 Web 预览警告级别。 适度和严格确保你不会加载之前未访问的任何网站,这可以防止你加载恶意网站。 Power Query 中的 Web 预览警告级别选项仅适用于 Power BI Desktop 或 Excel。

  • 监视发送到数据源的本机查询:为了确保查询不包含意外或潜在的有害作,请定期查看发送到数据源的实际查询。 查询诊断可以帮助识别正在发送的查询。 有关详细信息,请访问 查询评估和折叠

  • 跟踪数据源连接:监视正在被访问的数据源、访问频率以及哪些用户,以识别出可能指示安全问题的异常访问模式。 有关详细信息,请转到 性能监视

  • 审核数据流操作:使用 Power BI 活动日志跟踪 Power BI 数据流的用户活动,以保持对数据转换操作的可见性。 有关详细信息,请转到 数据流监视

特定于服务的安全性

Power Query 包括与其在不同Microsoft产品和服务中的实现相关的特定安全注意事项。

  • 验证自定义连接器:如果使用自定义连接器,请确保它们来自受信任的源,并正确查看是否存在安全漏洞。 最好尽可能使用经过认证的连接器。 有关详细信息,请转到 自定义连接器

  • 保护 R 和 Python 脚本:在 Power Query 中使用 R 或 Python 脚本时,请注意,它们使用用户的权限执行,并可能访问敏感数据。 仅使用来自受信任源的脚本并设置适当的隐私级别。 有关详细信息,请查看 在 Power Query 编辑器中使用 R

网关的最佳做法

  • 考虑针对关键工作负荷的网关群集:对于具有关键数据处理需求的企业环境,实现网关群集以提高可靠性和满足各种数据源的不同符合性或安全要求。 有关详细信息,请转到 “连接到本地资源”。

了解详细信息