4 ms·
I'm confused, how was BigQuery achieving multi-tenancy without Row-Level Security?
by tiffanyh 5y ago
I'm confused, how was BigQuery achieving multi-tenancy without Row-Level Security?
- Xorlev 5y agoTable-level and dataset-level security was always a thing. Row-level security acts as a filter for tables and datasets according to your own organization's ACLs.
- wodenokoto 5y agoAs sibling mentioned, table and dataset level security. Another workaround I’ve seen used a lot is to create a view that filters out the rows and columns you’re not sharing with the entire organization. It’s slow and pricey and in most cases I would advocate to duplicate the filtered table, rather than doing a view.
- mwaitjmp 5y agoCan you explain how authorised views reduce performance and increase costs?
- invisible 5y agoWodenokoto may have different explanation, but I'm guessing it's just down to the raw data processed. If you're making a view that winds up running a query on the origin table with a `WHERE` added, then you're still processing the entire table for each query. I don't think row-level security will be any better based on this documentation.
- thehappypm 5y agoInternally, they've always had it at the level of "organization X can only access organization X's rows".