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
Try to upload the same json file (without any changes) following this command:
aws --no-verify-ssl s3api put-bucket-acl --bucket b-test-lock-20 --endpoint-url http://172.26.163.38:8084 --access-control-policy file://ACL.json
An error occurred (InternalError) when calling the PutBucketAcl operation (reached max retries: 2): could not translate ast to table: form records: public key from string: encoding/hex: invalid byte: U+004E 'N'
Aug 25 08:23:34 az neofs-s3-gw[5874]: 2022-08-25T08:23:34.187Z error handler/util.go:25 could not update bucket acl {"request_id": "40bf94c6-3c4d-43d9-b6d3-797fa1f7b94c", "method": "PutBucketACL", "bucket_name": "b-test-lock-20", "object_name": "", "error": "could not translate ast to table: form records: public key from string: encoding/hex: invalid byte: U+004E 'N'"}
Aug 25 08:23:34 az neofs-s3-gw[5874]: 2022-08-25T08:23:34.187Z error api/router.go:158 something went wrong {"status": 500, "request_id": "40bf94c6-3c4d-43d9-b6d3-797fa1f7b94c", "method": "PutBucketACL", "description": "Internal Server Error"}
Aug 25 08:23:34 az neofs-s3-gw[5874]: 2022-08-25T08:23:34.565Z error handler/util.go:25 could not update bucket acl {"request_id": "b787761c-7dd4-489a-8618-dfe99f3a7139", "method": "PutBucketACL", "bucket_name": "b-test-lock-20", "object_name": "", "error": "could not translate ast to table: form records: public key from string: encoding/hex: invalid byte: U+004E 'N'"}
Aug 25 08:23:34 az neofs-s3-gw[5874]: 2022-08-25T08:23:34.565Z error api/router.go:158 something went wrong {"status": 500, "request_id": "b787761c-7dd4-489a-8618-dfe99f3a7139", "method": "PutBucketACL", "description": "Internal Server Error"}
Aug 25 08:23:36 az neofs-s3-gw[5874]: 2022-08-25T08:23:36.081Z error handler/util.go:25 could not update bucket acl {"request_id": "f8ae9dd4-8b6c-4685-b83c-572caf448461", "method": "PutBucketACL", "bucket_name": "b-test-lock-20", "object_name": "", "error": "could not translate ast to table: form records: public key from string: encoding/hex: invalid byte: U+004E 'N'"}
Aug 25 08:23:36 az neofs-s3-gw[5874]: 2022-08-25T08:23:36.081Z error api/router.go:158 something went wrong {"status": 500, "request_id": "f8ae9dd4-8b6c-4685-b83c-572caf448461", "method": "PutBucketACL", "description": "Internal Server Error"}
The issue is that get-eacl uses container info from blockchain, and it does not store public key.
However put operation requires public key, because EACL operates only with key.
Two solutions:
maybe we can store public keys along with the objects or buckets (attribute?) check this in code
to set bucket acl, use public key from issuer of bearer token (as it done in PR)
Questions:
Q: n public bucket, can some user update bucket ACL or only owner? A: yes, but only with WriteACP, and ReadACP. We use bearer token instead.
Q: if some user updates bucket ACL, will it see it's own public key in EACL table of NeoFS (full control grantee?) If no, then current implementation should be good enough. If yes, then consider solution (1).
Steps to reproduce:
ACL.json:
Logs:
Product versions:
s3 gateway config:
The text was updated successfully, but these errors were encountered: