VAST Cluster supports these S3 requests and S3 actions, that are supported by S3 Identity Policies and Bucket Policies. These are listed below with references to guidelines for how to call them using some specific client interfaces.
Task | S3 Request | S3 Action | s3cmd Command | Boto 3 S3 Resource Usage | Boto 3 S3 Client Method |
|---|---|---|---|---|---|
Bucket Operations | |||||
List the buckets on the S3 server | ListBuckets | Action not supported in VAST identity and bucket policies. Bucket listing permissions are managed by view policies only. | |||
Create a bucket | CreateBucket | s3:CreateBucket | |||
List the objects in bucket | ListObjects or ListObjectsV2 | s3:ListBucket | |||
Delete a bucket | DeleteBucket | s3:DeleteBucket | |||
Return the region in which the bucket resides | GetBucketLocation | Action not supported in VAST identity and bucket policies. | s3cmd info | N/A | |
Verify if bucket exists and if you have permission to access it | HeadBucket | s3:ListBucket | s3cmd info | N/A | |
Return the policy for the bucket | GetBucketPolicy | s3:GetBucketPolicy | s3cmd info | ||
Create a policy for the bucket | PutBucketPolicy | s3:PutBucketPolicy | s3cmd setpolicy | ||
Delete a bucket policy | DeleteBucketPolicy | s3:DeleteBucketPolicy | s3cmd delpolicy | ||
Create a lifecycle configuration | PutBucketLifecycleConfiguration | s3:PutLifecycleConfiguration | s3cmd setlifecycle | ||
Return a lifecycle configuration | GetBucketLifecycleConfiguration | s3:GetLifecycleConfiguration | s3cmd getlifecycle | ||
Return ownership controls for a bucket | GetBucketOwnershipControls | s3:GetBucketOwnershipControls | N/A | ||
Create or modify ownership controls for a bucket | PutBucketOwnershipControls | s3:PutBucketOwnershipControls | N/A | ||
Bucket Access Control List (ACL) Operations
| |||||
Set the ACL of a bucket | PutBucketAcl | s3:PutBucketAcl | |||
Return the ACL of a bucket | GetBucketAcl | s3:GetBucketAcl | |||
Bucket Tagging Operations | |||||
Set tags on a bucket | PutBucketTagging | s3:PutBucketTagging | N/A | ||
Return the tag set associated with a bucket | GetBucketTagging | s3:GetBucketTagging | N/A | ||
Delete the tags from a bucket | DeleteBucketTagging | s3:DeleteBucketTagging | N/A | ||
Bucket Logging Operations | |||||
Configure bucket logging | PutBucketLogging | s3:PutBucketLogging | |||
Return bucket logging confirmation | GetBucketLogging | s3:GetBucketLogging | N/A | ||
Bucket Event Notification Operations | |||||
Configure bucket event notifications | PutBucketNotificationConfiguration | s3:PutBucketNotification | N/A | ||
Return bucket event notifications configuration | GetBucketNotificationConfiguration | s3:GetBucketNotfication | N/A | ||
Object Operations | |||||
Create an object | PutObject | s3:PutObject | |||
Create a copy of an object | CopyObject | s3:GetObject & s3:PutObject
| |||
Retrieve an object | GetObject | s3:GetObject | |||
Retrieve metadata of an object without returning the object itself | HeadObject | s3:GetObject | |||
Delete an object | DeleteObject | s3:DeleteObject | |||
Delete multiple objects in a bucket | DeleteObjects | s3:DeleteObjects | N/A | ||
Object ACL Operations
| |||||
Set ACL permissions on an existing object | PutObjectAcl | s3:PutObjectAcl | |||
Return the ACL of an object | GetObjectAcl | s3:GetObjectAcl | |||
Upload Operations | |||||
Initiate upload of a file in multiple parts (multipart upload) | CreateMultipartUpload | s3:CreateMultipartUpload | |||
Abort a multipart upload | AbortMultipartUpload | s3:AbortMultipartUpload | |||
Complete a multipart upload | CompleteMultipartUpload | s3:CompleteMultipartUpload | Automatically executed with s3cmd put for multipart uploads. | ||
Upload a part in a multipart upload. | UploadPart | s3:UploadPart | Automatically executed with s3cmd put for multipart uploads. | ||
Upload a part by copying data from an existing object as data source. | UploadPartCopy | s3:UploadPartCopy, s3:GetObject | N/A | Upload a part by copying data from an existing object as data source | |
List the parts that have been uploaded for a specific multipart upload. | ListParts | s3:ListMultipartUploadParts | |||
List multipart uploads | ListMultipartUploads | s3:ListBucketMultipartUploads | |||
Object Versioning Operations
| |||||
Set versioning state on a bucket
| PutBucketVersioning | s3:PutBucketVersioning | N/A | ||
Get versioning state of a bucket | GetBucketVersioning | s3:GetBucketVersioning | N/A | ||
Return metadata about all versions of the objects in a bucket | ListObjectVersions | s3:ListBucketVersions | N/A | N/A | |
Return a specific version of a versioned object | GetObject | s3:GetObjectVersion | N/A | ||
Retrieve metadata for a specific version of an object | HeadObject | s3:GetObjectVersion | N/A | ||
Set ACL for a specific version of an object | PutObjectAcl | s3:PutObjectVersionAcl | N/A | ||
Return the ACL for a specific version of an object | GetObjectAcl | s3:GetObjectVersionAcl | N/A | ||
Delete specific versions of an object | DeleteObjectVersion | s3:DeleteObjectVersion | N/A | ||
Delete specific versions of multiple objects | DeleteObjectsVersion | S3:DeleteObjects | N/A | ||
Object Locking Operations
| |||||
Place an object lock configuration on a bucket | PutObjectLockConfiguration | s3:PutBucketObjectLockConfiguration | N/A | ||
Get the object lock configuration for a bucket | GetObjectLockConfiguration | s3:GetBucketObjectLockConfiguration | N/A | ||
Place an object retention configuration on an object | PutObjectRetention | s3:PutObjectRetention | N/A | ||
Get an object's retention settings | GetObjectRetention | s3:GetObjectRetention | N/A | ||
Apply a legal hold configuration to an object | PutObjectLegalHold | s3:PutObjectLegalHold | N/A | ||
Get an object's current legal hold status | GetObjectLegalHold | s3:GetObjectLegalHold | N/A | ||
Object Tagging Operations | |||||
Set a supplied tag-set to an object that already exists in a bucket | PutObjectTagging | s3:PutObjectTagging | N/A | N/A | |
Set a supplied tag-set to a version of an object that already exists in a bucket | PutObjectTagging | s3:PutObjectVersionTagging | N/A | N/A | |
Return the tag-set of an object | GetObjectTagging | s3:GetObjectTagging | N/A | N/A | |
Return the tag-set of a version of an object | GetObjectTagging | s3:GetObjectVersionTagging | N/A | N/A | |
Remove the tag-set from an object | DeleteObjectTagging | s3:DeleteObjectTagging | N/A | N/A | |
Remove the tag-set from a version of an object | DeleteObjectTagging | s3:DeleteObjectVersionTagging | N/A | N/A | |