Support new FrostFS ID contract #260

Closed
opened 2023-11-01 14:21:56 +00:00 by alexvanin · 1 comment
Owner

After TrueCloudLab/frostfs-contract#48 support new FrostFS ID contract in the S3 Gateway. Add new configuration flag (enabled by default), to check if access box key is registered in FrostFS ID contract. Use checks for bucket-related operations and ignore it for object-related operations, because:

  1. objects are belong to user-owned bucket,
  2. objects are controlled by ACL and policies,
  3. objects can be accessed anonymously in S3.

Update authmate with optional flag to register private key in FrostFS ID contract.

Fetch namespace from FrostFS ID subject.

Edit 1: This approach restricts inter-namespace communication. Such communication is valid, so fetch namespace from the HTTP header which can be set by proxy server for specific namespace. Configure HTTP header key in config file.

Use namespace during bucket resolving:

  1. default root namespace should be converted in .container NNS zone as before,
  2. all non-default namespaces converted to NNS zone directly.
After https://git.frostfs.info/TrueCloudLab/frostfs-contract/issues/48 support new FrostFS ID contract in the S3 Gateway. Add new configuration flag (enabled by default), to check if access box key is registered in FrostFS ID contract. Use checks for bucket-related operations and ignore it for object-related operations, because: 1) objects are belong to user-owned bucket, 2) objects are controlled by ACL and policies, 3) objects can be accessed anonymously in S3. Update authmate with optional flag to register private key in FrostFS ID contract. ~~Fetch namespace from FrostFS ID subject.~~ Edit 1: This approach restricts inter-namespace communication. Such communication is valid, so fetch namespace from the HTTP header which can be set by proxy server for specific namespace. Configure HTTP header key in config file. Use namespace during bucket resolving: 1) default `root` namespace should be converted in `.container` NNS zone as before, 2) all non-default namespaces converted to NNS zone directly.
alexvanin added this to the v0.29.0 milestone 2023-11-01 14:21:56 +00:00
dkirillov was assigned by alexvanin 2023-11-01 14:21:56 +00:00
Author
Owner

@dkirillov I updated the issue, please change namespace fetching mechanism.

@dkirillov I updated the issue, please change namespace fetching mechanism.
alexvanin modified the milestone from v0.29.0 to v0.28.0 2024-05-27 10:26:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-s3-gw#260
No description provided.