3.3 Spatial Studioのトークンについて

Spatial Studioを使用すると、様々なタイプのアクセス・トークンを作成できます。さらに、リリース23.2.1以降では、システム生成のアクセスジェネレータ・トークンがSpatial Studioユーザーごとにサポートされています。

サポートされているトークンタイプを次に示します:

  • アクセス・トークン:
    • 汎用トークン: すべてのリソースへのフル・アクセス。トークンは、必要に応じて読取り専用アクセス権または読取り/書込みアクセス権を付与します。

      ほとんどの場合、汎用トークンの使用は避ける必要があります。汎用トークンでは多くのアクセス権が付与されるためです。かわりに、自分のシナリオに適用する特定のトークンを生成して使用します。

    • ストリーミング専用トークン: データセット・ストリーミングに関連するRESTエンドポイントにのみアクセスします。また、トークンは、HTTP GETメソッドでのみ使用される読取り専用アクセス権を付与します。
    • ストリーミングおよびタイルのリフレッシュ・トークン: このトークンのスコープは、最近の更新でストリーミング・データセットの既存のベクター・タイルをリフレッシュするために拡張されます。
    • 公開済プロジェクトの埋込みトークン: このトークンを使用すると、プライベートの公開済プロジェクトの埋込みが可能になります。

    前述のアクセス・トークンを作成するには、「アクセス・トークンの生成」を参照してください。

  • アクセスジェネレータ・トークン: これは、短期間のアクセス・トークン(前述の「アクセス・トークン」の下のリストに示されているタイプ)を(プログラムによって)作成するために使用される、特殊なタイプのトークンです。

    このトークンを直接作成または削除することはできません。コピーできるのは、システム生成のアクセスジェネレータ・トークンのみです。システムはこのトークンを、ユーザーごとに生成することに注意してください。これは、異なるSpatial Studioユーザーが異なるアクセスジェネレータ・トークンを持つことを意味します。

    また、Spatial Studioにリクエストして、アクセスジェネレータ・トークンを再生成することもできます。

3.3.1 アクセス・トークンの生成

アクセス・トークンを生成するには、次のようにします。
  1. 「コンソール」ページに移動します。
  2. 「セキュリティ」の下の「アクセス・トークン」をクリックします。
    「アクセス・トークン」スライダが開き、既存のトークンが表示されます。
  3. 「新規トークンの作成」をクリックします。
    次のように、新規アクセス・トークンの作成ダイアログが開きます。

    図3-5 新しいアクセス・トークンの作成

    図3-5の説明が続きます
    「図3-5 新しいアクセス・トークンの作成」の説明
  4. トークンの名前を入力します。
  5. トークンが期限切れになるまでの時間を「有効期間(分)」に入力します。
    -1を指定した場合、明示的に取り消さないかぎり、Spatial Studioではトークンが期限切れになりません。
  6. 「リソース・タイプ」を選択します。
  7. 必要に応じて、汎用トークンへのアクセスを許可するために「許可されたアクション」を選択します。
  8. 「OK」をクリックしてトークンを作成します。
    トークンが正常に作成されます。

3.3.1.1 プログラムによるアクセス・トークンの生成

アクセスジェネレータ・トークンを使用すると、Webアプリケーションでは、プログラムによってSpatial Studioから短期間のアクセス・トークンを作成または取得することもできます。

次に、アクセス・トークンを作成するためのSpatial Studio REST APIエンドポイントの詳細を示します:

エンドポイント: /spatialstudio/oauth/v1/user/token?name=<NAME>&validTime=<MINUTES>&action=<ACTION>&resourceType=<RESOURCE>

必要なHTTPリクエスト・ヘッダー: ヘッダーの名前はAuthorizationにする必要があり、その値はBearerで始まり、その後に空白、有効なアクセス・ジェネレータ・トークン文字列を続ける必要があります。

次の表は、前述のエンドポイントで使用される問合せパラメータについて説明しています。

表3-1 問合せパラメータ

問合せパラメータ脚注 1 データ型 説明
name 最大128文字(null以外) 作成するトークンの名前を指定します。
validTime integer x -1 >= x >= 9999 新しいトークンが有効を維持する時間(分)を指定します。

