Azure active directory 如何使用基于令牌的标识RLS将多租户AAD单页web应用程序与嵌入的Power BI集成
我们正在尝试支持一个场景,它是以下内容的组合:Azure active directory 如何使用基于令牌的标识RLS将多租户AAD单页web应用程序与嵌入的Power BI集成,azure-active-directory,powerbi,azure-sql-database,powerbi-embedded,rls,Azure Active Directory,Powerbi,Azure Sql Database,Powerbi Embedded,Rls,我们正在尝试支持一个场景,它是以下内容的组合: 。所有租户的数据都在一个实例中 嵌入式Power BI报告基于对Azure SQL实例的直接查询,使用基于令牌的标识RLS,如所示 我们希望用户在我们的SPA上只登录一次,之后他应该能够看到嵌入的Power BI报告,其中只包含他应该看到的数据(RLS) 我们倾向于认为这两个概念是不可组合的,但我们希望这是错误的,希望这里的人能够纠正 简言之,我们的考虑是: 要支持“在一个DB实例中使用所有租户数据的多租户SPA”,我们必须使用/common权限
- 要支持“在一个DB实例中使用所有租户数据的多租户SPA”,我们必须使用/common权限。因此,登录用户是租户的AAD身份
- 为了支持“使用基于令牌的标识RLS嵌入的Power BI”,并因此在DB级别上应用RLS,我们需要相应的用户成为DB用户。但每个基于AAD的用户必须是DB租户(=ISV租户)中的(来宾)用户。此用户是我们(ISV)AAD租户中的一个身份,而不是租户自己的AAD租户
- 当使用/common作为SPA的登录权限时,我们在Power BI报告中收到以下错误消息:
- 只有当我们将SPA的登录权限设置为ISV的租户时,我们才能得到一份正确嵌入的电力BI报告,并应用相应的RL。但是,这不是一个选项,因为这样我们就不能再支持“在一个DB实例中使用所有租户数据的多租户SPA”场景了
虽然我们知道他们为什么说“它按预期工作”——但这并不能解决上面描述的问题。此外,我们也看不到代表身份验证方法在这里有什么帮助。Hmm,不是这一特定场景的专家,但RLS访问很可能会分配给租户中的来宾用户,对吗?或者可以将它们分配给租户中的用户吗?这里重要的一点是,他们的家庭租户中的用户与您的租户中的来宾用户不是同一个用户。