- 印刷する
- 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. トークンの作成
NAVERクラウドプラットフォームのArchive Storageは、OpenStack Keystone V3 APIを利用して認証を行い、トークンを作成することができます。 作成されたトークンは、アカウント、コンテナ、オブジェクトオペレーションを使用する時に、X-Auth-Tokenヘッダ値として入力して使用します。
OpenStack Keystone V3 APIに関する詳細は、https://developer.openstack.org/api-ref/identity/v3/を参考にしてください。
password認証方式を使用してトークンを作成し、NAVERクラウドプラットフォームポータルのマイページ > アカウントの管理 > 認証キーの管理で作成したAPI認証キー情報のうち、Access Key IDはユーザー名、Secret Keyはユーザーパスワードとして使用します。
トークンを作成する場合、Projectの範囲に限定(scope)が必須であり、プロジェクトIDとドメイン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 | body | object | Passwordオブジェクト |
user | body | object | Userオブジェクト、ID、パスワード、ドメイン入力必須 |
domain | body | object | Domainオブジェクト、IDを入力して使用し、ドメインIDはArchive Storageコンソールの**[API利用情報の確認]**ボタンをクリックして確認 |
scope | body | object | Scopeオブジェクト、 トークンの使用範囲をProjectで指定して使用 |
project | body | object | Projectオブジェクト、IDを入力して使用し、プロジェクト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 | 作成されたトークン。 トークン値はリクエストボディではなくヘッダに伝達 |
token | body | object | Tokenオブジェクト |
methods | body | array | 認証方式、パスワード認証方式を使用 |
roles | body | array | ロール情報リスト、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オブジェクト、ドメイン、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