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
Copy file name to clipboardExpand all lines: proto-docs/acl.md
+13-13Lines changed: 13 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -38,8 +38,8 @@ like [JWT](https://jwt.io), it has a limited lifetime and scope, hence can be
38
38
used in the similar use cases, like providing authorisation to externally
39
39
authenticated party.
40
40
41
-
BearerToken can be issued only by container's owner and must be signed using
42
-
the key associated with container's `OwnerID`.
41
+
BearerToken can be issued only by the container's owner and must be signed using
42
+
the key associated with the container's `OwnerID`.
43
43
44
44
45
45
| Field | Type | Label | Description |
@@ -51,14 +51,14 @@ the key associated with container's `OwnerID`.
51
51
<aname="neo.fs.v2.acl.BearerToken.Body"></a>
52
52
53
53
### Message BearerToken.Body
54
-
Bearer Token body structure contains Extended ACL table issued by container
55
-
owner with additional information preventing token's abuse.
54
+
Bearer Token body structure contains Extended ACL table issued by the container
55
+
owner with additional information preventing token abuse.
56
56
57
57
58
58
| Field | Type | Label | Description |
59
59
| ----- | ---- | ----- | ----------- |
60
-
| eacl_table |[EACLTable](#neo.fs.v2.acl.EACLTable)|| Table of Extended ACL rules to use instead of the ones attached to the container |
61
-
| owner_id |[neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID)||`OwnerID` to whom the token was issued. Must match the request originator's `OwnerID`. If empty, any token bearer will be accepted. |
60
+
| eacl_table |[EACLTable](#neo.fs.v2.acl.EACLTable)|| Table of Extended ACL rules to use instead of the ones attached to the container. If it contains `container_id` field, bearer token is only valid for this specific container. Otherwise, any container of the same owner is allowed.|
61
+
| owner_id |[neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID)||`OwnerID`defines to whom the token was issued. It must match the request originator's `OwnerID`. If empty, any token bearer will be accepted. |
62
62
| lifetime |[BearerToken.Body.TokenLifetime](#neo.fs.v2.acl.BearerToken.Body.TokenLifetime)|| Token expiration and valid time period parameters |
63
63
64
64
@@ -93,7 +93,7 @@ Describes a single eACL rule.
93
93
<aname="neo.fs.v2.acl.EACLRecord.Filter"></a>
94
94
95
95
### Message EACLRecord.Filter
96
-
Filter to check particular properties of the request or object.
96
+
Filter to check particular properties of the request or the object.
97
97
98
98
By default `key` field refers to the corresponding object's `Attribute`.
99
99
Some Object's header fields can also be accessed by adding `$Object:`
@@ -149,15 +149,15 @@ keys to match.
149
149
<aname="neo.fs.v2.acl.EACLTable"></a>
150
150
151
151
### Message EACLTable
152
-
Extended ACL rules table. Defined a list of ACL rules additionally to Basic
153
-
ACL. Extended ACL rules can be attached to the container and can be updated
152
+
Extended ACL rules table. A list of ACL rules defined additionally to Basic
153
+
ACL. Extended ACL rules can be attached to a container and can be updated
154
154
or may be defined in `BearerToken` structure. Please see the corresponding
155
-
NeoFS Technical Specification's section for detailed description.
155
+
NeoFS Technical Specification section for detailed description.
156
156
157
157
158
158
| Field | Type | Label | Description |
159
159
| ----- | ---- | ----- | ----------- |
160
-
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| eACL format version. Effectively the version of API library used to create eACL Table. |
160
+
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| eACL format version. Effectively, the version of API library used to create eACL Table. |
161
161
| container_id |[neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID)|| Identifier of the container that should use given access control rules |
162
162
| records |[EACLRecord](#neo.fs.v2.acl.EACLRecord)| repeated | List of Extended ACL rules |
163
163
@@ -233,8 +233,8 @@ Target role of the access control rule in access control list.
233
233
| ---- | ------ | ----------- |
234
234
| ROLE_UNSPECIFIED | 0 | Unspecified role, default value |
235
235
| USER | 1 | User target rule is applied if sender is the owner of the container |
236
-
| SYSTEM | 2 | System target rule is applied if sender is the storage node within the container or inner ring node |
237
-
| OTHERS | 3 | Others target rule is applied if sender is not user nor system target |
236
+
| SYSTEM | 2 | System target rule is applied if sender is a storage node within the container or an inner ring node |
237
+
| OTHERS | 3 | Others target rule is applied if sender is neither a user nor a system target |
Copy file name to clipboardExpand all lines: proto-docs/audit.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ generated separately.
31
31
32
32
| Field | Type | Label | Description |
33
33
| ----- | ---- | ----- | ----------- |
34
-
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| Data Audit Result format version. Effectively the version of API library used to report DataAuditResult structure. |
34
+
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| Data Audit Result format version. Effectively, the version of API library used to report DataAuditResult structure. |
35
35
| audit_epoch |[fixed64](#fixed64)|| Epoch number when the Data Audit was conducted |
36
36
| container_id |[neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID)|| Container under audit |
37
37
| public_key |[bytes](#bytes)|| Public key of the auditing InnerRing node in a binary format |
@@ -40,9 +40,9 @@ generated separately.
40
40
| retries |[uint32](#uint32)|| Number of retries done at PoR stage |
41
41
| pass_sg |[neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID)| repeated | List of Storage Groups that passed audit PoR stage |
42
42
| fail_sg |[neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID)| repeated | List of Storage Groups that failed audit PoR stage |
43
-
| hit |[uint32](#uint32)|| Number of sampled objects under audit placed in an optimal way according to the containers placement policy when checking PoP |
44
-
| miss |[uint32](#uint32)|| Number of sampled objects under audit placed in suboptimal way according to the containers placement policy, but still at a satisfactory level when checking PoP |
45
-
| fail |[uint32](#uint32)|| Number of sampled objects under audit stored in a way not confirming placement policy or not found at all when checking PoP |
43
+
| hit |[uint32](#uint32)|| Number of sampled objects under the audit placed in an optimal way according to the containers placement policy when checking PoP |
44
+
| miss |[uint32](#uint32)|| Number of sampled objects under the audit placed in suboptimal way according to the containers placement policy, but still at a satisfactory level when checking PoP |
45
+
| fail |[uint32](#uint32)|| Number of sampled objects under the audit stored inconsistently with the placement policy or not found at all when checking PoP |
46
46
| pass_nodes |[bytes](#bytes)| repeated | List of storage node public keys that passed at least one PDP |
47
47
| fail_nodes |[bytes](#bytes)| repeated | List of storage node public keys that failed at least one PDP |
Announce container used space values for P2P synchronization.
167
+
Announces the space values used by the container for P2P synchronization.
168
168
169
169
Statuses:
170
170
-**OK** (0, SECTION_SUCCESS): \
@@ -198,20 +198,20 @@ Container used space announcement body.
198
198
199
199
| Field | Type | Label | Description |
200
200
| ----- | ---- | ----- | ----------- |
201
-
| announcements |[AnnounceUsedSpaceRequest.Body.Announcement](#neo.fs.v2.container.AnnounceUsedSpaceRequest.Body.Announcement)| repeated | List of announcements. If nodes share several containers, then announcements transferred in a batch. |
201
+
| announcements |[AnnounceUsedSpaceRequest.Body.Announcement](#neo.fs.v2.container.AnnounceUsedSpaceRequest.Body.Announcement)| repeated | List of announcements. If nodes share several containers, announcements are transferred in a batch. |
Announcement contains used space information about single container.
207
+
Announcement contains used space information for a single container.
208
208
209
209
210
210
| Field | Type | Label | Description |
211
211
| ----- | ---- | ----- | ----------- |
212
-
| epoch |[uint64](#uint64)|| Epoch number for which container size estimation was produced. |
212
+
| epoch |[uint64](#uint64)|| Epoch number for which the container size estimation was produced. |
213
213
| container_id |[neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID)|| Identifier of the container. |
214
-
| used_space |[uint64](#uint64)|| Used space is a sum of object payload sizes of specified container, stored in the node. It must not include inhumed objects. |
214
+
| used_space |[uint64](#uint64)|| Used space is a sum of object payload sizes of a specified container, stored in the node. It must not include inhumed objects. |
| signature |[neo.fs.v2.refs.SignatureRFC6979](#neo.fs.v2.refs.SignatureRFC6979)|| Signature of a stable-marshalled container according to RFC-6979. |
387
-
| session_token |[neo.fs.v2.session.SessionToken](#neo.fs.v2.session.SessionToken)|| Session token if the container was created within a session |
387
+
| session_token |[neo.fs.v2.session.SessionToken](#neo.fs.v2.session.SessionToken)|| Session token if the container has been created within the session |
388
388
389
389
390
390
<aname="neo.fs.v2.container.ListRequest"></a>
@@ -483,7 +483,7 @@ New NeoFS Container creation response
483
483
Container put response body contains information about the newly registered
484
484
container as seen by `Container` smart contract. `ContainerID` can be
485
485
calculated beforehand from the container structure and compared to the one
486
-
returned here to make sure everything was done as expected.
486
+
returned here to make sure everything has been done as expected.
487
487
488
488
489
489
| Field | Type | Label | Description |
@@ -513,7 +513,7 @@ reference. It will be taken from `EACLTable.container_id` field.
513
513
514
514
| Field | Type | Label | Description |
515
515
| ----- | ---- | ----- | ----------- |
516
-
| eacl |[neo.fs.v2.acl.EACLTable](#neo.fs.v2.acl.EACLTable)|| Extended ACL table to set for container |
516
+
| eacl |[neo.fs.v2.acl.EACLTable](#neo.fs.v2.acl.EACLTable)|| Extended ACL table to set for the container |
517
517
| signature |[neo.fs.v2.refs.SignatureRFC6979](#neo.fs.v2.refs.SignatureRFC6979)|| Signature of stable-marshalled Extended ACL table according to RFC-6979. |
518
518
519
519
@@ -534,7 +534,7 @@ Set Extended ACL
534
534
535
535
### Message SetExtendedACLResponse.Body
536
536
`SetExtendedACLResponse` has an empty body because the operation is
537
-
asynchronous and update should be reflected in `Container` smart contract's
537
+
asynchronous and the update should be reflected in `Container` smart contract's
538
538
storage after next block is issued in sidechain.
539
539
540
540
@@ -558,16 +558,16 @@ storage after next block is issued in sidechain.
558
558
### Message Container
559
559
Container is a structure that defines object placement behaviour. Objects can
560
560
be stored only within containers. They define placement rule, attributes and
561
-
access control information. ID of the container is a 32 byte long SHA256 hash
561
+
access control information. An ID of a container is a 32 byte long SHA256 hash
562
562
of stable-marshalled container message.
563
563
564
564
565
565
| Field | Type | Label | Description |
566
566
| ----- | ---- | ----- | ----------- |
567
-
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| Container format version. Effectively the version of API library used to create container. |
567
+
| version |[neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version)|| Container format version. Effectively, the version of API library used to create the container. |
568
568
| owner_id |[neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID)|| Identifier of the container owner |
569
569
| nonce |[bytes](#bytes)|| Nonce is a 16 byte UUIDv4, used to avoid collisions of `ContainerID`s |
570
-
| basic_acl |[uint32](#uint32)||`BasicACL` contains access control rules for owner, system, others groups and permission bits for `BearerToken` and `Extended ACL`|
570
+
| basic_acl |[uint32](#uint32)||`BasicACL` contains access control rules for the owner, system and others groups, as well as permission bits for `BearerToken` and `Extended ACL`|
571
571
| attributes |[Container.Attribute](#neo.fs.v2.container.Container.Attribute)| repeated | Attributes represent immutable container's meta data |
572
572
| placement_policy |[neo.fs.v2.netmap.PlacementPolicy](#neo.fs.v2.netmap.PlacementPolicy)|| Placement policy for the object inside the container |
573
573
@@ -576,8 +576,8 @@ of stable-marshalled container message.
576
576
577
577
### Message Container.Attribute
578
578
`Attribute` is a user-defined Key-Value metadata pair attached to the
579
-
container. Container attributes are immutable. They are set at container
580
-
creation and can never be added or updated.
579
+
container. Container attributes are immutable. They are set at the moment of
580
+
container creation and can never be added or updated.
581
581
582
582
Key name must be a container-unique valid UTF-8 string. Value can't be
583
583
empty. Containers with duplicated attribute names or attributes with empty
@@ -586,14 +586,20 @@ values will be considered invalid.
586
586
There are some "well-known" attributes affecting system behaviour:
587
587
588
588
*__NEOFS__SUBNET \
589
-
String ID of container's storage subnet. Container can be attached to
590
-
only one subnet.
589
+
String ID of a container's storage subnet. Any container can be attached to
590
+
one subnet only.
591
591
*__NEOFS__NAME \
592
-
String of human-friendly container name registered as the domain in
592
+
String of a human-friendly container name registered as a domain in
593
593
NNS contract.
594
594
*__NEOFS__ZONE \
595
-
String of zone for `__NEOFS__NAME`. Used as TLD of domain name in NNS
596
-
contract. If zone is not specified, use default zone: `container`.
595
+
String of a zone for `__NEOFS__NAME`. Used as a TLD of a domain name in NNS
596
+
contract. If no zone is specified, use default zone: `container`.
597
+
*__NEOFS__DISABLE_HOMOMORPHIC_HASHING \
598
+
Disables homomorphic hashing for the container if the value equals "true" string.
599
+
Any other values are interpreted as missing attribute. Container could be
600
+
accepted in a NeoFS network only if the global network hashing configuration
601
+
value corresponds with that attribute's value. After container inclusion, network
602
+
setting is ignored.
597
603
598
604
And some well-known attributes used by applications only:
0 commit comments