ノート: -1の値は、トークンが失効しないことを示します。

action enum[read_only, read_write] 新しいトークンで実行可能なアクションを指定します。
resourceType enum[dataset_streaming, dataset_streaming_refreshing , embedded_published_project, all 新しいトークンでアクセス(操作)可能なリソースのタイプを指定します。

脚注 1 すべての問合せパラメータが必須です。

現時点では、次のactionresourceTypeの組合せを使用して、5種類のトークンのみを作成できます。

  • action=read_only&resourceType=all
  • action=read_write&resourceType=all
  • action=read_only&resourceType=dataset_streaming
  • action=read_write&resourceType=dataset_streaming_refreshing
  • action=read_only&resourceType=embedded_published_project

その他のactionresourceTypeの組合せ(前述のリストに示した有効な組合せ以外)は拒否されます。

次に、アクセス・トークンを取得するためのサンプル・リクエストを示します(Curlコマンドラインを使用)。このトークンにより、Webアプリケーションは、データセットにストリーミング・アクセスできるようになります。また、データセットのベクター・タイルをリフレッシュできるようにもなります。

curl -X POST 'http://localhost:8080/spatialstudio/oauth/v1/user/token?name=test123&validTime=60&action=read_write&resourceType=dataset_streaming_refreshing' --header 'Authorization: Bearer $GENERATORTOKEN'

前述のリクエストは、新しいトークンが含まれているJSONドキュメントを返します。その値は、レスポンスのtokenフィールドに格納されています:

{"name":"test123","token":"eyJ0eXAiOiJzZ3RlY2...", … }

3.3.2 アクセスジェネレータ・トークンのコピー

次のステップを実行して、アクセスジェネレータ・トークンをコピーします:
  1. ページの右上隅のアバターをクリックします。
  2. ドロップダウン・メニューから「アクセス・トークン」をクリックします。
    「アクセス・トークン」ダイアログが開きます。
  3. アクセス・ジェネレータ・トークンの表示をクリックします。
    アクセスジェネレータ・トークンダイアログが開き、既存のアクセスジェネレータ・トークンが表示されます。
  4. 「トークンのコピー」をクリックしてトークン文字列をコピーします。
  5. 必要に応じて、トークンの再生成をクリックして、アクセス・ジェネレータ・トークンの再生成をシステムにリクエストし、トークンをコピーします。

3.3.3 ファイルセット・トークンの生成

GeoRasterデータセットの作成には、Spatial Studioでデータベースにラスター・ファイルをアップロードするためにファイルセット・トークンが必要です(「GeoRasterデータセット作成ウィザードの使用」を参照)。
Spatial Studioの管理者として、次のステップを実行してファイルセット・トークンを生成またはコピーします:
  1. 「コンソール」ページに移動します。
  2. 「セキュリティ」ファイルセット・トークンをクリックします。
    次のように、ファイルセット・トークンスライダが開き、様々なユーザーの既存のトークンが表示されます。

    図3-6 ファイルセット・トークン



    このページでは、特定のユーザーのトークン値をコピーできます。

  3. 新しいトークンを生成する場合は、「新規トークンの作成」をクリックします。
    次のような、新規ファイルセット・トークンの作成ダイアログが開きます:

    図3-7 新しいファイル・セット・トークンの作成



  4. トークンの名前を入力します。
  5. ファイルセットの格納先となるサーバー・パスに入力します。
    サーバーのファイル・システムでのラスター・ファイル格納用に、排他的なフォルダをSpatial Studioユーザーごとに割り当てることをお薦めします。
  6. トークンが期限切れになるまでの時間を「有効期間(分)」に入力します。
    有効な範囲は、1から9999分です。
  7. そのトークンの共有相手となるユーザーを選択します。
  8. 「OK」をクリックしてトークンを作成します。
    指定したユーザー用に、指定したフォルダ・パスにトークンが作成され、そのトークンの詳細が、ファイルセット・トークンページ内の「既存のトークン」の下にリストされます。必要なトークンを、必要なユーザーにコピーおよび転送できます。