从租户B的PowerBI访问租户A Azure SQL数据库的最佳方式
租户B的PowerBI访问租户A托管Azure SQL数据库的最佳方案
下面是几种经过验证的可行方案,可根据你的安全需求和配置复杂度选择:
1. Azure AD跨租户身份验证(推荐)
这是最符合云原生安全规范的方案,依托Azure AD实现跨租户的身份管控:
- 操作步骤:
- 先在租户A的Azure SQL数据库中启用Azure AD身份验证,创建租户A的AD服务主体或用户,给它分配对应
client-B-DB的db_datareader等必要权限 - 登录租户A的Azure AD,添加租户B的用户或安全组作为外部身份,并确保该外部身份能访问目标Azure SQL数据库
- 租户B的PowerBI用户连接数据库时,选择「Azure Active Directory - 通用」身份验证方式,直接用自己的租户B账号登录即可
- 先在租户A的Azure SQL数据库中启用Azure AD身份验证,创建租户A的AD服务主体或用户,给它分配对应
- 优势:全程无需明文密码,权限可通过Azure AD统一管理,能随时调整或收回访问权限
- 注意点:需要确保两个租户的Azure AD之间的外部身份配置正确,PowerBI的账号必须被租户A的AD识别为合法外部身份
2. SQL Server身份验证(快速落地方案)
如果对跨租户AD配置有顾虑,可采用传统SQL账号方式:
- 操作步骤:
- 在租户A的Azure SQL数据库中创建一个独立的SQL登录账号,严格限制其权限仅能访问
client-B-DB(比如只给db_datareader权限) - 租户B的PowerBI用户连接时,选择「SQL Server身份验证」,输入该账号的用户名和密码
- 在租户A的Azure SQL数据库中创建一个独立的SQL登录账号,严格限制其权限仅能访问
- 优势:配置简单,不需要涉及跨租户AD的复杂设置,快速就能实现访问
- 注意点:必须妥善保管账号密码,定期更换,避免权限过大导致数据泄露风险
3. 私有网络+VPN/ExpressRoute(高安全场景)
如果你的数据属于敏感级别,要求全程避免公网传输:
- 操作步骤:
- 给租户A的Azure SQL数据库配置私有端点,将其纳入租户A的虚拟网络中,关闭公网访问
- 通过VPN或ExpressRoute建立租户B的PowerBI环境(比如使用PowerBI Premium容量并配置虚拟网络集成)与租户A虚拟网络的专线连接
- 再结合上述AD或SQL身份验证方式完成访问
- 优势:数据传输完全在私有网络内进行,彻底避免公网暴露,安全性拉满
- 注意点:配置复杂度高,需要额外的网络资源投入,适合对数据安全要求极高的场景
内容的提问来源于stack exchange,提问作者Ahmed
相关产品推荐
相关产品推荐

