2. Organization (オーガナイゼーション)

2.1. はじめに

本書では、Exastro システム における Organization (オーガナイゼーション) について説明します。

2.2. オーガナイゼーションとは

Exastro IT Automation 2.0 から導入されたマルチテナント機能におけるテナントの単位のことで、論理的に組織の空間を区分する単位のことで、たとえ同一の Exastro システムであってもデータの共有がされることのない、完全にプライベートな空間です。
Exastro システム の各アプリケーションの利用を開始するためには、オーガナイゼーションを作成する必要があります。
オーガナイゼーション全体図

2.3. オーガナイゼーションの作成方法

オーガナイゼーションの作成方法について説明します。

2.3.1. 目的

オーガナイゼーション作成を行うことで、オーガナイゼーション管理者のアカウントが作成され、オーガナイゼーションごとのエンドポイントURLにアクセスすることができるようになります。
また、システム内部では下記の処理が実行されます。
  • 処理のながれ

    1. Keycloak に、オーガナイゼーション用のレルムデータと管理者ユーザーが登録されます。

    2. MariaDB や MySQL といったリレーショナルデータベースに、オーガナイゼーション用のデータが登録されます。

    3. Exastro IT Automation の永続ボリュームに、オーガナイゼーション用のディレクトリが作成されます。

    4. GitLab に、オーガナイゼーション用のユーザーが登録されます。

2.3.2. 前提条件

本作業には下記のコマンドが必要となるため、事前にインストールをしてください。
  • 前提条件

    • インストールが完了し、Keycloak の管理コンソールにログインできること

    • システム管理に必要な下記の情報があること

      • 管理コンソールの URL

      • システム管理者のユーザーID

      • システム管理者のパスワード

    • 作業クライアントに必要なアプリケーションがインストールされていること

      • curl

      • git

      • jq

2.3.3. オーガナイゼーション作成

オーガナイゼーションの作成方法には、下記の2通りの方法があります。
  • 特徴

画面からオーガナイゼーションの作成を行うことができます。
  • 作成方法

  1. メニューより オーガナイゼーション管理 を選択します。

    ../../_images/org_management.png
  2. オーガナイゼーション一覧が表示されますので、 作成 ボタンを押下して、新しいオーガナイゼーションを作成することができます。

    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7_%E4%BD%9C%E6%88%90.png
  3. 新しく作成するオーガナイゼーションの情報を入力し、 登録 ボタンを押下します。

    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%BD%9C%E6%88%90_%E7%99%BB%E9%8C%B2.png
    表 2.34 オーガナイゼーション作成 入力項目

    入力エリア

    項目名

    説明

    オーガナイゼーション基本情報設定

    オーガナイゼーションID

    オーガナイゼーションに割り当てる一意のIDを指定します。

    ここで指定した ID を使ってシステム間の連携を行います。

    オーガナイゼーション名

    オーガナイゼーションに割り当てる名前を指定します。

    リソースプラン

    オーガナイゼーションに紐づけるリソースプランを指定します。

    省略時はデフォルトのリソースプランが指定されます。

    リソースプランについては、リソースプラン を参照してください。

    オーガナイゼーション管理者設定

    ユーザー名

    オーガナイゼーション管理者のユーザー名を指定します。

    パスワード

    オーガナイゼーション管理者の初期パスワードを指定します。

    email

    オーガナイゼーション管理者のE-mailアドレスを指定します。

    オーガナイゼーション管理者の名を指定します。

    オーガナイゼーション管理者の姓を指定します。

    有効

    オーガナイゼーション機能の有効無効を指定します。

    作成の際には基本的に有効にしてください。

    Exastro IT Automationオプション設定

    インストールドライバ

    インストールするドライバを指定します

    一度インストールしたドライバを削除することは不可能です。

    CI/CD for IaC

    ドライバの詳細については、各ドキュメントを参照してください。

    CI/CD for IaC

    Exastro OASE

    Exastro OASEをインストールするためにはMongoDBが必要です。MongoDBに接続するための設定を入力する必要があります。

    ・ Document Store : "mongodb"が固定で入力されます。

    ・ 自動払い出し : インストール時に設定したMongoDBを利用する場合はチェックを入れます。利用しない場合はチェックを外し、Python接続文字列を入力します。

    ・ Python接続文字列 : 利用するMongoDBのPython接続文字列を入力します。MondoDBのアカウントがrootロールまたは同等の権限がない場合こちらを入力します。

    例: mongodb://username:password@hostname:27017/

    ドライバの詳細については、各ドキュメントを参照してください。

    OASE

    Terraform CLI driver

    ドライバの詳細については、各ドキュメントを参照してください。

    Terraform CLI driver

    Terraform Cloud/EP driver

    ドライバの詳細については、各ドキュメントを参照してください。

    Terraform Cloud/EP driver

2.3.4. オーガナイゼーション一覧

オーガナイゼーション一覧の確認方法には、下記の2通りの方法があります。

以下の手順で実行

  1. メニューより オーガナイゼーション管理 を選択します。

    ../../_images/org_management.png
  2. オーガナイゼーション一覧が表示され、作成されているオーガナイゼーションを確認することができます。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7_%E9%81%B8%E6%8A%9E.png
  3. 任意のオーガナイゼーションを押下することにより、 オーガナイゼーション詳細が表示され、オーガナイゼーションの詳細情報を確認できます。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A9%B3%E7%B4%B0_v2-4.png

