NetAppDocs / storagegrid-118

https://docs.netapp.com/us-en/storagegrid-118/
0 stars 0 forks source link

Checking object integrity #18

Open ntap-leeray opened 4 months ago

ntap-leeray commented 4 months ago

Page URL

https://docs.netapp.com/us-en/storagegrid-118/s3/index.html

Page title

S3 REST API supported versions and updates

Summary

SG supports Etag and Content-MD5 header both of which are useful in validating integrity of an object after a PUT or GET. But there is no description of how they are used or if their usage deviate from how AWS is using it. Suggest to include a section or paragraph that has something like the following:

To check integrity of a PUT or GET: For PUT, Application calculate MD5 value Etag (part of of the response header of PUT) contains the MD5 value SG generated against the object just received Application compares its calculated MD5 value against that of the Etag. Assume object upload fully intact only if they match Additionally, application can insert the calculated MD5 value into Content-MD5 request header SG will compare MD5 value against the object received to the Content-MD5 header value and will provide a positive response (200) only if they match

For GET, After the application have downloaded the file, it calculates its MD5 value Application compares the calculated value against Etag (part of the response header of GET) and should only accept the download as fully intact if they match.


The above is only my understanding and may contains errors that I did not see but I hope you understand what I am driving at. See here about how AWS is describing this topic in their docs: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#checking-object-integrity-md5

Public issues must not contain sensitive information

netapp-pcarriga commented 4 months ago

@ntap-leeray thanks for your feedback. We'll discuss and update the document accordingly.

netapp-maireadn commented 4 months ago

Created a jira issue - SG Doc 65