Smart Data Platform APIの利用開始¶
Smart Data PlatformのAPIを初めてご利用になる際には、以下の手順を参考にご利用ください。
1. API利用可設定およびIAMロールの設定¶
API利用時はユーザのAPI利用可否をAPI利用可能設定にする必要があります。各ユーザのプロファイル画面より設定ください。 また、IAMロールを用いて実行可能なAPIの設定を行ってください。(デフォルトのIAMロールのみではAPIを実行することはできません。) IAMロールは許可やAPI実行の条件などを示すものです。ホワイトリスト形式で記述します。 管理ユーザーは以下のパラメータをリクエストボディのresourcesに設定することにより、IAMロールを設定します。以下は設定例です。詳細な設定方法は API権限管理機能のご利用方法 をご参考ください。
{
"basePath": "/ecl-nova",
"ipAddress": "128.0.0.1/32",
"path": "/v2/{project_id}/servers/{server_id}/*",
"verb": "GET"
}
{
"basePath": "/ecl-keystone",
"ipAddress": "*",
"path": "*",
"verb": "POST"
}
2. API鍵 / API秘密鍵の取得¶
Smart Data Platformで提供しているAPIの実行にあたっては、Tokenを事前に取得しておくことが必要です。
Token取得にあたっては、事前にAPIを実行するユーザーのAPI鍵/API秘密鍵、およびそのユーザーがアクセスできるテナントのテナントIDをポータルで確認した上で、本サービスで提供しているKeystoneに対して以下のようなAPIを実行してTokenを生成します。
API鍵/API秘密鍵は、ポータル画面の「プロファイル」よりご確認いただけます。
3. トークン(Token)の取得¶
2.で取得したAPI鍵とAPI秘密鍵を用い、以下のようなコマンドを実行すると、Tokenを取得できます。 Tokenの有効期限は1時間です。
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"
}
}
}
}' {api_endpoint}/v3/auth/tokens
注釈
※1:API鍵
※2:API秘密鍵
上記コマンドを実行すると、下記のようなレスポンスが返却され、”X-Subject-Token:” の値が各サービスで提供しているAPIを実行する際に必要な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=/