背景:从“共享账号”到“人人自带身份”的转变
在 Power BI 的 Starburst 连接器中使用 DirectQuery 模式时,过去常见的做法是使用一个固定的服务账号连接 Starburst 数据源。这意味着所有报表查看者在查询语义模型(Semantic Model)时,后台都共享同一个数据库身份。这种做法虽然配置简单,却带来了两个核心问题:一是无法在 Starburst 侧实现基于用户身份的细粒度权限控制(如行级安全、列级安全);二是审计日志中只能看到服务账号的活动,无法追溯到具体用户。
如今,Microsoft Entra ID 单点登录(Single Sign-On,SSO)功能在 Starburst 连接器上进入预览阶段,彻底改变了这一局面。启用后,报表查看者使用自己的 Entra ID 身份直接认证到 Starburst,Starburst 的访问策略(包括行级安全规则和列级安全规则)将基于实际最终用户进行评估,而非固定的连接账号。这意味着数据权限的控制权可以完全交给 Starburst 侧,Power BI 只负责传递身份信息。
技术原理:身份传递与权限评估的闭环
启用 Entra ID SSO 后,Power BI 与 Starburst 之间的交互流程发生了关键变化:
- 身份获取:当用户打开一个基于 Starburst 连接器的 DirectQuery 报表时,Power BI 服务会获取该用户的 Entra ID 令牌。
- 令牌传递:Power BI 将令牌通过 Starburst 连接器发送给 Starburst 网关或集群。
- 身份映射:Starburst 将 Entra ID 令牌映射到其内部用户或外部身份提供者(IdP)配置,完成认证。
- 权限评估:Starburst 根据该用户的身份,动态应用行级安全(Row-Level Security, RLS)和列级安全(Column-Level Security, CLS)规则,仅返回用户有权看到的数据。
整个过程中,Power BI 语义模型本身不需要额外配置 RLS 规则——所有权限逻辑都在 Starburst 侧定义。这大大简化了 Power BI 端的维护工作,尤其适合那些已经在 Starburst 中建立了完善权限体系的企业。
配置要点:需要关注的三个关键环节
虽然功能本身是预览状态,但配置过程并不复杂,有几个关键点值得注意:
- Starburst 侧的身份提供者配置:需要确保 Starburst 集群已配置为信任 Entra ID 作为身份提供者。这通常涉及在 Starburst 的
access-control.properties或类似配置文件中启用 OAuth 2.0 认证,并填入 Entra ID 的租户 ID、客户端 ID 等信息。 - Power BI 服务设置:在 Power BI 管理门户中,需要为 Starburst 连接器启用 SSO 支持。具体路径为“管理门户” -> “租户设置” -> “允许使用 Microsoft Entra ID 单点登录进行数据源查询”。注意该设置需要管理员权限。
- 语义模型的数据源配置:在 Power BI Desktop 中创建或编辑 Starburst 数据源时,需要在高级选项中选择“使用 Microsoft Entra ID 单点登录”。发布到服务后,还需要在数据集设置中更新数据源凭据,选择“OAuth2”认证方式。
实际收益:权限下沉与审计增强
启用 SSO 后,最直接的变化体现在两个场景:
场景一:行级安全自动生效
假设 Starburst 中有一张销售表,定义了“销售人员只能查看自己负责的客户”的行级安全规则。过去使用固定账号时,所有用户看到的是同一份数据,需要在 Power BI 中额外配置 RLS 规则,且维护两套权限体系。现在,用户 A 和用户 B 打开同一份报表,看到的数据行完全不同——Starburst 根据他们的 Entra ID 身份自动过滤。
场景二:审计日志可追溯
Starburst 的查询审计日志中,每条记录都会附带用户的 Entra ID 标识。当需要排查某个数据泄露事件或异常查询时,可以直接定位到具体用户,而不再是模糊的服务账号。这对于满足合规要求(如 GDPR、等保)非常有价值。
注意事项与预览版限制
作为预览功能,有几个现实问题需要提前了解:
- 仅支持 DirectQuery 模式:该功能仅适用于 DirectQuery 连接,不支持导入模式或复合模型(Composite Model)中的 DirectQuery 部分。
- 需要 Starburst 版本支持:并非所有 Starburst 版本都支持 Entra ID SSO。建议确认 Starburst 集群版本在 400 系列以上,并已正确配置 OAuth 2.0 认证。
- 性能影响:每次查询都需要传递令牌并进行身份映射,相比固定账号会有微小的额外延迟。对于高并发场景,建议先进行性能基准测试。
- 令牌有效期:Entra ID 令牌有默认有效期(通常为 1 小时),Power BI 服务会自动刷新,但若用户长时间离开后返回,可能遇到短暂的重新认证提示。
展望:身份与数据权限的统一
Starburst 连接器的 Entra ID SSO 功能,本质上是将数据访问控制从 BI 工具层下沉到了数据源层。这种做法更符合现代数据架构中“数据网格”或“数据联邦”的理念——数据所有者负责定义权限,分析工具只负责呈现。对于已经采用 Starburst 作为统一查询引擎的企业,这无疑是一个降低维护成本、提升安全性的实用功能。随着该功能从预览走向正式发布,预计会有更多 Power BI 连接器支持类似的身份传递机制,推动整个 BI 生态向“零信任”数据访问演进。





