認証管理

NAVERクラウドプラットフォームArchive Storageは、OpenStack Keystone V3 APIを利用して認証し、トークンを生成することができます。生成されたトークンは、アカウント、コンテナ、オブジェクトオペレーションを利用する時、X-Auth-Tokenヘッダーの値で入力して使用します。

バージョン: v3.8

ドキュメント : https://developer.openstack.org/api-ref/identity/v3/

password認証方式を使用してトークンを生成し、ポータルマイページ>アカウント管理> 認証キーの管理で生成されたAPIの認証キー情報の中で、AccessKey IDはuser name、Secret Keyはuser passwordとして使用します。
トークンの生成時にproject範囲に限定(scope)するのは必須であり、project IDとdomain IDはArchive Storageコンソールで利用申請した後、[APIの利用情報の確認]ボタンを通じて確認することができます。
トークンの有効時間は24時間であり、トークン削除のリクエストを通じて利用を停止することができます。

トークンの生成

構文

POST /v3/auth/tokens

リクエストの例

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"
    }
}

リクエストパラメータ

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 ランダムに生成される固有の値で、トークン情報を照会するときに使用します。

トークンの削除

構文

DELETE /v3/auth/tokens

リクエストの例

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

リクエストパラメータ

Name In Type Description
X-Auth-Token header string 認証のための有効なトークン
X-Subject-Token header string 削除対象のトークン。リクエストが成功してからすぐに利用することができなくなります。

リクエストが成功することになるとNo Content (204)の状態のコードでレスポンスします。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...