-
인쇄
-
PDF
Archive Storage API
-
인쇄
-
PDF
개요
네이버 클라우드 플랫폼 Archive Storage는 스토리지 관리와 사용에 필요한 OpenStack Swift API를 제공합니다.
버전: 2.15.1 (Pike)
지원하는 Archive Storage API
어카운트 오퍼레이션
어카운트에 속한 컨테이너(버킷) 목록 조회, 메타데이터 조회, 메타데티어 설정을 조회하는 오퍼레이션을 설명합니다.
어카운트는 고유의 project ID를 사용하고 Archive Storage 콘솔에서 이용 신청 후 [API 이용 정보 확인] 버튼을 통해 확인할 수 있습니다.
오퍼레이션 | 설명 |
---|---|
GET | 어카운트에 속한 컨테이너(버킷) 목록 조회 |
HEAD | 어카운트의 메타데이터 조회 |
POST | 어카운트에 메타데이터 설정 및 변경 |
컨테이너(버킷) 오퍼레이션
컨테이너(버킷)을 생성, 삭제, 조회, 제어하는 오퍼레이션을 설명합니다.
오퍼레이션 | 설명 |
---|---|
PUT | 컨테이너(버킷) 생성 |
GET | 컨테이너(버킷)에 속한 오브젝트 목록 조회 |
HEAD | 컨테이너(버킷)의 메타데이터 조회 |
POST | 컨테이너(버킷)에 메타데이터를 설정 및 변경 |
DELETE | 빈 컨테이너(버킷) 삭제 |
오브젝트 오퍼레이션
오브젝트를 생성, 삭제, 조회, 제어하는 오퍼레이션을 설명합니다.
오퍼레이션 | 설명 |
---|---|
PUT | 오브젝트 업로드. 동일한 이름의 오브젝트가 있을 경우 덮어쓰기 |
COPY | 다른 위치에 있는 오브젝트 복제 |
GET | 오브젝트 다운로드 |
HEAD | 오브젝트의 메타데이터 조회 |
POST | 오브젝트에 메타데이터를 설정 및 변경 |
DELETE | 오브젝트 삭제 |
Archive Storage 인증 관리
네이버 클라우드 플랫폼 Archive Storage는 OpenStack Keystone V3 API를 이용하여 인증하고 토큰을 생성할 수 있습니다. 생성된 토큰은 어카운트, 컨테이너, 오브젝트 오퍼레이션 이용 시 X-Auth-Token 헤더 값으로 입력하여 사용합니다.
버전: v3.8
문서 : https://developer.openstack.org/api-ref/identity/v3/
password 인증 방식을 사용하여 토큰을 생성하고, 포탈 마이페이지 > 계정 관리 > 인증키 관리에서 생성한 API 인증키 정보 중 Access Key ID는 user name, Secret Key는 user password로 사용합니다.
토큰 생성 시 project 범위로 한정(scope)은 필수이며 project ID와 domain ID는 Archive Storage 콘솔에서 이용 신청 후 [API 이용 정보 확인] 버튼을 통해 확인할 수 있습니다.
1. 인증키 생성
2. 호출 도메인 확인
3. 토큰 생성
4. 토큰 삭제
인증키 생성
NAVER CLOUD PLATFORM 계정이 생성되면 기본적으로 인증키가 한개 발급됩니다. 발급된 인증키는 네이버 클라우드 플랫폼 홈페이지의 [마이페이지] > [계정관리] > [인증키관리] 에서 확인할 수 있습니다. 인증키는 계정 생성 시 자동으로 발급되는 것 외에 사용자가 하나 더 생성할 수 있어서 두 개까지 발급받을 수 있습니다.
인증키를 '사용 중지'로 설정하거나 삭제하면 유효하지 않은 키로 인식됩니다.
API 인증키는 Access Key ID(user name)와 Secret Key(user password) 한 쌍으로 구성되어 있습니다. 한 쌍의 API 인증키는 API를 인증할 때 파라미터로 직접 전달됩니다.
- 네이버 클라우드 플랫폼 홈페이지에서 로그인을 합니다.
- [마이페이지] > [계정관리] > [인증키관리] 메뉴로 접속하시면 [신규 API 인증키 생성] 버튼을 클릭합니다.
- 기존에 생성하신 인증키가 있으실 경우에는 해당 인증키를 사용하실 수 있습니다.
- API 인증키 관리에서 발급받은 자신의 Access Key ID와 Secret Key를 확인합니다.
호출 도메인 확인
HTTP/HTTPS 프로토콜을 모두 지원하지만 데이터 보호를 위해 HTTPS 사용을 권장합니다.
리전 | 인증 URL | 서비스 URL |
---|---|---|
한국 | https://kr.archive.ncloudstorage.com:5000 | https://kr.archive.ncloudstorage.com |
토큰 생성
네이버 클라우드 플랫폼 Archive Storage는 OpenStack Keystone V3 API를 이용하여 인증하고 토큰을 생성할 수 있습니다. 생성된 토큰은 어카운트, 컨테이너, 오브젝트 오퍼레이션 이용 시 X-Auth-Token 헤더 값으로 입력하여 사용합니다.
버전: v3.8
문서 : https://developer.openstack.org/api-ref/identity/v3/
password 인증 방식을 사용하여 토큰을 생성하고, 포탈 마이페이지 > 계정 관리 > 인증키 관리에서 생성한 API 인증키 정보 중 Access Key ID는 user name, Secret Key는 user password로 사용합니다.
토큰 생성 시 project 범위로 한정(scope)은 필수이며 project ID와 domain ID는 Archive Storage 콘솔에서 이용 신청 후 [API 이용 정보 확인] 버튼을 통해 확인할 수 있습니다.
토큰의 유효 시간은 24시간이고 토큰 삭제 요청을 통해 이용을 중지시킬 수 있습니다.
구문
POST /v3/auth/tokens
요청
Name | In | Type | Description |
---|---|---|---|
auth | body | object | auth 오브젝트 |
identity | body | object | identity 오브젝트 |
methods | body | array | 인증 방식. password 인증 방식 사용 |
password | body | object | password 오브젝트 |
user | body | object | user 오브젝트. id, password, domain 입력 필수 |
domain | body | object | domain 오브젝트. id를 입력해서 사용하고, domain ID는 Archive Storage 콘솔의 [API 이용 정보 확인] 버튼을 통해 확인 |
scope | body | object | scope 오브젝트. 토큰 사용 범위를 project로 지정하여 사용 |
project | body | object | project 오브젝트. id를 입력해서 사용하고, project ID는 Archive Storage 콘솔의 [API 이용 정보 확인] 버튼을 통해 확인 |
응답
Name | In | Type | Description |
---|---|---|---|
X-Subject-Token | header | string | 생성된 토큰. 토큰 값은 request body가 아닌 헤더로 전달 |
token | body | object | token 오브젝트 |
methods | body | array | 인증 방식. password 인증 방식 사용 |
roles | body | array | role 정보 목록. id, name 정보 포함 |
expires_at | body | string | 토큰 만료 일시. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601). 토큰 만료 일시가 null 일 경우 만료되지 않음 |
issued_at | body | string | 토큰 생성 일시. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601) |
project | body | object | project 오브젝트. domain, id, name 정보 포함 |
catalog | body | array | catalog 오브젝트 |
endpoints | body | array | endpoint 정보 목록 |
region_id | body | string | 서비스 endpoint가 속한 리전 정보 |
url | body | string | endpoint URL. |
interface | body | string | 인터페이스 타입. admin 타입은 admin 권한이 있는 유저만 사용가능 |
type | body | string | endpoint 타입 |
audit_ids | body | array | 랜덤으로 생성되는 고유의 값으로 토큰 정보를 조회할 때 사용 |
예시
요청 예시
curl -i -X POST -H "Content-Type: application/json" https://kr.archive.ncloudstorage.com:5000/v3/auth/tokens -d '
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name": "{access_key_id}",
"password": "{secret_key}",
"domain": {
"id": "{domain_id}"
}
}
}
},
"scope": {
"project": {
"id": "{project_id}"
}
}
}
}'
응답 예시
HTTP/1.1 201 Created
Date: Mon, 17 Sep 2018 23:46:11 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
X-Subject-Token: gAAAAABboDzDOzds2V_2uzR9xn-AQkg5RRejRkGD9L5NuhwezSqqxpmY8ZNl48vYnC1GCn21AiffNtRrDedbvVq2usnPDH2qIp-Cq2Rx54fnH406NhhW9OiaKMzFwRzS7-js3j4xGMvEk2bPErmolAT4E1Du0vsF2azycC6sNcIMsVWcvd
Vary: X-Auth-Token
x-openstack-request-id: req-40a163b1-1fcc-423d-8ec3-3f40fd413ab6
Content-Length: 1759
Content-Type: application/json
{
"token": {
"is_domain": false,
"methods": [
"password"
],
"roles": [
{
"id": "488fac210a714fcc91b61a32525b5693",
"name": "user"
}
],
"expires_at": "2018-09-18T23:46:11.000000Z",
"project": {
"domain": {
"id": "default",
"name": "Default"
},
"id": "0a11d053d4804b4c86d26ae1ff48dc1e",
"name": "ncp-test-0"
},
"catalog": [
{
"endpoints": [
{
"region_id": null,
"url": "https://kr.archive.ncloudstorage.com:5000/v3",
"region": null,
"interface": "public",
"id": "3bf62632266c4be0880cd7170ca90f55"
},
{
"region_id": null,
"url": "https://kr.archive.ncloudstorage.com:35357/v3",
"region": null,
"interface": "admin",
"id": "a29ce505b6cb429ea9ca15cb126251f7"
},
{
"region_id": null,
"url": "https://kr.archive.ncloudstorage.com:35357/v3",
"region": null,
"interface": "internal",
"id": "e524bcde8c5a4eec8750acf3e5819d69"
}
],
"type": "identity",
"id": "ae1a92e6b64f4e9886517aaca2540b26",
"name": "keystone"
},
{
"endpoints": [
{
"region_id": "RegionOne",
"url": "https://kr.archive.ncloudstorage.com/v1/AUTH_0a11d053d4804b4c86d26ae1ff48dc1e",
"region": "RegionOne",
"interface": "internal",
"id": "80773860110449b9b78dc3a05f3f6360"
},
{
"region_id": "RegionOne",
"url": "https://kr.archive.ncloudstorage.com/v1/AUTH_0a11d053d4804b4c86d26ae1ff48dc1e",
"region": "RegionOne",
"interface": "public",
"id": "40f7102a57024603a53f41c4d8cb7cf3"
},
{
"region_id": "RegionOne",
"url": "https://kr.archive.ncloudstorage.com",
"region": "RegionOne",
"interface": "admin",
"id": "5297ae442163478e82f6f9630919b93f"
}
],
"type": "object-store",
"id": "fb4cbd0bf18f4beb9ac29b09f0862ce2",
"name": "swift"
}
],
"user": {
"password_expires_at": null,
"domain": {
"id": "default",
"name": "Default"
},
"id": "ac1eca9c1b9f4900a0b1c4a82be49686",
"name": "qQXiRLju7XHMXpmEskHn"
},
"audit_ids": [
"U-O5n4rBSoO5jBykNXYNsw"
],
"issued_at": "2018-09-17T23:46:11.000000Z"
}
}
토큰 삭제
구문
DELETE /v3/auth/tokens
요청
Name | In | Type | Description |
---|---|---|---|
X-Auth-Token | header | string | 인증을 위한 유효한 토큰 |
X-Subject-Token | header | string | 삭제 대상 토큰. 요청이 성공하는 즉시 이용할 수 없게 됨 |
예시
요청 예시
curl -i -X DELETE -H "X-Auth-Token: $token" -H "X-Subject-Token: $token_to_delete" https://kr.archive.ncloudstorage.com:5000/v3/auth/tokens
응답 예시
HTTP/1.1 204 No Content
Date: Tue, 18 Sep 2018 05:44:00 GMT
Server: Apache/2.4.6 (Red Hat Enterprise Linux) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5
Vary: X-Auth-Token
x-openstack-request-id: req-b6e8efbe-c3f2-41bc-8ca5-1067753318d4
Content-Type: text/plain; charset=UTF-8
요청이 성공하게 되면 No Content (204) 상태 코드를 응답합니다.