2.3.5. オーガナイゼーション編集

オーガナイゼーションの編集方法には、下記の2通りの方法があります。
オーガナイゼーション名の変更と、オーガナイゼーションに紐づけるリソースプランを設定することができます。
  1. メニューより オーガナイゼーション管理 を選択します。

    ../../_images/org_management.png
  2. オーガナイゼーション一覧が表示されますので、編集したいオーガナイゼーションの行にある 編集 ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86.png
  3. オーガナイゼーション名を変更することができます。
    ../../_images/orgname_edit_v2-4.png

    Tip

    オーガナイゼーションIDを変更することは出来ません。
  4. 追加したいドライバにチェックを入れることで、インストールするドライバを追加することができます。
    インストール済みのドライバを削除することはできません。
    ../../_images/org_edit_driver_v2-4.png
  5. リソースプラン設定 ボタンを押下して、オーガナイゼーションにリソースプランを紐づけることができます。
    紐づけるリソースプランIDをプルダウンで選択し、開始日時を指定して、 適用 ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86_%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%97%E3%83%A9%E3%83%B3%E8%A8%AD%E5%AE%9A.png
  6. オーガナイゼーションに紐づけるリソースプランが行に追加されます。
    内容に間違いがなければ、 登録 ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86_%E7%99%BB%E9%8C%B2_v2-4.png
  7. 紐づいているリソースプランが不要になった場合は、 解除 ボタンを押下して、オーガナイゼーションとリソースプランの紐づけを解除することができます。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86_%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%97%E3%83%A9%E3%83%B3%E8%A7%A3%E9%99%A4_v2-4.png
  8. 解除確認画面で紐づけを解除する リソースプランID を入力して、 はい、解除します ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86_%E8%A7%A3%E9%99%A4%E7%A2%BA%E8%AA%8D.png
  9. 紐づけが解除されるリソースプランの行がグレーアウトされます。
    内容に間違いがなければ、 登録 ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8%E9%9B%86_%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%97%E3%83%A9%E3%83%B3%E8%A7%A3%E9%99%A4%E7%99%BB%E9%8C%B2_v2-4.png

Tip

リソースプラン設定とリソースプラン解除の手順を繰り返し行い、登録 ボタンを押下することで、
複数のリソースプランの紐づけや解除を、同時に行うことが可能です。

2.3.6. オーガナイゼーション削除

オーガナイゼーションの削除方法には、下記の2通りの方法があります。
以下の手順で実行
  1. メニューより オーガナイゼーション管理 を選択します。

    ../../_images/org_management.png
  2. オーガナイゼーション一覧が表示されますので、削除したいオーガナイゼーションの行にある 削除 ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%89%8A%E9%99%A4_%E4%B8%80%E8%A6%A7%E3%81%8B%E3%82%89%E9%81%B8%E6%8A%9E.png
  3. 削除確認で本当に削除する場合は、 platform/削除するオーガナイゼーションID を入力して、 はい、削除します ボタンを押下します。
    ../../_images/%E3%82%AA%E3%83%BC%E3%82%AC%E3%83%8A%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%89%8A%E9%99%A4_%E5%AE%9F%E8%A1%8C%E7%A2%BA%E8%AA%8D.png

警告

削除されたオーガナイゼーションは、復活することはできませんので、削除する際は十分にお気を付けください。

2.4. オーガナイゼーションへのアクセス

オーガナイゼーション用サイトが表示できるかWebブラウザから確認します。
Helm chart版の場合は、 サービス公開設定 で設定した EXTERNAL_URL_MNG にアクセスします。
Docker Compose版の場合は、 事前準備 で設定した Exastro管理用サービスURL にアクセスします。
リスト 2.47 書式
http[s]://{Exastro Platform の管理用 URL}:{Exastro Platform の管理用ポート}/{オーガナイゼーションID}/platform/
リスト 2.48 具体例
# Helm chart版 利用時
http://exastro-suite-mng.example.local:30081/org001/platform/

# Docker Compose版 (RHEL環境) 利用時
http://exastro-suite-mng.example.local:81/org001/platform/

# Docker Compose版 (非RHEL環境) 利用時
http://exastro-suite-mng.example.local:30081/org001/platform/

2.5. その他制約事項・備考

2.5.1. オーガナイゼーションIDの予約語

以下に示すパターンに合致するワードは、オーガナイゼーションの ID として使用できません。
  • master

  • platform

  • account

  • account-console

  • admin-cli

  • broker

  • realm-management

  • security-admin-console

  • *-workspaces

  • system-*-auth

2.5.2. オーガナイゼーション作成を再実行する場合

オーガナイゼーション作成で失敗した場合、オーガナイゼーション作成の再実行をしても「指定されたorganization(xxx)は作成済みのため、作成できません。」というエラーが表示されることがあります。
このように、失敗したオーガナイゼーション ID でオーガナイゼーションの作成ができない場合は、コマンドパラメータに --retry オプションを付与して実行することで再作成をすることが可能です。
./exastro-platform/tools/create-organization.sh --retry
./exastro-platform/tools/create-organization.sh ./exastro-platform/tools/create-organization.sample.json