授予数据源对象的权限 (Analysis Services)
适用于: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
通常,SQL Server Analysis Services的大多数用户不需要访问SQL Server Analysis Services项目基础的数据源。 用户通常只查询SQL Server Analysis Services数据库中的数据。 但是,在数据挖掘上下文中(如根据挖掘模型执行预测),用户必须将挖掘模型的已学习数据与用户提供的数据联接起来。 为了连接到包含用户提供的数据的数据源,用户使用包含 OPENQUERY (DMX) 和 OPENROWSET (DMX) 子句的 DMX (数据挖掘扩展插件) 查询。
若要执行连接到数据源的 DMX 查询,用户必须有权访问SQL Server Analysis Services数据库中的数据源对象。 默认情况下,只有数据库管理员或服务器管理员具有访问数据源对象的权限。 这意味着,除非管理员授予权限,否则用户将不能访问数据源对象。
重要
出于安全方面的考虑,系统禁止在 OPENROWSET 子句中使用公开连接字符串来提交 DMX 查询。
设置对数据源的读取权限
可以使数据库角色无权访问数据源对象,也可以授予其读取权限。
在 SQL Server Management Studio,连接到 SQL Server Analysis Services 实例,在对象资源管理器中展开相应数据库的角色,然后单击数据库角色 (或) 创建新的数据库角色。
在“数据源访问”窗格 ,找到“数据源”列表中的数据源对象 ,然后在该数据源的“访问”列表 中选择“读” 。 如果此选项不可用,请检查“常规” 面板,以查看是否已选择“完全控制”。 “完全控制”已在提供权限,你不能覆盖数据源上的权限。
使用数据源对象使用的连接字符串
数据源对象包括用于连接到基础数据源的连接字符串。 此连接字符串可以指定以下内容之一:
指定用户名和密码
如果数据源对象使用的连接字符串指定了用户名和密码,则可以创建多个数据源对象,每个对象都有不同的用户帐户。 通过创建多个数据源对象,可允许用户访问某些数据源对象,并可阻止用户访问其他数据源对象。 这些其他数据源对象可由SQL Server Analysis Services本身用于处理对象,例如多维数据集和挖掘模型。
指定 Windows 身份验证
如果数据源对象使用的连接字符串指定 Windows 身份验证,SQL Server Analysis Services必须能够模拟客户端。 如果数据源在远程计算机上,两台计算机必须使用 Kerberos 身份验证建立模拟信任,否则查询一般会失败。 有关详细信息,请参阅 Configure Analysis Services for Kerberos constrained delegation 。
如果客户端不允许通过 OLE DB 和其他客户端组件中的模拟级别属性 (模拟) ,SQL Server Analysis Services将尝试与基础数据源建立匿名连接。 糯米连接到远程数据源很少成功,这是因为大多数数据源不接受匿名连接。)
另请参阅
多维模型中的数据源
连接字符串属性 (Analysis Services)
Analysis Services 支持的身份验证方法
授予对维度数据的自定义访问权限 (Analysis Services)
授予多维数据集或模型权限 (Analysis Services)
授予单元数据的自定义访问权限 (Analysis Services)