Smart Data Platform APIの利用開始¶
Smart Data PlatformのAPIを利用する際の基本的な流れは、以下のとおりとなります。
ユーザーのAPI鍵とAPI秘密鍵を用いて、APIを利用したいメニューのリージョンに対応するKeystoneからTokenを取得する
取得したTokenを認証情報として利用し、メニューのAPIコールを行う
1. API利用可設定およびAPI権限管理機能(IAMグループとIAMロール)の設定¶
SDPFのAPIを利用するためには、下記の二つの設定が必要となります。
{
"basePath": "/ecl-keystone",
"ipAddress": "*",
"path": "*",
"verb": "*"
}
{
"basePath": "/ecl-sss",
"ipAddress": "*",
"path": "*",
"verb": "GET"
}
2. API鍵 / API秘密鍵の取得¶
Smart Data Platformで提供しているAPIの実行にあたっては、Tokenを事前に取得しておくことが必要です。
Token取得にあたっては、事前にAPIを実行するユーザーのAPI鍵/API秘密鍵、およびそのユーザーがアクセスできるテナントのテナントIDをポータルで確認した上で、本サービスで提供しているKeystoneに対して以下のようなAPIを実行してTokenを生成します。
API鍵/API秘密鍵は、ポータル画面の「プロファイル」より新規生成/再生成いただけます(詳細は こちら )。
3. トークン(Token)の取得¶
curl -i \
 -H "Content-Type: application/json" \
 -d '
{
   "auth": {
       "identity": {
           "methods": [
               "password"
           ],
           "password": {
               "user": {
                   "domain": {
                       "id": "default"
                   },
                   "name": "{ApiKey※1}",
                   "password": "{ApiSecret※2}"
               }
           }
       },
       "scope": {
           "project": {
               "id": "テナントID"
           }
       }
   }
}' {KeystoneEndpoint※3}/v3/auth/tokens
注釈
※1:API鍵
※2:API秘密鍵
※3:Keystoneのエンドポイント。利用したいAPIに対応したリージョンのKeystoneエンドポイントを指定する必要があります。(エンドポイント一覧は こちら )
上記コマンドを実行すると、下記のようなレスポンスが返却され、”X-Subject-Token:” の値が各サービスで提供しているAPIを実行する際に必要なKeystoneのTokenとなります。
注釈
"X-Subject-Token" を取り扱う際には大文字・小文字を区別しないようにお気をつけください。HTTPレスポンスヘッダー名は、RFC2616にて「大文字・小文字は区別されない」と規定されています。
HTTP等の仕様変更に伴って、予告なく大文字・小文字が変更される場合があります。
HTTP/1.1 201 Created
X-Forwarded-For: 10.20.30.140
Date: Mon, 28 Oct 2019 05:22:15 GMT
Content-Type: application/json
Content-Length: 2441
Connection: keep-alive
X-Forwarded-For: 10.20.30.140
X-Client-Type: APINative
Accept: */*
Vary: X-Auth-Token
x-openstack-request-id: req-58b973eb-7e39-4b01-82b8-832cd4bd7670
X-Subject-Token: e1b37cb197d84e69af37264fc0f167a33
ECL-Transaction-ID: 8f5045cd-7650-4089-b2aa-61a0c6425667
Set-Cookie: TS0149cbf5=015f1f0dc9feae58d23d7ef0048c490504781a965da2c461b0f66d391a43595bd4126ca545677b408e671b3cc9a1b4cdd815e3cf00; Path=/
4. APIの実行¶
curl -i \
 -X GET \
 -H "X-Auth-Token: {KeystoneToken※1}" \
 -H "Content-Type: application/json" \
https://api.ntt.com/sss/api/v2/me
注釈
※1:取得したKeystoneのToken