You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[...]
For example, suppose a token should allow the client to create/upload exactly one file. A token with storage.create:/results/my-result.root would allow the client to create a directory/results/my-result.root and subsequently upload as many files as they want.
An alternative approach would be to use the presence or absence of a trailing slash to indicate what kind of object may be created.
For example, in the scenario where /foo exist as a directory but /foo/bar does not exist, then:
storage.create:/foo/bar authorises the creation of a filebar but not a directory;
storage.create:/foo/bar/ authorises the creation of the directorybar but not a file.
Such semantics would first need to be supported in production by data management client MW, before starting to be enforced by storage services, possibly per VO.
The text was updated successfully, but these errors were encountered:
Copied from #48 (comment) where @paulmillar wrote the essence of the following:
[...]
For example, suppose a token should allow the client to create/upload exactly one file. A token with
storage.create:/results/my-result.root
would allow the client to create a directory/results/my-result.root
and subsequently upload as many files as they want.An alternative approach would be to use the presence or absence of a trailing slash to indicate what kind of object may be created.
For example, in the scenario where
/foo
exist as a directory but/foo/bar
does not exist, then:storage.create:/foo/bar
authorises the creation of a filebar
but not a directory;storage.create:/foo/bar/
authorises the creation of the directorybar
but not a file.Such semantics would first need to be supported in production by data management client MW, before starting to be enforced by storage services, possibly per VO.
The text was updated successfully, but these errors were encountered: