Skip to main content

S3 REST API implementation details

Contributors netapp-pcarriga

The StorageGRID system implements the Simple Storage Service API (API Version 2006-03-01) with support for most operations, and with some limitations. You need to understand the implementation details when you are integrating S3 REST API client applications.

The StorageGRID system supports both virtual hosted-style requests and path-style requests.

Date handling

The StorageGRID implementation of the S3 REST API only supports valid HTTP date formats.

The StorageGRID system only supports valid HTTP date formats for any headers that accept date values. The time portion of the date can be specified in Greenwich Mean Time (GMT) format, or in Universal Coordinated Time (UTC) format with no time zone offset (+0000 must be specified). If you include the x-amz-date header in your request, it overrides any value specified in the Date request header. When using AWS Signature Version 4, the x-amz-date header must be present in the signed request because the date header is not supported.

Common request headers

The StorageGRID system supports the common request headers defined by Amazon Simple Storage Service API Reference: Common Request Headers, with one exception.

Request header Implementation

Authorization

Full support for AWS Signature Version 2

Support for AWS Signature Version 4, with the following exceptions:

  • When you provide the actual payload checksum value in x-amz-content-sha256, the value is accepted without validation, as if the value UNSIGNED-PAYLOAD had been provided for the header. When you provide an x-amz-content-sha256 header value that implies aws-chunked streaming (for example, STREAMING-AWS4-HMAC-SHA256-PAYLOAD), the chunk signatures aren't verified against the chunk data.

x-amz-security-token

Not implemented. Returns XNotImplemented.

Common response headers

The StorageGRID system supports all of the common response headers defined by the Simple Storage Service API Reference, with one exception.

Response header Implementation

x-amz-id-2

Not used