-
-
Notifications
You must be signed in to change notification settings - Fork 28
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
Restrict dataset submissions to certain groups #1817
Comments
Possible changes for this issue:
|
While this would be a useful feature, as would the request in #1815, I would stress that access control responsibility lies with Metacat, not MetacatUI. Any restrictions on who can upload or use services should continue to be enforced by Metacat. Information about those restrictions on the Metacat side could be passed to MetacatUI in order to modify the UI to prevent unauthorized actions from occurring, but the information on which services are available to which users should be configured in Metacat, not in MetacatUI, lest people get around those restrictions through API calls. ANd lest the information in MetacatUI is not updated when updates are made to the Metacat config. We've discussed this in the past, and Metacat does already support access rules on our API services via the DataONE API, which we have only lightly used. Here's the documentation of the field: https://dataone-architecture-documentation.readthedocs.io/en/latest/apis/Types.html#Types.ServiceMethodRestriction |
From the docs, Metacat can be configured with
My understanding (after discussing with @taojing2002 ) is that setting these Metacat parameters will cause the A possible approach would be to have MetacatUI call |
That sounds like a great approach. |
@laurenwalker as requested, here are my notes from the MetacatUI meeting on 20210909, which I have reworked and edited a bit. Please review when you have the time:
Proposed changes:
Questions:
Other points
|
Thanks @gothub for writing this all up, I think this all looks great. Just a few points below:
I think the
We'll want to show the message, via a customizable template, in the I suggest we don't disable the Your Questions:
I would think that if a person is not allowed to update objects at the repository level, they should not be able to change access rules, either. I believe the And on that note, we may want to restrict people from giving
As mentioned above, I think let's skip disabling the Submit Data button for now and just let those people see the message in the EditorView. Disabling the button would save those people a click, but I think this gets the job done for now. We will need to make sure the Edit button is hidden in the Non-DataONE reposWe need to make sure this functionality works for member nodes that are not registered in DataONE. Since we are grabbing the node info from the CN node info doc, unregistered nodes will not be there. We'll have to grab the node info from the MN API for those repos. Editor error messageDuring testing, it would be good to force |
@laurenwalker what do you recommend for handling MNs that are not in the DataONE network - i.e. those that don't report their capabilties to the CN? |
@gothub For those that are not registered with DataONE, can we still access the local node service on metacat to get the node description with allowed submitters? |
@mbjones yes, if NodeModel.js can't obtain MN capabilities from the CN then it can certainly get them directly from the MN. @laurenwalker does that sound good to you? Should this change (to NodeModel.js) go into a PR for this ticket, or into a new ticket? |
Yep, sounds good to me!
Do we catch that people cannot submit to the node *before* the editor is
loaded so that they do not get this far? So that way this error message is
just a fail-safe?
It would also be nice if we could parse the error message and display
something more user friendly - that may be a new ticket since there are a
few error responses that I would love to reword.
…On Wed, Oct 13, 2021 at 2:21 PM Peter Slaughter ***@***.***> wrote:
@mbjones <https://github.com/mbjones> yes, if NodeModel.js can't obtain
MN capabilities from the CN then it can certainly get them directly from
the MN.
@laurenwalker <https://github.com/laurenwalker> does that sound good to
you? Should this change go into a PR for this ticket, or in a new one?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1817 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABSV4FREPQQZT64Q3CDIXTLUGXE35ANCNFSM47IKKWFQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github>.
--
National Center for Ecological Analysis and Synthesis (NCEAS)
University of California Santa Barbara (UCSB)
|
@laurenwalker the logic of the code checked into the
The screen grab shown above was generated by running on dev.nceas directly when metacat
Yes, updating the error messages should probably be in a new ticket. |
Perfect, sounds great! I'll create that new ticket for error messages. |
Add config option to disable submissions unless a person is in one or more of a list of groups.
See #1815
The text was updated successfully, but these errors were encountered: