Supported and unsupported features

Object storage of CROC Cloud platform supports RESTful API, that is compatible with AWS S3.

Authentication

Object storage of CROC Cloud platform supports the following versions of AWS authentication:

  • Signature Version 2 (AWSv2)
  • Signature Version 4 (AWSv4)

Bucket operations

The following table describes the bucket operations supported in AWS S3 and their support status in CROC Cloud platform:

Feature Status Remarks
DELETE Bucket Supported  
DELETE Bucket analytics Not Supported  
DELETE Bucket cors Supported  
DELETE Bucket encryption Supported See Restrictions of Server Side encryption (SSE)
DELETE Bucket inventory Not Supported  
DELETE Bucket lifecycle Supported  
DELETE Bucket metrics Not Supported  
DELETE Bucket policy Supported  
DELETE Bucket replication Not Supported  
DELETE Bucket website Supported  
GET Bucket (List Objects) Supported  
GET Bucket (List Objects) Version 2 Not Supported  
GET Bucket accelerate Not Supported  
GET Bucket acl Supported  
GET Bucket analytics Not Supported  
GET Bucket cors Supported  
GET Bucket encryption Supported See Restrictions of Server Side encryption (SSE)
GET Bucket Inventory Not Supported  
GET Bucket lifecycle Supported  
GET Bucket location Supported See Restrictions of Bucket Location
GET Bucket logging Not Supported  
GET Bucket metrics Not Supported  
GET Bucket notification Not Supported  
GET Bucket Object versions Supported  
GET Bucket policy Supported  
GET Bucket replication Not Supported  
GET Bucket requestPayment Supported See Restrictions of Bucket requestPayment
GET Bucket tagging Not Supported  
GET Bucket versioning Supported  
GET Bucket website Supported  
HEAD Bucket Supported  
List Bucket Analytics Configurations Not Supported  
List Bucket Inventory Configurations Not Supported  
List Bucket Metrics Configurations Not Supported  
List Multipart Uploads Supported  
PUT Bucket Supported See Restrictions of Bucket Location
PUT Bucket accelerate Not Supported  
PUT Bucket acl Supported  
PUT Bucket analytics Not Supported  
PUT Bucket cors Supported  
PUT Bucket encryption Supported See Restrictions of Server Side encryption (SSE)
PUT Bucket inventory Not Supported  
PUT Bucket lifecycle Supported See Restrictions of Bucket lifecycle
PUT Bucket logging Not Supported  
PUT Bucket metrics Not Supported  
PUT Bucket notification Not Supported  
PUT Bucket policy Supported See Restrictions of Bucket policy
PUT Bucket replication Not Supported  
PUT Bucket requestPayment Supported See Restrictions of Bucket requestPayment
PUT Bucket tagging Not Supported  
PUT Bucket versioning Supported  
PUT Bucket website Supported  

Object operations

The following table describes the object operations supported in AWS S3 and their support status in CROC Cloud platform:

Feature Status Remarks
Delete Multiple Objects Supported  
DELETE Object Supported  
DELETE Object tagging Supported  
GET Object Supported  
GET Object ACL Supported  
GET Object tagging Supported  
GET Object torrent Not Supported  
HEAD Object Supported  
OPTIONS object Supported  
POST Object Supported  
POST Object restore Not Supported  
PUT Object Supported See Restrictions of Object tagging
PUT Object - Copy Supported  
PUT Object acl Supported  
PUT Object tagging Supported See Restrictions of Object tagging
SELECT Object Content Not Supported  
Abort Multipart Upload Supported  
Complete Multipart Upload Supported  
Initiate Multipart Upload Supported  
List Parts Supported  
Upload Part Supported  
Upload Part - Copy Supported  

Restrictions of Server Side encryption (SSE)

AWS S3 supports following specifications of Server Side encryption:

  • SSE-KMS
  • SSE-C

Object storage of CROC Cloud platform supports only SSE-C specification.

GET/PUT/DELETE Bucket encryption methods refer to the SSE-KMS specification, which is yet unsupported. Technically, methods will work but encryption won’t be applied.

Restrictions of Bucket Location

