- 인쇄
- PDF
Archive Storage API
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다 .
OpenStack Swift API와 호환되는 Archive Storage API의 지원 정보를 확인하고 API 공통 호출 및 인증 방법을 확인합니다. Archive Storage는 지원하는 버전은 2.15.1 (Pike)이며, 이 가이드에서는 2.15.1 (Pike)을 기준으로 설명합니다.
지원 API
Archive Storage API는 스토리지 관리와 사용에 필요한 다양한 기능을 제어할 수 있습니다. 지원하는 오퍼레이션 목록은 Archive Storage API 가이드에서 확인해 주십시오.
API 호출
Archive Storage API 호출 단계는 다음과 같습니다.
1. 인증키 생성
2. 호출 도메인 확인
3. 토큰 생성
4. 토큰 삭제
1. 인증키 생성
Archive Storage API를 사용하기 위해 인증키를 생성하는 방법은 Ncloud API의 인증키 생성 방법과 동일합니다. Ncoud API의 1. 인증키 생성을 참고해 주십시오.
2. 호출 도메인 확인
HTTP와 HTTPS 프로토콜을 모두 지원하지만 데이터 보호를 위해 HTTPS 사용을 권장합니다. 리전별 호출 도메인 정보는 다음과 같습니다.
리전 | 인증 URL | 서비스 URL |
---|---|---|
한국 | https://kr.archive.ncloudstorage.com:5000 | https://kr.archive.ncloudstorage.com |
3. 토큰 생성
네이버 클라우드 플랫폼 Archive Storage는 OpenStack Keystone V3 API를 이용하여 인증을 하고 토큰을 생성할 수 있습니다. 생성된 토큰은 어카운트, 컨테이너, 오브젝트 오퍼레이션 이용 시 X-Auth-Token 헤더 값으로 입력하여 사용합니다.
OpenStack Keystone V3 API에 대한 자세한 내용은 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 이용 정보 확인] 버튼을 클릭하여 확인 |
요청 예시는 다음과 같습니다.
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}"
}
}
}
}'
응답
응답 파라미터는 다음과 같습니다.
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 | 랜덤으로 생성되는 고유의 값으로 토큰 정보를 조회할 때 사용 |
응답 예시는 다음과 같습니다.
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"
}
}
4. 토큰 삭제
생성한 토큰을 삭제할 수 있습니다.
구문
구문은 다음과 같습니다.
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
응답
요청이 성공하게 되면 No Content (204) 상태 코드로 응답합니다. 응답 예시는 다음과 같습니다.
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