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. 토큰 삭제

    1. 인증키 생성

    Archive Storage API를 사용하기 위해 인증키를 생성하는 방법은 Ncloud API의 인증키 생성 방법과 동일합니다. Ncoud API의 1. 인증키 생성을 참고해 주십시오.

    2. 호출 도메인 확인

    HTTP와 HTTPS 프로토콜을 모두 지원하지만 데이터 보호를 위해 HTTPS 사용을 권장합니다. 리전별 호출 도메인 정보는 다음과 같습니다.

    리전인증 URL서비스 URL
    한국https://kr.archive.ncloudstorage.com:5000https://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
    

    요청

    요청 파라미터는 다음과 같습니다.

    NameInTypeDescription
    authbodyobjectauth 오브젝트
    identitybodyobjectidentity 오브젝트
    methodsbodyarray인증 방식. password 인증 방식 사용
    passwordbodyobjectpassword 오브젝트
    userbodyobjectuser 오브젝트. id, password, domain 입력 필수
    domainbodyobjectdomain 오브젝트. id를 입력해서 사용하고, domain ID는 Archive Storage 콘솔의 [API 이용 정보 확인] 버튼을 클릭하여 확인
    scopebodyobjectscope 오브젝트. 토큰 사용 범위를 project로 지정하여 사용
    projectbodyobjectproject 오브젝트. 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}"
                }
            }
        }
    }'
    

    응답

    응답 파라미터는 다음과 같습니다.

    NameInTypeDescription
    X-Subject-Tokenheaderstring생성된 토큰. 토큰 값은 request body가 아닌 헤더로 전달
    tokenbodyobjecttoken 오브젝트
    methodsbodyarray인증 방식. password 인증 방식 사용
    rolesbodyarrayrole 정보 목록. id, name 정보 포함
    expires_atbodystring토큰 만료 일시. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601). 토큰 만료 일시가 null 일 경우 만료되지 않음
    issued_atbodystring토큰 생성 일시. YYYY-MM-DDThh:mm:ss.sssZ (ISO 8601)
    projectbodyobjectproject 오브젝트. domain, id, name 정보 포함
    catalogbodyarraycatalog 오브젝트
    endpointsbodyarrayendpoint 정보 목록
    region_idbodystring서비스 endpoint가 속한 리전 정보
    urlbodystringendpoint URL.
    interfacebodystring인터페이스 타입. admin 타입은 admin 권한이 있는 유저만 사용 가능
    typebodystringendpoint 타입
    audit_idsbodyarray랜덤으로 생성되는 고유의 값으로 토큰 정보를 조회할 때 사용

    응답 예시는 다음과 같습니다.

    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
    

    요청

    요청 파라미터는 다음과 같습니다.

    NameInTypeDescription
    X-Auth-Tokenheaderstring인증을 위한 유효한 토큰
    X-Subject-Tokenheaderstring삭제 대상 토큰. 요청이 성공하는 즉시 이용할 수 없게 됨

    요청 예시는 다음과 같습니다.

    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
    

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

    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.