保护和监视数据仓库
确保安全性和进行监视对管理数据仓库而言至关重要。
安全性
数据仓库安全性对于保护数据免受未经授权的访问非常重要。 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。 “成员”、“参与者”和“查看者”角色可以在仓库中查看他们自己的结果,但无法查看其他用户的结果。