Bucket
Object Storage의 Bucket API를 사용하여 버킷의 생성과 관련 정보 및 정책을 관리할 수 있습니다.
API 사용 준비
- API를 호출하기 위해 필요한 사전 작업은 API 사용 준비 문서를 참고하시기 바랍니다.
- Object Storage의 API Model에 대한 설명은 API 모델 문서를 참고하시기 바랍니다.
API 엔드포인트 URL
API 요청을 위한 Object Storage API 엔드포인트 URL은 다음과 같습니다.
- kr-central-1
- kr-central-2
https://objectstorage.kr-central-1.kakaocloud.com
https://objectstorage.kr-central-2.kakaocloud.com
버킷 생성
버킷을 생 성합니다.
카카오클라우드의 IAM 역할에 따라, 버킷을 생성하기 위해서는 프로젝트 관리자 또는 프로젝트 멤버 역할이 필요합니다.
- kr-central-1
- kr-central-2
Request Syntax
curl --request PUT --location 'https://objectstorage.kr-central-1.kakaocloud.com/v1_ext/bucket' \
--header 'X-Auth-Token: {x-auth-token}' \--header 'Content-Type: application/json' \
--data '{
"name": "my-bucket-new",
"type": "hot",
"use_encryption": true
}'
API 호출 방식
메서드 | 요청 URL |
---|---|
PUT | https://objectstorage.kr-central-1.kakaocloud.com/v1_ext/bucket |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰을 입력 |
Content-Type | String | 필수 | application/json 으로 고정 |
Request Elements
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
name | String | 필수 | 버킷 이름 |
type | String | 필수 | 버킷 유형 - hot (기본값): hot 버킷- cold (지원 예정): cold 버킷 |
use_encryption | Boolean | 선택 | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
Response Syntax
{
name: String
type: String
use_encryption: boolean
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
name | String | 생성된 버킷 이름 |
type | String | 생성된 버킷 유형 - hot (기본값): hot 버킷- cold (지원 예정): cold 버킷 |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 권한 없음 |
409 | Conflicts | 생성 실패 - 동일한 bucket_name 이 이미 존재 |
Request Syntax
curl --request PUT --location 'https://objectstorage.kr-central-2.kakaocloud.com/v1_ext/bucket' \
--header 'X-Auth-Token: {x-auth-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "my-bucket-new",
"type": "STANDARD",
"use_encryption": true,
"encryption_configuration": {
"type": "managed"
}
}'
API 호출 방식
메서드 | 요청 URL |
---|---|
PUT | https://objectstorage.kr-central-2.kakaocloud.com/v1_ext/bucket |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰을 입력 |
Content-Type | String | 필수 | application/json 으로 고정 |
Request Elements
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
name | String | 필수 | 버킷 이름 |
type | String | 필수 | 버킷 유형 - Standard (기본값): standard 버킷 |
use_encryption | Boolean | 선택 | 버킷 암호화 여부encryption_configuration 설정을 입력하는 경우 입력값이 무시됨- false (기본값): 암호화하지 않음 - true : 암호화 함 (encryption_configuration.type = managed와 동일) |
encryption_configuration ▼ | Structure | 선택 | 버킷 암호화 설정 |
type | String | 필 수 | 암호화 방법 - managed (기본값): 사바에서 제공하는 자동 암호화- true (지원 예정): KMS를 이용한 키 관리 서비스와 연계한 암호화 |
Response Syntax
{
"account": "project-id",
"project": "project-id",
"name": "my-bucket-new",
"type": "STANDARD",
"bytes": 0,
"objectCount": 0,
"createdAt": "2022-04-25T10:28:57Z",
"acl": {
"permissions": null,
"public": "read-only",
"public_read_allow_ip_list": [
"ip / cidr"
]
},
"lastModified": "2022-04-25T10:28:57Z",
"use_encryption": true,
"encryption_type": "managed",
"storageClass": "STANDARD",
"storagePolicy": "default-placement"
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
account (Deprecated) | String | 프로젝트 ID - Swift API에서 Account 값. 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) |
project | String | 프로젝트 ID |
name | String | 생성된 버킷 이름 |
type | String | 생성된 버킷 유형 - STANDARD (기본값): standard 버킷 |
bytes | String | 총 사용량 - 단위: Byte |
objectCount | Int | 버킷의 오브젝트 개수 |
createdAt | String | 생성일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
encryption_type | String | 버킷 암호화 유형 |
lastModified | String | 최종 수정일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
storageClass | String | 스토리지 클래스 종류 - STANDARD (기본값): standard 클래스의 버킷 |
storagePolicy | String | 스토리지 클래스의 존 - default-placement (기본값) |
acl ▼ | - | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정 삭제 |
public | String | 퍼블릭 접근 허용 여부 - read-only , deny |
public_read_allow_ip_list | List | 퍼블릭 접근 허용 IP 리스트 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
400 | Bad Request | 입력 설정 오류 |
401 | Unauthorized | 권한 없음 |
409 | Conflicts | 생성 실패 - 동일한 bucket_name 이 이미 존재 |
버킷 관리
버킷 상세 조회
storage.buckets.get 권한이 있을 경우, 특정 버킷에 대한 상세 정보를 조회할 수 있습니다. Object Storage의 자세한 권한은 권한 관리를 참고하시기 바랍니다.
Request Syntax
curl --location --request GET 'https://objectstorage.{region_name}.kakaocloud.com/v1_ext/bucket/{bucket_name}' \
--header 'X-Auth-Token: {x-auth-token}'
API 호출 방식
메서드 | 요청 URL |
---|---|
GET | https://objectstorage.{region_name}.kakaocloud.com/v1_ext/{bucket_name} |
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
region_name | String | 필수 | 리전명 - kr-central-1 또는 kr-central-2 |
bucket_name | String | 필수 | 버킷 이름 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰을 입력 |
Response Syntax
Bucket의 API 모델에 대한 자세한 설명은 Bucket API Model을 참고하시기 비랍니다.
- kr-central-1
- kr-central-2
{
"account": "account-id",
"name": "test_bucket",
"type": "hot",
"bytes": 1073741824,
"objectCount": 1,
"policyCount": 0,
"createdAt": "2022-04-25T10:28:57Z",
"owner": {
"id": "user-id",
"name": "test_user@kakaoenterprise.com"
},
"acl": {
"permissions": null,
"public": "read-only",
"public_read_allow_ip_list": [
"ip / cidr"
]
},
"lastModified": "2022-04-25T10:28:57Z",
"use_encryption": false
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
account | String | 프로젝트 ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) - Swift API에서 Account 값으로 사용 |
name | String | 생성된 버킷 이름 |
type | String | 생성된 버킷 유형 - hot (기본값): hot 버킷- cold (지원 예정): cold 버킷 |
bytes | String | 총 사용량 - 단위: Byte |
objectCount | Int | 버킷의 오브젝트 개수 |
policyCount | Int | 해당 버킷의 라이프사이클이 적용된 정책의 개수 (kr-central-1만 제공) |
createdAt | String | 생성일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
owner ▼ | - | 버킷 생성자 |
id | String | 버킷 생성자의 ID |
name | String | 버킷 생성자의 이름 |
acl ▼ | - | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정을 삭제 |
public | String | 읽기 전용 - read-only 만 작성 가능 |
public_read_allow_ip_list | List | 퍼블릭 접근 허용 IP |
lastModified | String | 최종 수정일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화함 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 권한 없음 |
409 | Conflicts | 생성 실패 - 동일한 bucket_name 이 이미 존재 |
{
"project": "project-id",
"name": "test-bucket-01",
"type": "STANDARD",
"bytes": 0,
"objectCount": 0,
"createdAt": "2023-06-21T07:17:10Z",
"use_encryption": true,
"encryption_type": " ",
"lastModified": "2023-06-21T07:17:10Z",
"storageClass": "STANDARD",
"storagePolicy": "default-placement",
"acl": {
"public": "deny",
"public_read_allow_ip_list": null
}
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
project | String | 프로젝트 ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) - S3 API에서 사용 |
name | String | 생성된 버킷 이름 |
type | String | 생성된 버킷 유형 - standard (기본값): standard 버킷 |
bytes | String | 총 사용량 - 단위: Byte |
objectCount | Int | 버킷의 오브젝트 개수 |
createdAt | String | 생성일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
encryption_type | String | 버킷 암호화 유형 |
lastModified | String | 최종 수정일 - 형식: RFC3339 - 예시: 2020-07-01T00:00:00Z |
storageClass | String | 스토리지 클래스 종류 (kr-central-2만 제 공) - standard (기본값): standard 클래스의 버킷 |
storagePolicy | String | 스토리지 클래스의 존 |
acl ▼ | - | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정 삭제 |
public | String | 읽기 전용 - read-only 만 작성 가능 |
public_read_allow_ip_list | List | 퍼블릭 접근 허용 IP |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
400 | Bad Request | 입력 설정 오류 |
401 | Unauthorized | 인증 실패 |
403 | Forbidden | 권한 없음 |
버킷 목록 조회
버킷 목록을 조회할 수 있습니다.
카카오클라우드의 IAM 역할에 따라, 버킷을 조회하기 위해서는 프로젝트 관리자 또는 프로젝트 멤버 역할이 필요합니다.
Request Syntax
curl --location --request GET 'https://objectstorage.{region_name}.kakaocloud.com/v1_ext/bucket?limit=100' \
--header 'X-Auth-Token: {x-auth-token}'
API 호출 방식
메서드 | 요청 URL |
---|---|
GET | https://objectstorage.{region_name}.kakaocloud.com/v1_ext/bucket |
Request Element
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
region_name | String | 필수 | 리전명 - kr-central-1 또는 kr-central-2 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰 |
Request Query
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
offset | Query | 선택 | 버킷 목록에서 오프셋부터 n개씩 가져옴 - 오프셋은 0부터 시작 - 기본값: 0 |
limit | Query | 선택 | 목록 개수 제한 - 기본값: 20 (최대 100개까지 조회 가능) |
prefix | Query | 선택 | Prefix로 버킷 이름 검색 |
include | Query | 선택 | 포함 문자열로 버킷 이름 검색 - Prefix와 같이 사용할 수 없음 |
type | Query | 선택 | Type 검색 조건 - hot (kr-central-1)- cold (kr-central-1)- STANDARD (kr-central-2) |
by | Query | 선택 | 정렬 영역 - bucket_name : 버킷 이름- bucket_type : 버킷의 유형- created_at : 버킷 최종 수정일- bytes_used : 버킷의 사용량 |
direct | Query | 선택 | 정렬 순서 - asc : 오름차순(기본값)- desc : 내림차순 |
Response Syntax
{
totalCount: int
offset: int
count: int
items: [SimpleBucket]
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
totalCount | Int | 총 버킷 수 |
offset | Int | 버킷 목록에서 오프셋부터 n개씩 가져옴 - i 번째부터 i+n 번째까지 |
count | Int | 반환된 버킷의 개수 |
items | List | 버킷의 상세 정보 - Model - Simple Bucket 참고 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 조회 권한 없음(토큰 오류) |
403 | Forbidden | 조회 권한 없음 |
버킷 접근 관리
- kr-central-1
- kr-central-2
사용자가 소유한 버킷에 대한 공공 접근이나 IP 리스트 기반의 접근 제어를 적용할 수 있습니다.
Request Syntax
curl --request POST --location 'https://objectstorage.kr-central-1.kakaocloud.com/v1_ext/bucket/{bucket_name}' \
--header 'X-Auth-Token: {x-auth-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "my-bucket-new",
"acl": {
"public": "read-only",
"public_read_allow_ip_list": [
"1.1.1.1",
"2.2.2.0/24"
]
}
}'
API 호출 방식
메서드 | 요청 URL |
---|---|
POST | https://objectstorage.kr-central-1.kakaocloud.com/v1_ext/bucket/{bucket_name} |
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰 |
Content-Type | String | 필수 | application/json 으로 고정 |
Request Elements
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
acl ▼ | Structure | 필수 | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정 삭제 |
public | String | 선택 | 퍼블릭 접근 허용 여부 - read-only : 허용함 - deny : 허용하지 않음 (acl = null 과 동일) |
public_read_allow_ip_list | List | 선택 | 접근을 허용할 IP 목록 |
Response Syntax
{
name: String
ownerId: String
acl: AccessControlList
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
name | String | 버킷 이름 |
ownerId | String | 버킷 소유자 ID (deprecated) - 현재는 소유자의 별도 권한이 존재하지 않음 |
acl | List | 접근 권한 설정 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 권한 없음 |
404 | Not found | 버킷을 찾을 수 없음 |
사용자가 소유한 버킷에 대한 접근을 관리할 수 있습니다. 다음 요청을 통해 사용자가 소 유한 버킷에 대한 공공 접근이나 IP 리스트 기반의 접근 제어를 적용할 수 있습니다.
Request Syntax
curl --request POST --location 'https://objectstorage.kr-central-2.kakaocloud.com/v1_ext/bucket/{bucket_name}' \
--header 'X-Auth-Token: {x-auth-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "my-bucket-new",
"acl": {
"public": "read-only",
"public_read_allow_ip_list": [
"1.1.1.1",
"2.2.2.0/24"
]
}
}'
API 호출 방식
메서드 | 요청 URL |
---|---|
POST | https://objectstorage.kr-central-2.kakaocloud.com/v1_ext/bucket/{bucket_name} |
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰 |
Content-Type | String | 필수 | application/json 으로 고정 |
Request Elements
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
acl ▼ | Structure | 필수 | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정 삭제 |
public | String | 선택 | 퍼블릭 접근 허용 여부 - read-only : 허용함- deny : 허용하지 않음 (acl = null과 동일) |
public_read_allow_ip_list | List | 선택 | 접근을 허용하는 IP 목록 |
Response Syntax
{
"project": "0bc7a4c4a8fb4fee98dcf1936d8ed8eb",
"account": "0bc7a4c4a8fb4fee98dcf1936d8ed8eb",
"name": "my-bucket-new",
"type": "STANDARD",
"bytes": 0,
"objectCount": 0,
"createdAt": "2023-07-08T04:08:05Z",
"use_encryption": true,
"encryption_type": "managed",
"lastModified": "2023-07-08T04:08:05Z",
"storageClass": "STANDARD",
"storagePolicy": "default-placement",
"acl": {
"public": "deny",
"public_read_allow_ip_list": null
}
}
Response Elements
Response | 유형 | 설명 |
---|---|---|
account (Deprecated) | String | 프로젝트 ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID). 삭제 예정 |
project | String | 프로젝트 ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) |
name | String | 생성된 버킷 이름 |
type | String | 생성된 버킷 유형 - STANDARD (기본값): standard 버킷 |
bytes | String | 총 사용량- 단위: Byte |
objectCount | Int | 버킷의 오브젝트 개수 |
createdAt | String | 생성일 - 형식: https://www.rfc-editor.org/rfc/rfc3339 - 예시: 2020-07-01T00:00:00Z |
use_encryption | Boolean | 버킷 암호화 여부 - false (기본값): 암호화하지 않음 - true : 암호화 함 |
encryption_type | String | 버킷 암호화 유형 |
lastModified | String | 최종 수정일 - 형식: https://www.rfc-editor.org/rfc/rfc3339 - 예시: 2020-07-01T00:00:00Z |
storageClass | String | 스토리지 클래스 종류 - STANDARD (기본값): standard 클래스의 버킷 |
storagePolicy | String | 스토리지 클래스의 존 - default-placement (기본값) |
acl ▼ | - | 버킷에 대한 접근 권한 - null 입력 시, 기존 ACL 설정 삭제 |
public | String | 퍼블릭 접근 허용 여부 - read-only , deny |
public_read_allow_ip_list | List | 퍼블릭 접근 허용 IP 리스트 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 권한 없음 (TOKEN 오류) |
403 | Forbidden | 수정 권한 없음 |
404 | Not found | 버킷을 찾을 수 없음 |
S3 버킷 접근 제어
S3 API를 이용한 버킷 접근 제어를 할 수 있습니다.
- kr-central-1
- kr-central-2
추후 지원 예정입니다.
curl --request POST --location 'https://objectstorage.kr-central-2.kakaocloud.com/{bucket_name}?acl' \
--header 'Authorization: {authorization}' \
--header 'Content-Type: application/xml' \
--header 'x-amz-acl: {Acl}' \
--header 'Content-MD5: {ContentMD5}' \
--header 'x-amz-grant-full-control: {GrantFullControl}' \
--header 'x-amz-grant-read: {GrantRead}' \
--header 'x-amz-grant-read-acp: {GrantReadACP}' \
--header 'x-amz-grant-write: {GrantWrite}' \
--header 'x-amz-grant-write-acp: {GrantWriteACP}' \
--data '<?xml version="1.0" encoding="UTF-8"?>
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<AccessControlList>
<Grant>
<Grantee>
<ID>string</ID>
<URI>string</URI>
</Grantee>
<Permission>string</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>'
API 호출 방식
메서드 | 요청 URL |
---|---|
POST | https://objectstorage.kr-central-2.kakaocloud.com/{bucket_name}?acl |
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
Authorization | String | 필수 | S3 authorization header |
Content-Type | String | 필수 | body content의 type - application/xml 이외의 입력은 parsing 오류가 발생할 수 있음 |
x-amz-acl | String | 선택 | 버킷에 적용할 canned ACL - private : public 공개하지 않음. storage.owner를 제외한 모든 사용 허가 제거- public-read : 모든 사용자에게 storage.objectReader 역할 부여- public-read-write : 모든 사용자에게 storage.objectCreator 역할 부여- authenticated-read : project에 허가된 사용자에게 storage.objectReader 역할 부여 |
Content-MD5 | String | 필수 | base64로 암호화된 body의 128-bit MD5 |
x-amz-grant-full-control | String | 선택 | 지정된 사용자에게 storage.admin 역할을 부여 - 사용자 ID와 AllUsers uri( http://acs.amazonaws.com/groups/global/AllUsers )만 제공 |
x-amz-grant-read | String | 선택 | 지정된 사용자에게 storage.objectReader 역할을 부여 - 사용자 ID와 AllUsers uri( http://acs.amazonaws.com/groups/global/AllUsers )만 제공 |
x-amz-grant-read-acp | String | 선택 | 지정된 사용자에게 storage.policyReader 역할을 부여 - 사용자 ID와 AllUsers uri( http://acs.amazonaws.com/groups/global/AllUsers )만 제공 |
x-amz-grant-write | String | 선택 | 지정된 사용자에게 storage.objectCreator 역할을 부여 - 사용자 ID와 AllUsers uri( http://acs.amazonaws.com/groups/global/AllUsers )만 제공 |
x-amz-grant-write-acp | String | 선택 | 지정된 사용자에게 storage.policyWriter 역할을 부여 - 사용자 ID와 AllUsers uri( http://acs.amazonaws.com/groups/global/AllUsers )만 제공 |
Request Elements
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
bucket_name | String | 필수 | 버킷 이름 |
AccessControlPolicy ▼ | Structure | 선택 | |
AccessControlList ▼ | Structure | 필수 | 버킷에 설정할 Access Control 리스트 |
Grant ▼ | List | 필수 | |
Grantee ▼ | Structure | 필수 | 권한을 부여받을 대상 |
ID | String | 선택 | User ID - 사용자를 대상으로 권한을 부여할 때 입력 - ID 와 URI 중 하나는 입력이 되어야 함 |
URI | String | 선택 | AllUsers 그룹에 권한을 부여할 때 입력 - http://acs.amazonaws.com/groups/global/AllUsers - ID 와 URI 중 하나는 입력이 되어야 함 |
Permission | String | 필수 | 부여할 권한의 종류 - FULL_CONTROL : storage.admin 역할- WRITE : storage.objectCreator 역할- WRITE-ACP : storage.policyWriter 역할- READ : storage.objectReader 역할- READ-ACP : storage.policyReader 역할 |
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
401 | Unauthorized | 권한 없음 (토큰 오류) |
403 | Forbidden | 수정 권한 없음 |
404 | Not found | 버킷을 찾을 수 없음 |
버킷 삭제
사용자가 소유한 버킷을 삭제할 수 있습니다. 버킷 삭제를 위해서는 storage.buckets.delete 권한이 필요합니다.
- 버킷 내에 오브젝트가 존재하는 경우에는 버킷을 삭제할 수 없습니다.
Request Syntax
curl --location --request DELETE 'https://objectstorage.{region_name}.kakaocloud.com/v1_ext/bucket/{bucket_name}' \
--header 'X-Auth-Token: {x-auth-token}'
API 호출 방식
메서드 | 요청 URL |
---|---|
DELETE | https://objectstorage.{region_name}.kakaocloud.com/v1_ext/bucket/{bucket_name} |
Request Element
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
region_name | String | 필수 | 리전 명 - kr-central-1 또는 kr-central-2 |
bucket_name | String | 필수 | 버킷 이름 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰 |
Response Syntax
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
204 | No Content | 삭제 성공 |
401 | Unauthorized | 인증 실패 |
404 | Not found | 버킷 찾을 수 없음 |
409 | Conflict | 버킷이 비어 있지 않음 |
버킷 및 오브젝트 일괄 삭제
삭제 권한이 있는 사용자는 프로젝트 내 버킷 및 오브젝트를 일괄 삭제할 수 있습니다.
입력된 리스트를 순차적으로 삭제하기 위해 시도하며, 각각의 삭제 결과를 하나의 Response Body로 반환합니다.
- kr-central-1
- kr-central-2
Request Syntax
curl --request DELETE --location 'https://objectstorage.kr-central-1.kakaocloud.com/v1/{account}/?bulk-delete' \
--header 'X-Auth-Token: {X-Auth-Token}' \
--header 'Accept: application/json' \
--data 'exist-container/exist-objectexist-containernot-exist-bucketnot-empty-bucket'
API 호출 방식
메서드 | 요청 URL |
---|---|
DELETE | https://objectstorage.kr-central-1.kakaocloud.com/v1/{account}/?bulk-delete |
Request Element
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
account | String | 필수 | 프로젝트 ID - 토큰 발급 시 확인 가능 (토큰 발급 과정에서 사용/확인된 프로젝트 ID) - Swift API에서 Account 값으로 사용 |
Request Header
Request | 유형 | 필수 여부 | 설명 |
---|---|---|---|
X-Auth-Token | String | 필수 | 사용자 인증 토큰 |
Request Body
유형 | 필수 여부 | 설명 |
---|---|---|
String | 필수 | 삭제 대상 버킷 및 오브젝트 리스트 - Separator: new line |
Response Syntax
상태 코드
HTTP Status | 응답 내용 | 설명 |
---|---|---|
200 | OK | 성공 |
400 | Bad Request | 잘못된 요청 (잘못된 이름 규칙 또는 존재하지 않음) |
401 | Unauthorized | 인증 실패 |
403 | Forbidden | 권한 없음 |
409 | Conflict | 버킷 삭제 실패 (Not empty) |
추후 지원 예정입니다.