Forum Discussion

fabricpribeiro's avatar
fabricpribeiro
Icon for Post Patron rankPost Patron
8 months ago
Solved

DirectLake in Onelake Vs DirectLake SQL End Point (Scope and Permissions)

Dear,

 

I have created a Gold layer which is composed by different workspaces.

 

Each workspace hosts a Domain (master data, supply chain, sales, etc..)

 

Each workspace as inside , at least , one lakehouse

 

Lakehouses, between them, even in different worskpaces, inside the gold layer, can use shortcuts to connect to each other, which means that I can do re-usability of objects

 

Now on top of this I am designing the semantic layer 

 

I am considering using DirectLake one OneLake, for the semantic model, not the old DirectLake via SQL End Point

 

This because, if I am not wrong, with Directlake via Onelake, I can get in the same semantic model , tables from different lakehouses of the gold layer, even if they are in different worskpaces . Is this correct?

 

Andf I think it makes sense to have RLS in terms of permissions. Where are those created if I use DirectLake via OneLake?

 

Are they created on the semantic model itself? or do I need to inforce them via each lakehouse using the new funcionality : OneLake sercurity?

 

How does it work exactly?

 

Thanks a lot,

 

Pedro

7 Replies

  • When you use Direct Lake on OneLake:

    • A semantic model can reference multiple Delta tables

    • Those tables can come from:

      • Different Lakehouses

      • Different Workspaces

    • As long as:

      • The tables are accessible through OneLake paths

      • Or exposed via Shortcuts into a single logical namespace

     

    OneLake Security:

    You create roles in lakehouse for example and give them access to what you want : 

    • Controls object-level access

    • Controls row-level security 
    • Control column level security

     

    Official Microsoft References

     

    Hope it can help you!

    Best regards,

    Antoine

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi fabricpribeiro ,

    Thank you for reaching out to the Microsoft Fabric Community Forum.

     

    Could you please let us know if the issue has been resolved? I wanted to check if you had the opportunity to review the information provided by AntoineW. If you still require support, please let us know, we are happy to assist you.

     

    Thank you.

  • If you build the semantic model as DirectLake on OneLake, the model reads Delta files in OneLake. That makes it much easier to combine tables coming from multiple Lakehouses / multiple workspaces as long as the model identity has access to those OneLake locations (typically via shortcuts/OneLake access and workspace identity). You’re not forced to go through a single SQL endpoint.

     

    DirectLake on SQL endpoint is different: you’re effectively building the model from a single SQL analytics endpoint (Lakehouse SQL endpoint or Warehouse). It’s more “database-like” and usually keeps you anchored to that endpoint’s scope and permissions.

     

    On security:

    • RLS is always defined in the semantic model (roles + DAX filters). That doesn’t change whether you use OneLake or SQL endpoint.

    • OneLake security (item/OneLake data access) is a separate layer: it controls whether the model (or user/identity) can even read the files/objects in OneLake in the first place.

    So in practice you usually use both, for different purposes:

    • Use OneLake/workspace permissions to control who/what can access the data at all (and to allow the model to read across workspaces).

    • Use RLS in the semantic model to control what a viewer can see inside the report/model.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi fabricpribeiro ,

     

    We haven’t received an update from you in some time. Could you please let us know if the issue has been resolved?
    If you still require support, please let us know, we are happy to assist you.

     

    Thank you.