2.8 Spatial Studioでのアイデンティティ・プロバイダとしてのIDCSの有効化

Oracle Spatial Studioリリース22.1.0以降、独自のOracle CloudテナンシのIDCSアイデンティティ・ドメインですでに管理されているユーザーを使用して、Spatial Studioインスタンスにログインできます。

Spatial Studioのアイデンティティ・プロバイダとしてIDCSを設定するワークフローは、次の3つのステップで構成されます。

  1. IDCSでグループとしてSpatial Studioロールを追加。
  2. IDCSでアプリケーションを作成。
  3. Spatial Studioの構成ファイルにIDCS設定をコピー。

開始する前に、「Spatial StudioでIDCSを設定するための前提条件」を参照して、すべての前提条件を満たしていることを確認してください。

2.8.1 Spatial StudioでIDCSを設定するための前提条件

IDCSSpatial Studioと統合するには、次の詳細を取得する必要があります。

IDCSインスタンスの詳細の取得

IDCSインスタンスの詳細を取得するには、IDCS URLのいずれかを調べます。たとえば、IDCSにユーザーとして追加されたときに電子メールで受け取るIDCSログインURLを調べることができます。たとえば、次のIDCSクラウド・アカウントのログインURLの例を考えてみます。

https://idcs-54656e616e742d4578616d706c652121.identity.oraclecloud.com/ui/v1/signin

次のように、前述のURLからIDCSインスタンスの詳細を導出できるようになります。
  • IDCSテナント: idcs-54656e616e742d4578616d706c652121
  • IDCS host: identity.oraclecloud.com

2.8.1.1 IDCSコンソールURLの確認

OCIテナンシにはデフォルトのIDCSインスタンスが含まれており、OCIコンソールを使用してIDCSコンソールURLを取得できます。

次のステップを実行して、IDCSコンソールにアクセスするためのURLを特定します。
  1. Oracle Cloud資格証明を使用してOCIコンソールにサインインします。
  2. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。
  3. 「アイデンティティ」「フェデレーション」をクリックします。
    次のように、「フェデレーション」ページが開きます。

    図2-6 「フェデレーション」ページのデフォルトのIDCSインスタンス

    図2-6の説明が続きます
    「図2-6 「フェデレーション」ページのデフォルトのIDCSインスタンス」の説明
  4. 前述の図で強調表示されているデフォルトのIDCSインスタンスをクリックします。
    「アイデンティティ・プロバイダの詳細」ページが開きます。
  5. 次のように、「Oracle Identity Cloud Service Console」フィールドのIDCSコンソールURLを書き留めます。

    図2-7 IDCSコンソールURL

    図2-7の説明が続く
    「図2-7 IDCSコンソールURL」の説明

2.8.2 IDCSでのグループとしてのSpatial Studioロールの追加

Spatial Studioでサポートされているシステム管理者ロールをIDCSでグループとして追加する必要があります。

Spatial Studioのシステム管理者ロールは、SGTech_SystemAdminで識別されます。これは、管理者がシステム全体にフル・アクセスできることを意味します。

このロールをIDCSグループとして追加する必要があります。ただし、次が適用されます。

  • このグループに割り当てられたユーザーは、設定されているSpatial Studioインスタンスでの管理者権限を持ちます。
  • このグループに属していないユーザーは、IDCSアプリケーションに追加されると、Spatial Studioインスタンスへの通常のアクセス権を持ちます。
前提条件として、IDCSコンソールURLを取得する必要があります。詳細は、「IDCSコンソールURLの確認」を参照してください。

次のステップを実行して、IDCSでグループを作成します。

  1. ブラウザでIDCSコンソールURLを使用して、IDCSログイン・ページを開きます。
  2. 次のように、ADMINユーザー資格証明を入力してサインインします。
  3. 次のように、左上のナビゲーション・メニューを開き、「グループ」を選択して「追加」をクリックし、新しいグループを作成します。

    図2-9 IDCSグループの追加

    図2-9の説明が続きます
    「図2-9 IDCSグループの追加」の説明
    「グループの追加」ダイアログが開き、「ステップ1: グループ詳細」ページが表示されます。
  4. 「名前」SGTech_SystemAdminと入力します。
    ロール名は、大文字/小文字が区別されることに注意してください。
  5. 必要に応じて、「説明」を入力します。
  6. 次のように、「次」をクリックします。

    図2-10 ステップ-1: グループ詳細

    図2-10の説明が続きます
    「図2-10 ステップ-1: グループ詳細」の説明
    「ステップ2: グループへのユーザーの割当て(オプション)」ページが開き、既存のすべてのユーザーがリスト表示されます。
  7. 必要なユーザーを選択し、「終了」をクリックします。
    たとえば、次の図は、グループ・ロールSGTech_SystemAdminへのspatialstudio_userの割当てを示しています。

    図2-11 ステップ2: グループへのユーザーの割当て(オプション)

    図2-11の説明が続きます
    「図2-11 ステップ2: グループへのユーザーの割当て(オプション)」の説明
  8. 新しく追加したグループが「グループ」ページにリスト表示されていることを確認します。

    図2-12 グループのリスト

    図2-12の説明が続きます
    「図2-12 グループのリスト」の説明