Set Location by LocationConstraint unsupported.

GET Bucket location method always returns null

Restrictions of Bucket requestPayment

Bucket requestPayment is unsupported by CROC cloud platform. Technically, GET/PUT Bucket requestPayment methods will work but you will not be able to use this feature, yet.

Restrictions of Bucket lifecycle

Only rules for removing objects and their versions are supported.

Rules for moving objects between storage classes are not supported. Objects’ tags are not supported in Bucket lifecycle rules.

Restrictions of Bucket policy

Objects’ tags are not supported in Bucket Policy.

Currently, we support only following actions:

  • s3:AbortMultipartUpload
  • s3:CreateBucket
  • s3:DeleteBucketPolicy
  • s3:DeleteBucket
  • s3:DeleteBucketWebsite
  • s3:DeleteObject
  • s3:DeleteObjectVersion
  • s3:DeleteReplicationConfiguration
  • s3:GetAccelerateConfiguration
  • s3:GetBucketAcl
  • s3:GetBucketCORS
  • s3:GetBucketLocation
  • s3:GetBucketLogging
  • s3:GetBucketNotification
  • s3:GetBucketPolicy
  • s3:GetBucketRequestPayment
  • s3:GetBucketTagging
  • s3:GetBucketVersioning
  • s3:GetBucketWebsite
  • s3:GetLifecycleConfiguration
  • s3:GetObjectAcl
  • s3:GetObject
  • s3:GetObjectTorrent
  • s3:GetObjectVersionAcl
  • s3:GetObjectVersion
  • s3:GetObjectVersionTorrent
  • s3:GetReplicationConfiguration
  • s3:ListAllMyBuckets
  • s3:ListBucketMultiPartUploads
  • s3:ListBucket
  • s3:ListBucketVersions
  • s3:ListMultipartUploadParts
  • s3:PutAccelerateConfiguration
  • s3:PutBucketAcl
  • s3:PutBucketCORS
  • s3:PutBucketLogging
  • s3:PutBucketNotification
  • s3:PutBucketPolicy
  • s3:PutBucketRequestPayment
  • s3:PutBucketTagging
  • s3:PutBucketVersioning
  • s3:PutBucketWebsite
  • s3:PutLifecycleConfiguration
  • s3:PutObjectAcl
  • s3:PutObject
  • s3:PutObjectVersionAcl
  • s3:PutReplicationConfiguration
  • s3:RestoreObject

Users’ names of CROC Cloud platform (example: username@company.ru) can’t be used as Principal in Bucket Policy. Currently you can only use “*” as Principal in Bucket policy.

Following condition keys are supported for all requests:

  • aws:CurrentTime
  • aws:EpochTime
  • aws:PrincipalType
  • aws:Referer
  • aws:SecureTransport
  • aws:SourceIp
  • aws:UserAgent
  • aws:username

Condition keys for Bucket Related Operations:

  • Action
    • Condition Key
  • s3:createBucket
    • s3:x-amz-acl
    • s3:x-amz-grant-<perm> where <perm> one of read/write/read-acp/write-acp/full-control
  • s3:ListBucket, s3:ListBucketVersions
    • s3:prefix
    • s3:delimiter
    • s3:max-keys
  • s3:PutBucketAcl
    • s3:x-amz-acl
    • s3:x-amz-grant-<perm>

Condition keys for Object Related Operations:

  • Action
    • Condition Key
  • s3:PutObject
    • s3:x-amz-acl
    • s3:x-amz-grant-<perm>
    • s3:x-amz-copy-source
    • s3:x-amz-metadata-directive
  • s3:PutObjectAcl, s3:PutObjectVersionAcl
    • s3:x-amz-acl
    • s3-amz-grant-<perm> where <perm> one of read/write/read-acp/write-acp/full-control

Restrictions of Object tagging

Object tags are not supported in Bucket Policy and Bucket Lifecycle.

Unsupported header fields

The following common request header fields are not supported:

Name Type
x-amz-security-token Request
Server Response
x-amz-delete-marker Response
x-amz-id-2 Response
x-amz-request-id Response
x-amz-version-id Response