Dynamic security without a mapping table
"Dynamic security without a mapping table" is one of the governance checks Auditabi runs on a Power BI semantic model. n role(s) call USERPRINCIPALNAME or USERNAME but the model has no table holding the user-to-scope mapping. It is a medium-severity finding: the model still works, but results are wrong in some filter contexts, slow, or fragile under change. Add a security table mapping each user to the scope they can see, and filter through it.
What is detected
n role(s) call USERPRINCIPALNAME or USERNAME but the model has no table holding the user-to-scope mapping. The rule then compares the identity with a column that does not exist for every user, and the safest outcome is an empty report.
Why it matters
Wrong in some filter contexts, slow, or fragile under change. Fix in the next iteration.
How to fix it
Add a security table mapping each user to the scope they can see, and filter through it.
Does your model fail this check?
Free static audit with the exact objects, no account, nothing stored.