事前準備(API利用環境の構築)#

シェル作成#

APIの認証と実行のため、アクセストークンが必要です。
アクセストークンを取得するため、まず「get_token.sh」というシェルスクリプトを作成します。
※ユーザー認証の方式として、①「パスワード認証」,②「証明書+パスワード認証」の2つの選択肢があります。②「証明書+パスワード認証」を選んだ場合、シェルスクリプトの内容と事前準備に追加が発生します。
以下、この節では①「パスワード認証」をベースとして記述し、②「証明書+パスワード認証」を選んだ場合の追加はタブで記述します。

get_token.sh

#!/bin/bash
# アカウント情報
CONTRACT_NUMBER=<契約番号>
USER_NAME=<ユーザー名>
USER_PW=<パスワード>
# URI
TOKEN=https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token
# Token値格納ファイル
TMPFILE=./token.txt

echo ""
echo "****************************************"
echo "** Token取得・表示します              **"
echo "****************************************"
echo ""
echo "■設定内容"
echo " endpoint:$TOKEN"
echo " contract_number:$CONTRACT_NUMBER"
echo " user_name:$USER_NAME"
echo " user_pw:$USER_PW"
echo ""
echo "■実行するCURL"
echo "curl -si -X POST $TOKEN -H \"Content-Type:application/json\" -d '{ \"auth\":{ \"identity\":{ \"password\":{ \"user\":{\"contract_number\":\"$CONTRACT_NUMBER\", \"name\":\"$USER_NAME\", \"password\":\"$USER_PW\" } } } } }' "
curl -si -X POST $TOKEN -H "Content-Type:application/json" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"'$CONTRACT_NUMBER'", "name":"'$USER_NAME'", "password":"'$USER_PW'" } } } } }' | awk '/X-Access-Token/ {print $2}' > $TMPFILE | tr -d '\r\n'

OS_AUTH_TOKEN=`cat $TMPFILE | tr -d '\r\n'`
echo "=== ここから、取得された認証Token ==="
echo $OS_AUTH_TOKEN
echo "=== ここまで、取得された認証Token ==="
#!/bin/bash
# アカウント情報
CONTRACT_NUMBER=<契約番号>
USER_NAME=<ユーザー名>
USER_PW=<パスワード>
# URI
TOKEN=https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token
# Token値格納ファイル
TMPFILE=./token.txt

echo ""
echo "****************************************"
echo "** Token取得・表示します              **"
echo "****************************************"
echo ""
echo "■設定内容"
echo " endpoint:$TOKEN"
echo " contract_number:$CONTRACT_NUMBER"
echo " user_name:$USER_NAME"
echo " user_pw:$USER_PW"
echo ""
echo "■実行するCURL"
echo "curl -si -X POST $TOKEN -H \"Content-Type:application/json\" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ \"auth\":{ \"identity\":{ \"password\":{ \"user\":{\"contract_number\":\"$CONTRACT_NUMBER\", \"name\":\"$USER_NAME\", \"password\":\"$USER_PW\" } } } } }' "
curl -si -X POST  $TOKEN -H "Content-Type:application/json" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"'$CONTRACT_NUMBER'", "name":"'$USER_NAME'", "password":"'$USER_PW'" } } } } }' | awk '/X-Access-Token/ {print $2}' > $TMPFILE | tr -d '\r\n'

OS_AUTH_TOKEN=`cat $TMPFILE | tr -d '\r\n'`
echo "=== ここから、取得された認証Token ==="
echo $OS_AUTH_TOKEN
echo "=== ここまで、取得された認証Token ==="

# ※クライアント証明書の事前準備
# クライアント証明書のファイルを、OPENSSL 環境で所定のコマンドを使ってPEM形式に変換してください。 当該のファイル内に含まれる、'BEGIN CERTIFICATE'と 'END CERTIFICATE'の間に挟まれた英数字情報が、「ユーザー情報に紐づくクライアント証明書」です。
# サンプル:
# -----BEGIN CERTIFICATE----- 
# ~中略~                      
# -----END CERTIFICATE-----

Token取得#

APIを利用するための認証に必要なTokenの取得方法を説明します。

  1. 作業ディレクトリに移動します。
    $ cd <Token取得シェルがあるディレクトリ>
    
  2. Token取得シェルを実行します。
    $ ./get_token.sh
    
    コンソール画面に以下のような結果が出力されます。
****************************************
** Token取得・表示します             **
****************************************
■設定内容
endpoint: https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token
contract_number: <契約番号>
user_name:<ユーザー名>
user_pw:<パスワード>
■実行するCURL
curl -si -X POST  https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token -H "Content-Type:application/json" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"<契約番号>", "name":"<ユーザー名> ", "password":"<パスワード>" } } } } }'
=== ここから、取得された認証Token ===
<Tokenの値>
=== ここまで、取得された認証Token ===
****************************************
** Token取得・表示します             **
****************************************
■設定内容
endpoint: https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token
contract_number: <契約番号>
user_name:<ユーザー名>
user_pw:<パスワード>
■実行するCURL
curl -si -X POST  https://auth-api.jp-east-1.paas.cloud.global.fujitsu.com/API/paas/auth/token -H "Content-Type:application/json" -H "X-FCX-Client-Cert:ユーザ情報に紐づくクライアント証明書" -d '{ "auth":{ "identity":{ "password":{ "user":{"contract_number":"<契約番号>", "name":"<ユーザー名> ", "password":"<パスワード>" } } } } }'
=== ここから、取得された認証Token ===
<Tokenの値>
=== ここまで、取得された認証Token ===

認証Tokenが確認できれば、この環境でAPI操作が可能となっています。

以降、APIを実行する際、当手順で取得したTokenの値を実行するAPIのヘッダーに設定しリクエストを送ります。詳細は「利用者管理API」の各APIの実行サンプルを参照してください。