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

Define well-known public-append basic ACL #341

Closed
alexvanin opened this issue Sep 23, 2021 · 1 comment
Closed

Define well-known public-append basic ACL #341

alexvanin opened this issue Sep 23, 2021 · 1 comment
Assignees
Milestone

Comments

@alexvanin
Copy link
Contributor

There is a demand for public containers that are free for writing but are locked for deleting. Users tend to use well-known public-read-write basic ACL, but it requires restrictive extended ACL with a bearer token control of the user actions. It's a bit complicated for the newcomers.

Instead I propose to define public-append basic ACL constant. Container owner stays in charge of the data control, but other users cannot delete any objects, so data won't be lost "accidentally".

0x1FBF8FFF

+-----------+--------+-----+
| OPERATION | TARGET | BIT |
+-----------+--------+-----+
|           | Sticky |  0  |
+-----------+--------+-----+
|           | Final  |  1  |
+-----------+--------+-----+
| RANGEHASH |  User  |  1  |
+           +--------+-----+
|           | System |  1  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+
|   RANGE   |  User  |  1  |
+           +--------+-----+
|           | System |  0  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+
|  SEARCH   |  User  |  1  |
+           +--------+-----+
|           | System |  1  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+                
|  DELETE   |  User  |  1  |
+           +--------+-----+
|           | System |  0  |
+           +--------+-----+
|           | Others |  0  |
+           +--------+-----+
|           | Bearer |  0  |
+-----------+--------+-----+
|    PUT    |  User  |  1  |
+           +--------+-----+
|           | System |  1  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+
|   HEAD    |  User  |  1  |
+           +--------+-----+
|           | System |  1  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+
|    GET    |  User  |  1  |
+           +--------+-----+
|           | System |  1  |
+           +--------+-----+
|           | Others |  1  |
+           +--------+-----+
|           | Bearer |  1  |
+-----------+--------+-----+

I am not sure whether bearer token bit should be set for DELETE or not.

This change should be reflected in neofs-spec.

/cc @realloc @cthulhu-rider @carpawell

cthulhu-rider pushed a commit to cthulhu-rider/neofs-api-go that referenced this issue Sep 30, 2021
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
@cthulhu-rider cthulhu-rider self-assigned this Sep 30, 2021
cthulhu-rider pushed a commit to cthulhu-rider/neofs-api-go that referenced this issue Oct 5, 2021
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
@alexvanin
Copy link
Contributor Author

Closed in #347

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

No branches or pull requests

2 participants