一位同事向我提出为他安装 Power BI 的请求。据我了解,该软件根据数据库中的数据创建各种图表和报告。在这方面,我有一个问题。用户要求访问的数据库(MySQL
)对更改非常敏感,我不能允许他更改数据库中的任何内容。对此,我有一个问题——PowerBi究竟是如何与数据库通信的?它只执行SELECT
请求还是可以将数据写入数据库本身?我知道所有这些都可以使用不同的帐户进行限制,我对 Power BI 如何与数据库进行通信更感兴趣
那么 - 我是否需要纯粹为该用户单独转储数据库,还是可以让他访问生产数据库?
解决这个问题的正确方法是为这个人创建一个单独的授权 ID(用户),并只授予它最低限度的必要权限。这样,此人将无法执行其权限范围之外的任何操作,无论他们是使用 Power BI 还是任何其他客户端软件连接到数据库。
如果存在 BI 查询可能对生产数据库性能产生负面影响的风险,那么您应该维护一个单独的、定期更新的生产数据库实例,专门用于 BI 目的。如前所述,这并不否定限制对该数据库的访问的要求。
也许足以防止写入:
然后要求使用 Power BI 登录。
您可能需要的东西不止
SELECT
. 示例:EXECUTE
在需要存储例程的情况下。此时,保护被委托给SECURITY
子句以及例程的其他方面。无需创建单独的数据库 Power bi 只允许查看数据而不是任何类型的更新或删除。