Archive Storage API
  • 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. 토큰 삭제
5. 호출

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

이 문서가 도움이 되었습니까?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.