如何防止SQL Server Analysis Services (SSAS) 数据库被逆向工程?
防止SSAS(SQL Server Analysis Services)数据库被逆向工程的可行方案
SSAS的逆向工程本质是拉取数据库的完整元数据结构,核心解决思路是限制普通用户的元数据读取权限,具体可操作的方法如下:
- 关闭普通角色的
读取定义权限:默认配置SSAS数据库访问角色时,很多管理员会误勾选读取定义权限,只要关闭该权限,即使用户拥有数据浏览权限、可以正常连接SSAS实例,也无法通过Visual Studio拉取元数据完成逆向工程。你可以在SSMS的对应SSAS数据库角色配置页的「常规」选项卡中,取消勾选读取定义即可生效,该限制对SSAS实例管理员账户不生效。 - 对模型元数据做混淆处理:如果使用的是SSAS表格模型,部署时可以开启元数据混淆选项,该功能会将模型内部的表、列、度量值的逻辑标识替换为不可读的哈希值,即便有人通过特殊渠道拿到了元数据,也无法直接还原出可读的业务结构和计算逻辑。
- 收紧直接连接权限:如果仅需要对外提供数据查询能力,优先通过Power BI、Excel等前端工具封装访问入口,不要给普通用户分发SSAS实例的直连字符串,从源头避免用户通过Visual Studio等工具直接连接实例。
注意:所有限制方案仅对非管理员的普通用户生效,拥有SSAS实例全局管理员权限的账户始终可以读取全量元数据,无法阻止其进行逆向工程操作。
内容的提问来源于stack exchange,提问作者Alex Wien
相关产品推荐
相关产品推荐

