2. Organization (オーガナイゼーション)¶
2.1. はじめに¶
2.2. オーガナイゼーションとは¶
2.3. オーガナイゼーションの作成方法¶
2.3.1. 目的¶
処理のながれ
Keycloak に、オーガナイゼーション用のレルムデータと管理者ユーザーが登録されます。
MariaDB や MySQL といったリレーショナルデータベースに、オーガナイゼーション用のデータが登録されます。
Exastro IT Automation の永続ボリュームに、オーガナイゼーション用のディレクトリが作成されます。
GitLab に、オーガナイゼーション用のユーザーが登録されます。
2.3.2. 前提条件¶
前提条件
インストールが完了し、Keycloak の管理コンソールにログインできること
システム管理に必要な下記の情報があること
管理コンソールの URL
システム管理者のユーザーID
システム管理者のパスワード
作業クライアントに必要なアプリケーションがインストールされていること
curl
git
jq
2.3.3. オーガナイゼーション作成¶
特徴
作成方法
メニューより
を選択します。オーガナイゼーション一覧が表示されますので、 作成 ボタンを押下して、新しいオーガナイゼーションを作成することができます。
新しく作成するオーガナイゼーションの情報を入力し、 登録 ボタンを押下します。
¶ 入力エリア
項目名
説明
オーガナイゼーション基本情報設定
オーガナイゼーションID
オーガナイゼーションに割り当てる一意のIDを指定します。
ここで指定した ID を使ってシステム間の連携を行います。
オーガナイゼーション名
オーガナイゼーションに割り当てる名前を指定します。
リソースプラン
オーガナイゼーションに紐づけるリソースプランを指定します。
省略時はデフォルトのリソースプランが指定されます。
リソースプランについては、リソースプラン を参照してください。
オーガナイゼーション管理者設定
ユーザー名
オーガナイゼーション管理者のユーザー名を指定します。
パスワード
オーガナイゼーション管理者の初期パスワードを指定します。
email
オーガナイゼーション管理者のE-mailアドレスを指定します。
名
オーガナイゼーション管理者の名を指定します。
性
オーガナイゼーション管理者の姓を指定します。
有効
オーガナイゼーション機能の有効無効を指定します。
作成の際には基本的に有効にしてください。
Exastro IT Automationオプション設定
インストールドライバ
インストールするドライバを指定します
一度インストールしたドライバを削除することは不可能です。
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/
ドライバの詳細については、各ドキュメントを参照してください。
Terraform CLI driver
ドライバの詳細については、各ドキュメントを参照してください。
Terraform Cloud/EP driver
ドライバの詳細については、各ドキュメントを参照してください。
特徴
作成方法
オーガナイゼーション作成実行
¶ 項目
説明
変更
デフォルト値・選択可能な設定値
organization id
オーガナイゼーションIDを指定。英小文字、数字、ハイフン、アンダースコアが利用可能。最大36文字。※先頭文字は英小文字であること。※予約語(後述)に合致しないこと。可
org001
organization name
オーガナイゼーション名を指定。最大255文字可
org001-name
organization manager's username
オーガナイゼーション管理者のユーザー名(ログインするときのID)を指定。
可
admin
organization manager's email
オーガナイゼーション管理者のE-mailアドレスを指定。
可
admin@example.com
organization manager's firstName
オーガナイゼーション管理者の名を指定。
可
admin
organization manager's lastName
オーガナイゼーション管理者の姓を指定。
可
admin
organization manager's initial password
オーガナイゼーション管理者の初期パスワードを指定。
可
password
options.sslRequired
SSL 接続の有無を指定。
可
external (既定): プライベート IP アドレスに固定する限り、ユーザーは SSL 無しで Keycloak と通信可能。none: SSL の設定なし。all: すべての IP アドレスに対し、SSL を要求。(内部の API が HTTP アクセスのため選択不可)optionsIta.drivers
対象のドライバについて、インストールする場合はtrue、インストールしない場合はfalseを指定。ドライバのkeyを記載しない場合はデフォルトでtrueが設定されます。Exastro OASEをインストールするためにはMongoDBが必要です。MongoDBがない(環境変数「MONGO_HOST」の記載が空である)場合は有効にできません。可
各ドライバに対応した以下のkeyに対してtrue/falseを指定し、ワークスペース作成時にインストールされるかどうかを設定。省略可。ci_cd: CI/CD for IaCoase: Exastro OASEterraform_cloud_ep: Terraform Cloud/EP driverterraform_cli: Terraform CLI driver例:"optionsIta": {"drivers": {"ci_cd": true, "oase": true, "terraform_cli": false, "terraform_cloud_ep": true}}optionsIta.services.document_store.name
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。値は"mongodb"固定です。不可
mongodb
optionsIta.services.document_store.owner
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。インストール時に設定したMongoDBを利用する場合はtrueを設定します。利用するMongoDBを指定する場合はfalseを設定します。optionsIta.services.document_store.connection_stringの入力が必要です。可
true or false
optionsIta.services.document_store.connection_string
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。利用するMongoDBのPython接続文字列を入力します。可
例: mongodb://username:password@hostname:27017/
警告
BASE64_BASIC=$(echo -n "KEYCLOAK_USER:KEYCLOAK_PASSWORD" | base64)
BASE_URL=http://exastro-suite-mng.example.local
curl -X 'POST' \
"${BASE_URL}/api/platform/organizations" \
-H 'accept: application/json' \
-H "Authorization: Basic ${BASE64_BASIC}" \
-H 'Content-Type: application/json' \
-d '{
"id": "org001",
"name": "org001-name",
"organization_managers": [
{
"username": "admin",
"email": "admin@example.com",
"firstName": "admin",
"lastName": "admin",
"credentials": [
{
"type": "password",
"value": "password",
"temporary": true
}
],
"requiredActions": [
"UPDATE_PROFILE"
],
"enabled": true
}
],
"plan": {},
"options": {},
"optionsIta": {
"drivers": {
"terraform_cloud_ep": true,
"terraform_cli": true,
"ci_cd": true,
"oase": true
},
"services": {
"document_store": {
"name": "mongodb",
"owner": false,
"connection_string": "mongodb://username:password@hostname:27017/"
}
}
}
}'
2.3.4. オーガナイゼーション一覧¶
以下の手順で実行
メニューより
を選択します。- オーガナイゼーション一覧が表示され、作成されているオーガナイゼーションを確認することができます。
- 任意のオーガナイゼーションを押下することにより、 オーガナイゼーション詳細が表示され、オーガナイゼーションの詳細情報を確認できます。
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
curl -k -X GET \
-H "Content-Type: application/json" \
-H "Authorization: basic ${BASE64_BASIC}" \
-d @- \
"${BASE_URL}/api/platform/organizations"
項目 |
項目の内容 |
---|---|
data.id |
オーガナイゼーションID |
data.name |
オーガナイゼーション名 |
data.optionsIta.drivers |
各ドライバの有効無効
true:有効 false:無効
|
data.organization_managers |
オーガナイゼーション管理者情報 |
data.active_plan.id |
情報取得時点の該当プランID |
data.plans |
オーガナイゼーション設定済みのプラン情報 |
data.enabled |
オーガナイゼーション有効無効
true:有効 false:無効
|
data.status |
オーガナイゼーション作成状態
状態については後述
|
status値 |
説明 |
---|---|
Organization Create Start |
オーガナイゼーション登録開始(ステータス情報登録完了) |
Realm Create Complete |
Platform オーガナイゼーションRealm登録完了 |
Client Create Complete |
Platform アプリケーション初期設定完了 |
Client Role Setting Complete |
Platform アプリケーションロール初期設定完了 |
Service Account Setting Complete |
Platform サービスアカウント設定完了 |
Organization User Create Complete |
Platform オーガナイゼーションユーザー登録完了 |
Organization User Role Setting Complete |
Platform オーガナイゼーションユーザーロール設定完了 |
Organization DB Create Complete |
Platform オーガナイゼーションDB作成完了 |
Organization DB Update Complete |
Platform オーガナイゼーション情報によるDB更新完了 |
IT Automation Organization Create Complete |
IT Automation オーガナイゼーション作成・初期化完了 |
Organization Plan Create Complete |
Platform オーガナイゼーションプラン設定完了 |
Realm Enabled Complete |
Platform オーガナイゼーション有効化完了 |
Organization Create Complete |
正常にオーガナイゼーション作成完了 |
2.3.5. オーガナイゼーション編集¶
メニューより
を選択します。- オーガナイゼーション一覧が表示されますので、編集したいオーガナイゼーションの行にある 編集 ボタンを押下します。
- オーガナイゼーション名を変更することができます。
Tip
オーガナイゼーションIDを変更することは出来ません。 - 追加したいドライバにチェックを入れることで、インストールするドライバを追加することができます。インストール済みのドライバを削除することはできません。
- リソースプラン設定 ボタンを押下して、オーガナイゼーションにリソースプランを紐づけることができます。紐づけるリソースプランIDをプルダウンで選択し、開始日時を指定して、 適用 ボタンを押下します。
- オーガナイゼーションに紐づけるリソースプランが行に追加されます。内容に間違いがなければ、 登録 ボタンを押下します。
- 紐づいているリソースプランが不要になった場合は、 解除 ボタンを押下して、オーガナイゼーションとリソースプランの紐づけを解除することができます。
- 解除確認画面で紐づけを解除する リソースプランID を入力して、 はい、解除します ボタンを押下します。
- 紐づけが解除されるリソースプランの行がグレーアウトされます。内容に間違いがなければ、 登録 ボタンを押下します。
Tip
- オーガナイゼーションの編集
項目 |
説明 |
変更 |
デフォルト値・選択可能な設定値 |
---|---|---|---|
organization name |
オーガナイゼーション名を指定します。
最大255文字
|
可 |
org001-name |
enabled |
オーガナイゼーションが使用できる状態を有効・無効で選択します。
|
不可 |
true |
optionsIta.driver |
インストールドライバを指定します。
ただし、削除は不可能になります。
|
falseからtureの変更可能になります。
|
true |
optionsIta.services.document_store.name |
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。既にExastro OASEが有効の場合は不要な項目です。
値は"mongodb"固定です。
|
不可 |
mongodb |
optionsIta.services.document_store.owner |
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。既にExastro OASEが有効の場合は不要な項目です。
インストール時に設定したMongoDBを利用する場合はtrueを設定します。利用するMongoDBを指定する場合はfalseを設定します。optionsIta.services.document_store.connection_stringの入力が必要です。
|
可(すでに値が設定されている場合は不可) |
true or false |
optionsIta.services.document_store.connection_string |
optionsIta.driversのExastro OASEを有効にした際に必要なパラメータです。既にExastro OASEが有効かつ値に変更がない場合は不要です。
利用するMongoDBのPython接続文字列を入力します。
|
可 |
例: mongodb://username:password@hostname:27017/
|
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
ORG_ID=取得するorganization idを設定してください
curl -k -X 'PUT' \
-H "Content-Type: application/json" \
-H "Authorization: basic ${BASE64_BASIC}" \
-d @- \
"${BASE_URL}/api/platform/organizations/${ORG_ID}" \
<< EOF
{
"name": "name of org1",
"enabled": true,
"optionsIta": {
"drivers": {
"terraform_cloud_ep": true,
"terraform_cli": true,
"ci_cd": true,
"oase": true
}
}
}
- 設定済みオーガナイゼーションリソースプランの確認
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
ORG_ID=取得するorganization idを設定してください
curl -k -X GET \
-H "Content-Type: application/json" \
-H "Authorization: basic ${BASE64_BASIC}" \
-d @- \
"${BASE_URL}/api/platform/${ORG_ID}/plans"
- オーガナイゼーションへのリソースプラン設定
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
ORG_ID=リソースプランを設定するorganization idを設定してください
curl -k -X POST \
-H "Content-Type: application/json" \
-H "Authorization: basic ${BASE64_BASIC}" \
-d @- \
"${BASE_URL}/api/platform/${ORG_ID}/plans" \
<< EOF
{
"id": "plan-standard",
"start_datetime": "2022-12-01 00:00:00"
}
EOF
- オーガナイゼーションへのリソースプラン解除
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
ORG_ID=リソースプラン解除するorganization idを設定してください
START_DATETIME=リソースプラン解除する開始日時を設定してください(yyyy-mm-dd hh:mm:ss形式)
curl -k -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: basic ${BASE64_BASIC}" \
"${BASE_URL}/api/platform/${ORG_ID}/plans/`echo ${START_DATETIME} | sed 's/ /%20/g;s/:/%3A/g'`"
2.3.6. オーガナイゼーション削除¶
メニューより
を選択します。- オーガナイゼーション一覧が表示されますので、削除したいオーガナイゼーションの行にある 削除 ボタンを押下します。
- 削除確認で本当に削除する場合は、 platform/削除するオーガナイゼーションID を入力して、 はい、削除します ボタンを押下します。
BASE64_BASIC=$(echo -n "システム管理者のユーザー名を設定してください:システム管理者のパスワードを設定してください" | base64)
BASE_URL=システム管理者用サイトアドレスを設定してください
ORGANIZATION_ID=削除するorganization idを設定してください
curl -k -X DELETE \
-H "Authorization: basic ${BASE64_BASIC}" \
"${BASE_URL}/api/platform/organizations/${ORGANIZATION_ID}"
警告
2.4. オーガナイゼーションへのアクセス¶
http[s]://{Exastro Platform の管理用 URL}:{Exastro Platform の管理用ポート}/{オーガナイゼーションID}/platform/
# 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の予約語¶
master
platform
account
account-console
admin-cli
broker
realm-management
security-admin-console
*-workspaces
system-*-auth
2.5.2. オーガナイゼーション作成を再実行する場合¶
./exastro-platform/tools/create-organization.sh --retry
./exastro-platform/tools/create-organization.sh ./exastro-platform/tools/create-organization.sample.json