I recently started working in Microsoft fabric platform and also this is my first time i started writing on Stackoverflow , I am going through this situation so i would love to share my approach to solve this.
If anyone coming across this comment i am sharing a link which will help you with Rls most efficiently( freshers friendly)
https://learn.microsoft.com/en-us/fabric/data-warehouse/tutorial-row-level-security
Create a Security Schema
Create a UserAccess Table or use AD, etc.
Create a function based on your UserAccess table which checks username()/context to validate user
CREATE FUNCTION Security.tvf_securitypredicateOwner(@UserAccess AS VARCHAR(256))
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS tvf_securitypredicate_result FROM [Security].UserAccess
WHERE IS_MEMBER(Name) = 1
AND Name = @USER
Create a Security policy
CREATE SECURITY POLICY MyTableFilter
ADD FILTER PREDICATE Security.tvf_securitypredicateOwner([User])
ON dbo.MyFacttable
WITH (STATE = ON);
GO
This is the most efficient and easy way to implement rls . One can make it more dynamic by implementing more efficient functions for multiple tables