You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This is a live design document on how to support authorization at the level of project spaces. The primary driver of this development is the SEAD project.

The current design tries to support requirements described in this document:

 

 

The following notes are from a meeting on 06/09/15 attended by Indira Gutierrez PoloMario FelarcaWinston JanszRob KooperLuigi Marini.

 

Goals:
  1. Meet the requirements of the above document
  2. Meet the outcomes of the SEAD all hands meeting in May 2015
  3. Simplify the design as much as possible to not overwhelm the user and provide a stable implementation within the current efforts
  4. Accommodate other use cases
Features Needed:

The following are already available in the current implementation:

  1. A dataset can be in multiple collections

The following need to be implemented:

  1. A file can only exist as part of a dataset (currently it can exist in multiple or none)
  2. A dataset can be part of multiple spaces (currently it can exist in multiple or none)
  3. A collection can be part of multiple spaces (currently it can exist in multiple or none)
  4. Use permissions on space, collection, dataset page to pick what is available and what is not in the GUI
  5. Nested collections (which are different from folders because a collection can be in multiple collections)
  6. Ability to list who has access to a dataset or collection on its page
  7. (Bonus) Folders in dataset to organize files similar to a file system
Notes:

  1. Implement access control only at the level of spaces
    1. Datasets and collections authorization is based on space
    2. For resources in multiple spaces take the union of permissions
  2. Only the owner can add a dataset/collection to a new space
  3. In a world where resources can be in multiple spaces, spaces becomes a view into the data, not a simple self contained place
  4. What happens if D1 is in C1, C1 is in S1, but D1 is not in S1?

  • No labels