2.8.3 IDCSでアプリケーションを作成

この項では、IDCSSpatial Studioアプリケーションを追加するステップについて説明します。

  1. ADMINユーザー資格証明を使用してIDCSにサインインします。
  2. 次のように、左上のナビゲーション・メニューを開き、「アプリケーション」を選択して「追加」をクリックし、新しいアプリケーションを追加します。

    図2-13 アプリケーションの追加

    図2-13の説明が続きます
    「図2-13 アプリケーションの追加」の説明
    「アプリケーションの追加」ダイアログが開きます。
  3. 「機密アプリケーション」を選択します。

    図2-14 「アプリケーションの追加」ダイアログ

    図2-14の説明が続きます
    「図2-14 「アプリケーションの追加」ダイアログ」の説明
    「機密アプリケーションの追加」ウィザードが開き、「詳細」ページが表示されます。
  4. アプリケーションの名前を入力します。
  5. 必要に応じて、説明を追加し、「次」をクリックします。

    図2-15 「機密アプリケーションの追加: 詳細」ページ

    図2-15の説明が続きます
    「図2-15 「機密アプリケーションの追加: 詳細」ページ」の説明
    「クライアント」ページが開きます。
  6. 「このアプリケーションをクライアントとして今すぐ構成します」をクリックして、新しいアプリケーションの認可情報を構成します。
    「認可」セクションで、次を実行します。
    1. 「許可される権限付与タイプ」「クライアント資格証明」および「認可コード」を有効にします。
    2. 「リダイレクトURL」<spatial_studio_url>/idcscallbackと入力します。
    3. 「ログアウト後のリダイレクトURL」<spatial_studio_url>と入力します。
    4. 必要に応じて、「セキュリティ」「信頼できるクライアント」を有効にしてカスタム証明書をインポートできます。

    図2-16 クライアントの詳細の構成

    図2-16の説明が続きます
    「図2-16 クライアントの詳細の構成」の説明
    「トークン発行ポリシー」セクションで、次を実行します。
    1. 「Identity Cloud Service管理APIへのクライアント・アクセス権を付与します」「追加」をクリックして、アプリケーションがIDCS APIにアクセスできるようにします。

      「アプリケーション・ロールの追加」ウィンドウが開き、アプリケーション・ロールがリスト表示されます。

    2. 次のように、「自分」および「認証クライアント」を選択して「追加」をクリックし、これらのアプリケーション・ロールをアプリケーションに割り当てます。

      図2-17 トークン発行ポリシーの構成

      図2-17の説明が続きます
      「図2-17 トークン発行ポリシーの構成」
    3. ページの右上の「次」をクリックして続行します。
  7. 「次」ボタンをクリックして「リソース」および「Web層ポリシー」をスキップし、「認可」ページにナビゲートします。
  8. 「権限付与を認可として実施」オプションを有効にします。
  9. 「終了」をクリックします。
    アプリケーションが追加され、「アプリケーションが追加されました」ダイアログ・ボックスが開きます。

    図2-19 確認のダイアログ

    図2-19の説明が続きます
    「図2-19 確認のダイアログ」の説明
  10. 後で構成を完了するために使用する「クライアントID」および「クライアント・シークレット」を書き留めます。

    ヒント:

    アプリケーションのクライアント資格証明は、アプリケーションがアクティブ化されると、「一般情報」セクションの「構成」タブから取得することもできます。
  11. 「閉じる」をクリックします。

    新しいアプリケーションの「詳細」ページが表示されます。

  12. 「アクティブ化」をクリックして、ユーザーにアプリケーションへのアクセス権を付与し、次のプロンプトで操作を確認します。

    図2-20 アプリケーションのアクティブ化の確認

    図2-20の説明が続きます
    「図2-20 アプリケーションのアクティブ化の確認」の説明
  13. 「グループ」タブをクリックして「割当て」をクリックし、次のように「IDCSでのグループとしてのSpatial Studioロールの追加」で作成したグループを追加します。

    図2-21 アプリケーションへのグループの割当て

    図2-21の説明が続きます
    「図2-21 アプリケーションへのグループの割当て」の説明
  14. 必要に応じて、「ユーザー」タブまたは他のグループを使用して、管理者以外のユーザーを追加します。

    図2-22 管理者以外のユーザーの割当て

    図2-22の説明が続きます
    「図2-22 管理者以外のユーザーの割当て」の説明

