Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
SeattlePowerBI
Helper III
Helper III

Lakehouse Object Sharing onelake security role

Hello-

I have a lakehouse and I want to share two delta tables with users. I don't want them to see anything in the workspace, just query these two tables through the connector or analytics endpoint.

 

According to microsoft documentation, I should be able to add these users to a onelake security role which includes the two tables, then share the lakehouse with them with all boxes in the sharing dialog unchecked (not sharing the sql endpoint for example). However, users are now able to access anything in the lakehouse that I defined in the security role.

 

I've had a ticket open with Microsoft to confirm if this is possible to share tables this way, or if there is something else I need to do, but haven't been able to get confirmation from any support rep, so I thought it may be faster to just ask here on the forum. Am I on the right track? Is this setup correct (which it is according to docs.. https://learn.microsoft.com/en-us/fabric/data-engineering/lakehouse-sharing) or do I need to script permissions to the objects (which sort of defeats the purpose of the onelake security role.)

 

Thank you!

1 ACCEPTED SOLUTION
BhaveshPatel
Community Champion
Community Champion

Yes. There is no way to hide all data users through Lakehouse . Read all SQL End Point or Lakehouse is the last option in Microsoft Fabric Lakehouse. it is open source linux systems. For that, You need to work in Direct Lake Mode ( Power BI Desktop ) where there is a option of "Make changes to this model" and you can select/ deselect whatever you want. or there is an option of row level security in Power BI Service. Microsoft Fabric is a Unified Data where there is only one security at all.

BhaveshPatel_0-1752829452025.png

BhaveshPatel_3-1752829771480.png

 

 

 

BhaveshPatel_1-1752829476639.png

 

BhaveshPatel_2-1752829502307.png

 

 

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.

View solution in original post

13 REPLIES 13
v-saisrao-msft
Community Support
Community Support

Hi @SeattlePowerBI,

We haven’t heard back from you in a while regarding your issue. let us know if your issue has been resolved or if you still require support.

 

Thank you.

v-saisrao-msft
Community Support
Community Support

Hi @SeattlePowerBI,

Checking in to see if your issue has been resolved regarding oblect sharing. Please let us know if you still need any assistance.

 

Thank you.

v-saisrao-msft
Community Support
Community Support

Hi @SeattlePowerBI,

I hope you had a chance to review the solution shared by @BhaveshPatel. If it addressed your question, Consider accepting the helpful reply as solution it helps others find answers more quickly.
If you're still facing the issue, feel free to reply, and we’ll be happy to assist further.

 

Thank you.

BhaveshPatel
Community Champion
Community Champion

Yes. There is no way to hide all data users through Lakehouse . Read all SQL End Point or Lakehouse is the last option in Microsoft Fabric Lakehouse. it is open source linux systems. For that, You need to work in Direct Lake Mode ( Power BI Desktop ) where there is a option of "Make changes to this model" and you can select/ deselect whatever you want. or there is an option of row level security in Power BI Service. Microsoft Fabric is a Unified Data where there is only one security at all.

BhaveshPatel_0-1752829452025.png

BhaveshPatel_3-1752829771480.png

 

 

 

BhaveshPatel_1-1752829476639.png

 

BhaveshPatel_2-1752829502307.png

 

 

 

Thanks & Regards,
Bhavesh

Love the Self Service BI.
Please use the 'Mark as answer' link to mark a post that answers your question. If you find a reply helpful, please remember to give Kudos.
BalajiL
Helper III
Helper III

  • Option 1: Try provide SQL Endpoint access at lakehouse level 
  • BalajiL_0-1752737209942.png

    Option 2

  • Create a view in warehouse , the underlying base table pointing to lakehouse tables. 
  • Provide granular level access only to the table itself. 
  • GRANT SELECT ON OBJECT::dbo.<view_name> TO [someuser@domain.com];

 

For option 2, can I grant select to the role?

Yes, you can provide group/ role

I did this, and the user is able to connect in Power BI desktop, but not in excel through the sql endpoint

  • Glad to see that it worked, it should work in excel via sql endpoint. 

Can someone help me understand what the point of creating a onelake security role and granting access to a subset of tables, but not sharing the sql endpoint? What would be the usecase of that if noone can connect to the lakehouse from a client tool. Just trying to understand the reason why it is there, not trying to be rude.

Shouldn't this function the same as scripting the role, adding users to the role and granting the role access to specific objects (which does work for what I'm trying to do).?

The problem with this is granting access to the SQL analytics endpoint that way enables read on all objects in the lakehouse. I only want them to see and be able to query two objects.. I don't see the use of a onelake security role and sharing to two specific objects if I have to grant access to all objects via the sql endpoint for them to use the lakehouse. Scripting access defeats the purpose of the onelake security role, doesn't it? Hoping this isn't the only way.

Option 2 mentioned above in the thread will work for your case.

v-saisrao-msft
Community Support
Community Support

Hi  @SeattlePowerBI 

Thank you for reaching out to the Microsoft Fabric Forum Community. 
I have tested your scenario. 

If you've already shared Lakehouse with the SQL endpoint enabled, then the user will be able to access all the data exposed through that endpoint. 

However, if you share the Lakehouse without enabling the SQL endpoint, then the user won’t be able to access the data or query anything, unless they are explicitly granted access through roles or permissions. 

Try creating a new Lakehouse for testing and sharing it without enabling the SQL endpoint. This will help you confirm whether the role-based access works as intended when endpoint access is restricted. 

Below is a screenshot of the lakehouse without giving any permission to the user. 

vsaisraomsft_0-1752732418460.png

So, the user cannot access the data in the Lakehouse. 

vsaisraomsft_1-1752732418461.png

 

Then I've changed the permission to the same Lakehouse by enabling the permission to the user and  now the user can access the data. 

vsaisraomsft_0-1752732575984.pngvsaisraomsft_1-1752732600497.png

 

If this post helps, then please consider Accept it as a solution to help the other members find it more quickly.

 

Thank you.

 

 

 

 

 

 
 

 

 

Helpful resources

Announcements
December Fabric Update Carousel

Fabric Monthly Update - December 2025

Check out the December 2025 Fabric Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.