kamu-cli icon indicating copy to clipboard operation
kamu-cli copied to clipboard

Private Datasets: integration of ReBAC into OSO components

Open s373r opened this issue 1 year ago • 1 comments

Currently, the heart of the authorization system is OSO components (in particular the OsoDatasetAuthorizer).

The purpose of this ticket is as follows:

  • Analyze the need to use OSO further; context:
    • In the case of working with a single dataset, the user (as it is now) is fine
    • But as soon as we want to do vector queries (e.g. for query or search APIs), complications can arise:
      • Data filtering is coming soon for Rust! (c) https://www.osohq.com/docs/oss/rust/guides/data_filtering.html

      • Since OSO has deprecated the open source library, "soon" means "never"
    • Perhaps we can somehow get around this point on our own, we need to research this aspect
  • If we decide to stay with OSO, then:
    • Implement updating of internal OSO storage so that during queries it contains up-to-date data (actors, resources)
      • Note: synchronously with an API that can change ReBAC properties
  • If we decide not to stay:
    • Analyze the migration path to our own abstractions

s373r avatar Oct 04 '24 11:10 s373r

We should consider https://openfga.dev/ as an OSO replacement.

Analyze the migration path to our own abstractions

Personally I feel that the simplicity of our current auth model is making it look like we could roll our own solution, but as we grow to a lot more object types, a lot more relations, and more tricky models (e.g. with hierarchical aspects) we would need something more mature.

Please loop me into any design discussions on this topic - I'm very interested.

sergiimk avatar Oct 06 '24 20:10 sergiimk

Please loop me into any design discussions on this topic - I'm very interested.

Fixing a fact: it was decided to stay with OSO, at this point in history

s373r avatar Dec 17 '24 16:12 s373r

Done via https://github.com/kamu-data/kamu-cli/pull/814

s373r avatar Dec 17 '24 17:12 s373r