Amazon S3 Usage Guide
Object Storage provides functions such as creating services, viewing lists, retrieving folder lists, creating folders, uploading files, and downloading files through the Samsung Cloud Platform Console. These features are also provided via an API compatible with Amazon S3. Therefore, tools that utilize Amazon S3 can be used in the same way.
Using Amazon S3’s utility tools requires generating and verifying an authentication key. For detailed information, please refer to 인증키 생성하기.
Amazon S3 API
The list of Amazon S3 APIs supported by the Samsung Cloud Platform Object Storage service is as follows.
| Category | Detailed description |
|---|---|
| head-bucket | View bucket information |
| list-buckets | View bucket list |
| get-bucket-versioning | Bucket version management lookup |
| put-bucket-versioning | Bucket version control modification |
| get-bucket-encryption | View bucket encryption settings |
| put-bucket-encryption | Apply bucket encryption settings |
| delete-bucket-encryption | Delete bucket encryption settings |
| copy-object | Copy, move, and rename objects |
| put-object | Object creation |
| get-object | Object download |
| list-objects | Object List Retrieval |
| head-object | Object Detail Lookup |
| get-object-acl | Object ACL lookup |
| delete-object | Delete object
|
| list-object-versions | Retrieve object version list |
| delete-object | Delete object version |
| presign | Issue a Presigned URL for PUT object |
| get-bucket-acl | Check bucket public permissions |
| create-bucket | Create bucket |
| delete-bucket | Delete bucket |
| get-bucket-cors | Check bucket CORS (Cross OriginResources) configuration |
| put-bucket-cors | Create bucket CORS (PUT) |
| delete-bucket-cors | Delete bucket CORS |
| put-bucket-tagging | Create bucket tagging |
| get-bucket-tagging | Bucket tagging lookup |
| delete-bucket-tagging | Delete bucket tagging |
| put-bucket-website | Create bucket website |
| get-bucket-website | View bucket website |
| delete-bucket-website | Delete bucket website |
| get-bucket-policy-status | Check bucket policy status |
| put-bucket-acl | Create bucket ACL |
| create-multipart-upload | Create multipart upload |
| upload-part | Perform multipart upload |
| complete-multipart-upload | Multipart upload completed |
| list-multipart-uploads | Multipart upload list |
| abort-multipart-upload | Delete incomplete Multipart upload |
| put-object-tagging | Object tagging creation |
| get-object-tagging | Object tagging lookup |
| delete-object-tagging | Delete object tagging |
| list-objects-V2 | Object Lookup (v2) |
| put-object-acl | Create object ACL |
| list-parts | Parts lookup |
| put-public-access-block | Create public access block |
| get-public-access-block | public access block lookup |
| delete-public-access-block | Delete public access block |
| put-bucket-lifecycle | Create bucket Lifecycle (only Expiration rule can be used) |
| get-bucket-lifecycle | View bucket lifecycle |
| delete-bucket-lifecycle | Delete bucket lifecycle |
| put-bucket-policy | Create bucket policy
|
| get-bucket-policy | View bucket policy |
| delete-bucket-policy | Delete bucket policy |
| put-bucket-replication | Modify bucket replication policy
|
| get-bucket-replication | View bucket replication policy |
| delete-bucket-replication | Delete bucket replication policy |
Bucket policy creation example
When using put-bucket-policy, refer to the following example to write the JSON file.
{
"Statement": [
{
"Action": "s3:*"
"Condition": {
"IpAddress": {
"scp:SourceIp": []
},
"Resource": {
"scp:SourceDBaaSId": [],
"scp:SourceResourceId": [],
"scp:SourceVpcEndpointId": []
},
"Service": {
"scp:ServiceAiTraining": "true",
"scp:ServiceScf": "false"
}
},
"Effect": "Allow"
"Principal": "*"
"Resource": [
srn:e::1234:kr-west1::objectstorage:bucket/bucketname
srn:e::1234:kr-west1::objectstorage:bucket/bucketname/*
]
}
],
"Version": "2012-10-17"
}{
"Statement": [
{
"Action": "s3:*"
"Condition": {
"IpAddress": {
"scp:SourceIp": []
},
"Resource": {
"scp:SourceDBaaSId": [],
"scp:SourceResourceId": [],
"scp:SourceVpcEndpointId": []
},
"Service": {
"scp:ServiceAiTraining": "true",
"scp:ServiceScf": "false"
}
},
"Effect": "Allow"
"Principal": "*"
"Resource": [
srn:e::1234:kr-west1::objectstorage:bucket/bucketname
srn:e::1234:kr-west1::objectstorage:bucket/bucketname/*
]
}
],
"Version": "2012-10-17"
}Action,Effect,Principalcannot be modified.- Enter the Object Storage SRN and Object Storage SRN/* in
Resource. Condition’sIpAddress,Resource,Servicecan be modified as follows.IpAddress: Enter a single IP or CIDR format.Resource: Enter each resource ID.Service: Enterfalseortrue.- For detailed information about permissible targets, refer to Setting Access Control.
Bucket replication policy creation example
put-bucket-replication, when using it, refer to the following example to create the JSON file.
{
"Role": "srn:e::1234:::iam:user/abc3d3442"
"Rules": [
{
"ID": "replication-policy-1"
"Status": "Enabled",
"Priority": 1,
"DeleteMarkerReplication": {
"Status": "Enabled"
},
"Filter": {
"Prefix": ""
},
"Destination": {
"Bucket": "srn:e::1234:kr-west1::objectstorage:bucket/bucketname"
}
}
]
}{
"Role": "srn:e::1234:::iam:user/abc3d3442"
"Rules": [
{
"ID": "replication-policy-1"
"Status": "Enabled",
"Priority": 1,
"DeleteMarkerReplication": {
"Status": "Enabled"
},
"Filter": {
"Prefix": ""
},
"Destination": {
"Bucket": "srn:e::1234:kr-west1::objectstorage:bucket/bucketname"
}
}
]
}Role: Enter the IAM SRN.Rules > Destination’s Bucket: Please enter the Bucket SRN.- If you do not provide the ID of
Rule, it will be automatically generated with a random value. - If you change the ID of
Rule, a new policy is created and the existing policy is deleted.
Amazon S3 CLI
To use Amazon S3 with the AWS CLI, refer to the Amazon S3 CLI Guide.
Amazon S3 SDK for Java
To use the Amazon S3 SDK for Java, refer to the Amazon S3 SDK Guide.
- Use the region parameter required for using the Amazon S3 SDK as referenced below.
- In case of Korea West (kr-west1): kr-west
- In the case of South Korea 1,2,3 (kr-south1,2,3): kr-south
- The region parameter is for reference only, and the actual region is determined based on the URL.
- Korea South 3 (kr-south3) region constraints
- File upload and download functions are limited through the Samsung Cloud Platform Console.
- Using the S3 API/CLI with a public URL is restricted.
- However, accessing a Private URL through resources (such as Virtual Server) created in the Samsung Cloud Platform Console is possible.
- Korea South 1 (kr-south1), Korea South 2 (kr-south2) region constraints
- You must allow a separate firewall rule to enable access to the public URL.
- The public URL can be found on the Object Storage details page. * Please refer to Object Storage 상세 정보 확인하기.