Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Implement abstractions to annotate non-sharable datasets & objectstores. #10840

Closed
wants to merge 1 commit into from

Conversation

jmchilton
Copy link
Member

@jmchilton jmchilton commented Dec 1, 2020

Sketched out so far:

  • Allow marking objectstores (in either XML or YAML) as private - indicating datasets stored in them should not be shared.
  • Add sharable property to model.Dataset that checks its object_store_id against the configured object store to determine if it is not stored in a private objectstore.
  • Add abstraction to security_agent to check if a dataset is restricted to a single user and augment galaxy.jobs.JobWrapper._set_object_store_ids and ObjectStorePopulator to prevent jobs that might create non-private datasets in private objectstores.
  • Model/security layer prevents copying non-sharable dataset into libraries or attaching private sharing roles to them.
  • The edit metadata form will display a message that the dataset is unsharable on the permissions page.
  • Integration test case to ensure cannot upload public datasets to a private objectstore.
  • Integration test case to ensure cannot modify access permissions of datasets stored in private objectstores.
  • Expose information about whether objectstores are private in newly merged ObjectStore metadata display (User-facing objectstore metadata. #10233).

Left to do:

  • Test case to verify library sets can't be uploaded to private objectstores.
  • Test case to verify private object stores operate appropriately with dynamically discovered collection datasets. (past @jmchilton had this in his notes - not sure exactly what his concern was).

xrefs:

@jmchilton jmchilton force-pushed the sharable_data branch 2 times, most recently from 1318983 to b4232a8 Compare September 7, 2021 19:50
Setup abstractions to prevent sharing transient or private per-user objects in an objectstore.
@jmchilton
Copy link
Member Author

Rebased this on 21.09... a rebase of that on to 22.01 is in branch sharable_data_2201.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants