保护和监视数据仓库

已完成

确保安全性和进行监视对管理数据仓库而言至关重要。

安全性

数据仓库安全性对于保护数据免受未经授权的访问非常重要。 Fabric 提供了许多安全功能来帮助保护数据仓库。 其中包括:

  • 基于角色的访问控制 (RBAC),用于控制对仓库及其数据的访问。
  • SSL 加密,用于保护仓库与客户端应用程序之间的通信。
  • Azure 存储服务加密,用于保护传输中的数据和静态数据。
  • Azure Monitor 和 Azure Log Analytics,用于监视仓库活动并审核对数据的访问。
  • 多重身份验证 (MFA),用于向用户帐户添加额外的安全层。
  • 用于管理用户标识和对仓库的访问权限的 Microsoft Entra ID 集成。

工作区权限

Fabric 中的数据会被整理到工作区中,用于控制访问权限并管理数据和服务的生命周期。 适当的工作区角色是保护数据仓库的第一道防线。

除了工作区角色之外,还可以通过 SQL 授予项权限和访问权限。

提示

有关工作区角色的详细信息,请参阅 Power BI 中的工作区

项权限

与适用于工作区中的所有项的工作区角色不同,你可以使用项权限授予对各个仓库的访问权限。 这使你能够共享单个数据仓库以供下游使用。

可以通过 T-SQL 或在 Fabric 门户中向用户授予权限。 向需要访问数据仓库的用户授予以下权限:

  • Read:允许用户使用 SQL 连接字符串进行连接。
  • ReadData:允许用户从仓库内的任何表/视图读取数据。
  • ReadAll:允许用户读取 OneLake 中可供 Spark 使用的原始 parquet 文件的数据。

如果没有最低的读取权限,与 SQL 分析终结点的用户连接将会失败。

监视

监视数据仓库中的活动对于确保实现最佳性能、高资源利用率和安全性至关重要。 它可帮助你识别问题、检测异常,并采取措施以保持数据仓库平稳、安全地运行。

可以使用动态管理视图 (DMV) 监视连接、会话和请求状态,以查看实时 SQL 查询生命周期见解。 凭借 DMV,可以获取活动查询数等详细信息,并识别哪些查询正在长时间运行并且需要终止。

目前,Fabric 中可以使用三种 DMV:

  • sys.dm_exec_connections:返回有关在仓库和引擎之间建立的每个连接的信息。
  • sys.dm_exec_sessions:返回有关在项和引擎之间经过身份验证的每个会话的信息。
  • sys.dm_exec_requests:返回有关会话中每个活动请求的信息。

监视查询

使用“sys.dm_exec_requests”识别可能影响数据库整体性能的长时间运行的查询,并采取适当措施来优化或终止这些查询。

首先识别运行了很长时间的查询。 使用以下查询识别哪些查询运行的时间最长,按降序排列:

    SELECT request_id, session_id, start_time, total_elapsed_time
    FROM sys.dm_exec_requests
    WHERE status = 'running'
    ORDER BY total_elapsed_time DESC;

通过运行以下命令,你可以继续进行调查,了解哪个用户运行具有长时间运行的查询的会话:

    SELECT login_name
    FROM sys.dm_exec_sessions
    WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

最后,可以使用 KILL 命令来终止具有长时间运行的查询的会话:

    KILL 'SESSION_ID WITH LONG-RUNNING QUERY';

重要

必须是工作区管理员才能运行 KILL 命令。 工作区管理员可以执行所有三种 DMV。 “成员”、“参与者”和“查看者”角色可以在仓库中查看他们自己的结果,但无法查看其他用户的结果。