简体   繁体   English

SSAS表格-通过从Rest API中读取安全权利来应用行级过滤

[英]SSAS Tabular - Apply row level filtering by reading security entitlements from Rest API

In our organization user's authentication and authorization information is managed by one team. 在我们组织中,用户的身份验证和授权信息由一个团队管理。 User's auth information can be read through certain Rest APIs as provided by this team. 可以通过此小组提供的某些Rest API读取用户的身份验证信息。

Our business data is managed in SSAS tabular, where business users can connect to SSAS tabular by multiple clients like Power BI, SSRS, Excel, Rest APIs etc. We need to provide row level filtering on our business data where entitlements should be matched by the data returned by Rest APIs. 我们的业务数据以SSAS表格进行管理,业务用户可以通过多个客户端(例如Power BI,SSRS,Excel,Rest API等)连接到SSAS表格。我们需要在业务数据上提供行级过滤,其中权利应与Rest API返回的数据。

I don't want to cache the security data in SSAS, but want to apply the filtering at runtime. 我不想在SSAS中缓存安全数据,但希望在运行时应用筛选。 With MDX this seems to be achievable by using MDX Stored Procedures. 使用MDX,这似乎可以通过使用MDX存储过程来实现。 DAX doesn't seems to provide any stored proc functionality. DAX似乎没有提供任何存储的proc功能。

Can someone please suggest what are the probable solutions to this problem? 有人可以建议解决此问题的可能方法是什么?

Thanks 谢谢

There is currently no supported way to apply security data from an outside source at runtime. 当前尚不支持在运行时从外部源应用安全数据的方法。 Theoretically, it could be done if your Tabular model is using DirectQuery, but the performance would probably suffer a lot. 从理论上讲,如果您的表格模型使用DirectQuery可以完成,但是性能可能会受到很大影响。

That means you are stuck with two options: 这意味着您有两个选择:

  • Caching the security data in a table in the Tabular model, that you refresh from the API as often as needed (for example once every 5 minutes) 将安全性数据缓存在表格模型中的表中,您可以根据需要从API刷新频率(例如,每5分钟刷新一次)
  • Using TOM to dynamically change the role members of your security roles based on the data returned from the rest API. 使用TOM根据其余API返回的数据动态更改安全角色的角色成员。 You would need an external job that could do this as often as needed. 您将需要可以根据需要经常执行的外部作业。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM