Hitachi

Hitachi Command Suite Configuration Manager REST API リファレンスガイド


2.5 セッション管理

REST APIでは、セッションを使用して、複数のリクエストを同一クライアントによる一連の操作として識別します。例えば、あるユーザが同じアカウントを使用して平行に2つのクライアントプログラムを実行したい場合は、それぞれ別のセッションを生成する必要があります。それぞれのプログラムはREST APIサーバ上でセッションの情報に基づいて識別されます。また、REST APIでリソースに排他ロックをかけて操作する場合は、セッション単位にロックが制御されます。

REST APIクライアントがREST APIサーバにアクセスしてストレージシステムの操作を開始する際には、必ず最初にセッションを生成します。セッションを生成すると、クライアントにはセッションIDとトークンが返却されます。以降の操作では、各リクエストのAuthorizationヘッダに、認証情報としてトークンを指定します。REST APIクライアントからの操作を終了するときは、セッションを削除して、サーバ上に不要なセッションが残らないようにしてください。

セッションの生成

REST APIのセッションは、ユーザがセッション生成のAPIを実行することで生成されます。1ユーザが複数のセッションを生成できます。使用できるセッションの上限数は、1ストレージシステム当たり64セッションです。

セッションを生成すると、クライアントには次の情報がレスポンスとして返ります。
  • セッションID

    REST APIサーバ上でセッションを識別するためのIDです。セッションが有効かどうか確認したり、セッションを破棄したりするのに使用します。セッションIDは、セッションを生成したユーザのほか、Administrator ユーザグループ(ビルトイングループ)に属するユーザVSP 5000 シリーズVSP E シリーズVSP Gx00 モデルVSP G1000VSP G1500VSP Fx00 モデルまたはVSP F1500の場合)、またはmaintenanceユーザ(Virtual Storage PlatformまたはUnified Storage VMの場合)が参照できます。

  • トークン

    リクエストの発行元が特定のユーザであることを識別するための情報です。同一セッションのリクエストであるかどうかを判定するのに使用します。トークンは、セッションを生成したユーザだけが参照できます。

セッションを使用したAPIの実行

セッションを使用してAPIを実行するには、リクエストのAuthorizationヘッダに認証情報としてトークンを指定します。同じトークンを指定したリクエストは同一セッションによる操作として扱われます。トークンを指定したAuthorizationヘッダの指定例を次に示します。

Authorization : Session 550e8400-e29b-41d4-a716-446655440000

セッションが使用されずに一定時間が経過すると、セッションは自動的に破棄されます(セッションタイムアウト)。セッションタイムアウトまでの経過時間は、そのセッションが生成されてから、または、セッションを指定したリクエストの実行結果が返却されてから経過した時間です。同期処理中の待ち時間や、非同期処理のAPIのレスポンス待ち時間は、経過時間にカウントされません。経過時間中にそのセッションを使用したリクエストが発行されると、セッションタイムアウトまでの経過時間はリセットされます。セッションタイムアウトまでの時間はデフォルトで300秒(5分)ですが、セッション生成時に時間を指定することもできます。

継続中の操作のセッションがセッションタイムアウトによって破棄されないようにするには、対象セッションを使用したリクエストを定期的に発行してください。

ヒント

セッションの使用中に、セッションを生成したユーザの情報(ロールやリソースグループなど)が変更された場合は、セッション使用中でも操作に反映されます。セッションを生成したユーザのパスワードが変更された場合、セッションが破棄されることがあります。

セッションの破棄

一連の操作が終了してセッション管理が不要になった場合は、セッションを破棄します。セッションは、生成したユーザとAdministrator ユーザグループ(ビルトイングループ)に属するユーザVSP 5000 シリーズVSP E シリーズVSP Gx00 モデルVSP G1000VSP G1500VSP Fx00 モデルまたはVSP F1500の場合)、またはmaintenanceユーザ(Virtual Storage PlatformまたはUnified Storage VMの場合)だけが破棄できます。

セッションを指定してリソースをロックしていた場合は、そのセッションが破棄されるとロックも解除されます。