2.8.4 Spatial Studioの構成ファイルへのIDCS設定のコピー

Spatial StudioIDCSと統合するには、IDCS設定をsgtech_config.json構成ファイルに追加する必要があります。

構成ファイルは~/.sgtech/sgtech_config.jsonパスにあります。IDCS設定は、sgtech_config.jsonファイルに直接追加できます。ただし、ベスト・プラクティスは、IDCS設定を別の構成ファイルにして、このファイルをメインの構成ファイルにインポートします。
次のステップを実行して、IDCS設定用の構成ファイルを作成し、この構成をsgtech_config.jsonにインポートします。
  1. ~/.sgtechディレクトリに新しい空のJSON構成ファイルを作成します。
    たとえば:

    ~/.sgtech/sgtech_config.idcs.json

  2. 作成したファイルを任意のファイル・エディタで編集し、次のようにIDCS設定情報を追加します。
    {
      "idcs" : {
        "Host" : "identity.oraclecloud.com",
        "ClientTenant" : "<tenant_id>",
        "ClientId" : "<client_id>",
        "ClientSecret" : "<client_secret>",
        "redirectURL" : "https://localhost:4040/spatialstudio/idcscallback",
        "postLogoutRedirectURL" : "https://localhost:4040/spatialstudio/"
      }
    }

    前述のファイルでは、次のとおりです。

    • Host: IDCSホスト。
    • Client Tenant: IDCSテナント。
    • ClientId: IDCSアプリケーションの作成時に生成されます。
    • ClientSecret: IDCSアプリケーションの作成時に生成されます。
    • redirectURL: IDCSアプリケーションの作成時に使用されるリダイレクトURLと同じです。
    • postLogoutRedirectURL: IDCSアプリケーションの作成時に使用されるログアウト後のリダイレクトURLと同じです。
  3. sgtech_config.idcs.jsonファイルを保存します。
  4. メインのsgtech_config.jsonファイルを編集し、次のようにインポート構成を追加します。
    {
      "version" : "24.2.0",
      "work_dir" : "",
      ...
      "jobs" : {
        "init_threads_count" : 15
      },
      "imports" : {
        "idcsclient" : {
          "module" : "sgtech_config.idcs.json"
        }
      }

    メインのsgtech_config.jsonファイルに存在できるimportsオブジェクトは1つのみであることに注意してください。したがって、メインのsgtech_config.jsonファイルにimports構成がすでに存在する場合は、次のようにidcsclientエントリをimportsブロックに追加できます:

    {
      "version" : "24.2.0",
      "work_dir" : "",
      ...
      "jobs" : {
        "init_threads_count" : 15
      },
      "imports" : {
        "idcsclient" : {
          "module" : "sgtech_config.idcs.json"
        },
        "rolesmapping" : {
          "module" : "sgtech_config.security.json"  
        }
      }
  5. sgtech_config.jsonファイルを保存します。

2.8.5 IDCSログインのテスト

すべての設定ステップが完了したら、IDCSログインをテストして検証できます。

  1. IDCSからログアウトしたことを確認します。
  2. すべてのSpatial Studioインスタンスが停止していることを確認します。
    Spatial Studioインスタンスを停止するには、Linuxの場合はstop.shを、Windowsの場合はstop.cmdを実行します。
  3. start.sh (Linux)またはstart.cmd (Windows)を実行して、Spatial Studioを実行します。
  4. Spatial Studioが稼働したら、ブラウザでメインURLを開きます。たとえば:
    https://localhost:4040/spatialstudio/
    Spatial Studioの標準ログイン画面ではなく、図2-8に示すIDCSログイン画面が開きます。
  5. 資格証明を入力し、「サイン・イン」をクリックします。
    Spatial Studioインスタンスに自動的にリダイレクトされます。次のように、アバター・アイコンをクリックして、ログイン・ユーザーを確認できます。

    図2-23 「プロファイル」メニュー

    図2-23の説明が続きます
    「図2-23 「プロファイル」メニュー」の説明
  6. 「プロファイル」メニューの「サイン・アウト」をクリックして、Spatial Studioからログアウトします。
    これにより、IDCSで実行されている他のアプリケーションからもログアウトします。