Permission Systems for Enterprise That Scale

(eliocapella.com)

36 points | by eliocs 6 hours ago ago

15 comments

  • tekkk 3 hours ago ago

    Strange the article proposes itself for "Enterprise" yet has no mention of Google's Zanzibar and how it compares to the other approaches. AFAIK it doesn't use pre-computed values but just queries really fast (using Spanner so there's that)

  • Xmd5a an hour ago ago

    https://docs.feldera.com/use_cases/fine_grained_authorizatio...

    Fine-grained authorization as an incremental computation problem

    • eliocs an hour ago ago

      How would you achieve fast list queries of accessible resources with this approach?

      • gz09 4 minutes ago ago

        feldera has a way to run ad-hoc/list queries on materialized views. Alternatively, you can send the result somewhere where you can query it.

  • charcircuit 4 hours ago ago

    >We added a point of failure, as the permissions table can get out of sync with the actual data.

    >The main risk with pre-computed permissions is data getting out of sync.

    It would make sense to have permissions be a first class concept for databases and to ensure such a desync could never happen. Data being only read or written from specific users is a very common thing for data so it would be worth having first class support for it.

    • eliocs an hour ago ago

      Lot of 'new' databases are basing their moat on this and sync engines. Eg: supabase, zero.dev, jazzdb, etc.

    • valiant55 2 hours ago ago

      I'm struggling to understand what the issue that the author is getting at. The point of a database is that it's ACID compliant, wrap insets/updates/deletes in a transaction and no such drift would occur. What am I missing?

      • charcircuit an hour ago ago

        I don't think you are missing anything. I think he is just pointing out that technically nothing is enforcing this synchronization, so if someone forgets to wrap things in a transaction, it could get out of sync.

      • eliocs an hour ago ago

        I just want to point out you have to take care about that, yes you can have a trigger or a transaction to make sure it happens but it isn't there out of the box

  • bencyoung 4 hours ago ago

    If you're using Postgres then using the ltree module is great for permission systems. Available in RDS too

    • nh2 2 hours ago ago

      Do you have an article about that?

    • casper14 2 hours ago ago

      Could you explain why this is great over alternatives?