Skip to content

Container+EACL#369

Merged
roman-khimov merged 1 commit into
masterfrom
container+eacl
Jun 9, 2026
Merged

Container+EACL#369
roman-khimov merged 1 commit into
masterfrom
container+eacl

Conversation

@cthulhu-rider

Copy link
Copy Markdown
Contributor

No description provided.

@carpawell

Copy link
Copy Markdown
Member

Can we open it?

@cthulhu-rider

Copy link
Copy Markdown
Contributor Author

Can we open it?

sure! Could u pls assist me?

@carpawell

carpawell commented Mar 26, 2026

Copy link
Copy Markdown
Member

@roman-khimov, @cthulhu-rider, i suggest:

  1. drop session token V1 support, this PR is an extension, i think it is ok to use only v2 token
  2. merge fields into a single optional message

As a more radical approach to 1.: do not use an additional token in this API at all: it is only needed for IRs to understand that it is allowed for signer to make this operation, i think it is ok to treat CONTAINER_PUT as a one-time initial CONTAINER_SETEACL

@roman-khimov

Copy link
Copy Markdown
Member
  1. For this feature yes, sv1 can be omitted. Any clients using it are API 2.23+ and they all can use sv2. Real clients are almost all converted as well, it's just a matter of a little time.
  2. We can require sv2 used in this case to have both PUT and SETEACL verbs, that'd be logically correct and practically acceptable, so additional token field can be avoided completely.

carpawell added a commit to nspcc-dev/neofs-sdk-go that referenced this pull request Mar 27, 2026
Refs nspcc-dev/neofs-api#369.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
@carpawell

Copy link
Copy Markdown
Member

I have a PoC with the updated version, but i'm still not sure whether we need to complicate session things and have an additional signature field. They are used to ensure that setting eACL is an authorized operation, but if a user is already able to create a container, why not just allow him to change eACL in the same operation? I would treat eACL as a container attribute/field, this would simplify API and server validation. I cannot imagine cases when we have some policies that must allow container creation, but not changing its eACL, even with N3 signatures and complex validation logic.

@carpawell
carpawell marked this pull request as ready for review March 27, 2026 20:14
roman-khimov
roman-khimov previously approved these changes Mar 31, 2026

@roman-khimov roman-khimov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this structure is flexible enough to support different implementations. Ideally signature check should be performed at the contract level, in which case a separate signature for a separate call makes total sense.

So that clients that create a container with extended access rules can
do so in a single request.

Closes #359.

Signed-off-by: Leonard Lyubich <leonard@morphbits.io>
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
@roman-khimov
roman-khimov merged commit f533fec into master Jun 9, 2026
3 checks passed
@roman-khimov
roman-khimov deleted the container+eacl branch June 9, 2026 18:25
carpawell added a commit to nspcc-dev/neofs-sdk-go that referenced this pull request Jun 9, 2026
Refs nspcc-dev/neofs-api#369.

Signed-off-by: Pavel Karpy <carpawell@nspcc.io>
carpawell added a commit to nspcc-dev/neofs-sdk-go that referenced this pull request Jun 10, 2026
Refs nspcc-dev/neofs-api#369.

Signed-off-by: Pavel Karpy <carpawell@nspcc.io>
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

Successfully merging this pull request may close these issues.

3 participants