5.2. unicornidm-tool(8)¶
5.2.1. 概要¶
unicornidm-tool <resource> <command> [<args>]
unicornidm-tool <command> [<args>]
5.2.2. 説明¶
このツールは Unicorn ID Manager に対してユーザー追加やグループ追加などの操作を 行うための機能を提供します。このツールを利用するためには 設定ファイル に設定を記述する必要があります。
resource は user 、 group 、 admin および role のいずれかを選択します。
command は resource に対してどのような操作を実行するかを指定します。
args はそれぞれの resource と command の組み合わせに対する引数やオプションです。
5.2.3. 設定ファイル¶
unicornidm.conf に以下の内容を追記してください。
[client]
server_url = https://localhost:8443/
admin_name = test-admin
admin_password_file = /path/to/test-admin-password
uid = unicornidm
gid = unicornidm
timezone = Asia/Tokyo
[client] はクライアント設定のセクションが開始されることを示します。
server_url は Unicorn ID Manager が稼働するサーバーの URL です。
admin_name は Unicorn ID Manager に接続するための管理者名です。
admin_password_file は admin_name のパスワードを格納したファイル名です。
uid と gid は unicornidm-tool admin か unicornidm-tool role を実行する 際に利用されます。 Unicorn ID Manager の実行ユーザー/グループを指定してください。
timezone を指定することで、ユーザーやグループの操作時に出力される監査ログの 時刻が指定した timezone の時刻になります。
5.2.4. それぞれのコマンドの詳細¶
5.2.4.1. ユーザーに関する操作¶
- unicornidm-tool user add [OPTIONS] TARGET CSV_FILE
ユーザーを追加します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user modify [OPTIONS] TARGET CSV_FILE
ユーザーを修正します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user enable [OPTIONS] TARGET CSV_FILE
ユーザーを有効化します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user disable [OPTIONS] TARGET CSV_FILE
ユーザーを無効化します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user changepassword [OPTIONS] TARGET CSV_FILE
ユーザーのパスワードを変更します。
CSV ファイルのヘッダに password カラム が存在しなければ、 Unicorn ID Manager のランダムパスワード生成規則に基づいて パスワードを自動生成します。自動生成されたパスワードは unicornidm-tool user getpassword [OPTIONS] TARGET で取得してください。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user delete [OPTIONS] TARGET CSV_FILE
ユーザーを削除します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool user getpassword [OPTIONS] TARGET
自動生成されたユーザーのパスワードを取得します。
Arguments: TARGET 対象のターゲット Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル
- unicornidm-tool user list [OPTIONS] TARGET
ユーザー一覧を取得します。
Arguments: TARGET 対象のターゲット Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -p, --page INTEGER リストのページ番号 --sort-by KEY KEY に基づいてソート --sort-order [ascending|descending] ソートを昇順にするか降順にするか --refresh キャッシュをリフレッシュして取得 --limit INTEGER 1 ページあたりの表示数 (0 の場合、すべて表示 (時間がかかります)) --filter TEXT 検索フィルター
5.2.4.2. グループに関する操作¶
- unicornidm-tool group add [OPTIONS] TARGET CSV_FILE
グループを追加します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool group modify [OPTIONS] TARGET CSV_FILE
グループを修正します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool group delete [OPTIONS] TARGET CSV_FILE
グループを削除します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool group addmembers [OPTIONS] TARGET CSV_FILE
グループにメンバーを追加します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool group deletemembers [OPTIONS] TARGET CSV_FILE
グループからメンバーを削除します。
Arguments: TARGET 操作対象のターゲット CSV_FILE CSV ファイルのパス Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -b, --backends TEXT バックエンド
- unicornidm-tool group list [OPTIONS] TARGET
グループ一覧を取得します。
Arguments: TARGET 対象のターゲット Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -p, --page INTEGER リストのページ番号 --sort-by KEY KEY に基づいてソート --sort-order [ascending|descending] ソートを昇順にするか降順にするか --refresh キャッシュをリフレッシュして取得 --limit INTEGER 1 ページあたりの表示数 (0 の場合、すべて表示 (時間がかかります)) --filter TEXT 検索フィルター- unicornidm-tool group listmembers [OPTIONS] TARGET GROUP_NAME
グループのメンバー一覧を取得します。
Arguments: TARGET 対象のターゲット GROUP_NAME 対象のグループ Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル --refresh キャッシュをリフレッシュして取得
5.2.4.3. 結果取得用の操作¶
- unicornidm-tool result [OPTIONS] TARGET
リソースに対する操作結果をCSV形式で取得します。
Arguments: TARGET 対象のターゲット Opions: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -p, --page INTEGER リストのページ番号 --limit INTEGER 1 ページあたりの表示数 (0 の場合、すべて表示 (時間がかかります)) --filter TEXT 検索フィルター
5.2.4.4. 管理者に関する操作¶
管理者に関する操作で -R(–remote) オプションを指定しない場合、 ローカルサーバーの Unicorn ID Manager 上の管理者を操作します。 この時、 -A オプション及び -P オプションで指定する、管理者名、管理者パスワードは 不要です。
unicornidm-tool をパッケージではなく、ソースコードからビルドしてインストールした場合、 unicornidm-tool を実行できるユーザーであれば、誰でも管理者の操作ができますので、 適宜、 unicornidm-tool のパーミッションや owner/group を修正してください。
- unicornidm-tool admin add [OPTIONS] NAME
管理者を追加します。
Arguments: NAME 追加する管理者の名前 Options: --password TEXT 追加する管理者のパスワード (指定がない場合プロンプトから入力) -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -r, --role TEXT 追加する管理者のロール (デフォルトは SuperView) -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
- unicornidm-tool admin changepassword [OPTIONS] NAME
管理者のパスワードを変更します。
Arguments: NAME パスワードを変更する管理者の名前 Options: --password TEXT パスワードを変更する管理者の新しいパスワード (指定がない場合プロンプトから入力) -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
- unicornidm-tool admin changerole [OPTIONS] NAME ROLE
管理者のロールを変更します。
Arguments: NAME ロールを変更する管理者の名前 ROLE ロール名 Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
- unicornidm-tool admin delete [OPTIONS] NAME
管理者を削除します。
Arguments: NAME 削除する管理者の名前 Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
- unicornidm-tool admin list [OPTIONS]
管理者の一覧を取得します。
Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
5.2.4.5. ロールに関する操作¶
ロールに関する操作で -R(–remote) オプションを指定しない場合、 ローカルサーバーの Unicorn ID Manager 上のロールを操作します。 この時、 -A オプション及び -P オプションで指定する、管理者名、管理者パスワードは 不要です。
unicornidm-tool をパッケージではなく、ソースコードからビルドしてインストールした場合、 unicornidm-tool を実行できるユーザーであれば、誰でもロールの操作ができますので、 適宜、 unicornidm-tool のパーミッションや owner/group を修正してください。
- unicornidm-tool role add [OPTIONS] ROLE_FILE
ロールを追加します。
Arguments: ROLE_FILE 追加するロールの情報を格納したファイル Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
ROLE_FILE は JSON フォーマットのファイルで、以下のようなファイルです。 この JSON オブジェクトには必ず name と privileges を含まなければなりません。 また、 privileges は Array 型で、それぞれの要素は target と actions を含むオブジェクトでなければなりません。
{ "name": "role_name", "privileges": [ { "target": "target_name", "actions": [ "user_list", "user_modify", "user_change_password" ] } ] }
指定可能なアクションは以下のとおりです。 privileges 内の actions に ここで指定したアクションを含めることで、作成されるロールはこれらのアクションを 実行することが可能になります。
指定可能なアクション一覧¶ アクション名 アクションの説明 user_list ユーザー一覧参照操作 user_add ユーザー作成操作 user_modify ユーザー更新操作 user_enable ユーザー有効化操作 user_disable ユーザー無効化操作 user_delete ユーザー削除操作 user_rename ユーザーのリネーム操作 user_change_password ユーザーのパスワード変更操作 group_list グループ一覧参照操作 group_add グループ作成操作 group_modify グループ更新操作 group_delete グループ削除操作 group_rename グループのリネーム操作 group_add_members グループへのメンバー追加操作 group_delete_members グループからのメンバー削除操作 result 結果参照操作 get_password ランダム生成されたパスワードの取得操作 privileges 内のオブジェクトである、 target には * を指定することが可能です。これにより、すべてのターゲットに対する権限を 指定できます。
privileges 内のオブジェクトである、 actions 内に * を含めた場合、すべてのアクションを操作可能な権限を指定できます。
バージョン v3.7.9 で追加: v3.7.9 で actions に * を含めることができるようになりました。
- unicornidm-tool role delete [OPTIONS] ROLE_NAME
ロールを削除します。
Arguments: ROLE_NAME 削除するロールの名前 Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
- unicornidm-tool role list [OPTIONS]
ロールの一覧を取得します。
Options: -A, --admin-name TEXT 管理者の名前 -P, --admin-password-file TEXT 管理者のパスワードを格納したファイル -R, --remote リモートに対する操作かどうかのフラグ (デフォルトは False)
5.2.4.6. 設定のテストに関する操作¶
- unicornidm-tool test WHAT_TO_TEST
設定ファイルの正しさを検証します。完全な検証ではないので、このコマンドを使っても見つからないエラーもあります。
- WHAT_TO_TESTはconfiguration, connection, attributes, allのうちのいずれかです。
configuration: unicornidm.conf, テンプレートファイルの正しさを検証します。エラーが見つからなかった場合何も出力しません。
connection: unicornidm.confの設定でバックエンドに接続ができるか検証します。全てのバックエンドに接続できた場合何も出力しません。
attributes: テンプレートファイルで設定したフロントエンド属性がどのバックエンドでは必須(任意)になっているかを出力します。
all: 上記全ての検証を行います。
5.2.4.7. バックアップ・リストアに関する操作¶
Unicorn ID Manager は管理者情報、ロール情報及び監査ログを データベースで保持しているため、それらデータをバックアップする機能を 持っています。また、バックアップしたデータからリストアする機能も備えています。 バックアップ及びリストアは Unicorn ID Manager が実行する MongoDB が起動されている 必要があります。
- unicornidm-tool backup [OPTIONS]
バックアップを取得します。
Options: -b, --backup-directory TEXT バックアップデータ保存先ディレクトリー (デフォルトは LOCALSTATE_DIRECTORY/backup) -c, --backup-count INTEGER バックアップ世代数 (デフォルトは 30)
- unicornidm-tool restore BACKUP_ARCHIVE
BACKUP_ARCHIVE からデータをリストアします。
Arguments: BACKUP_ARCHIVE unicornidm-tool backup でバックアプしたアーカイブファイル