
ThoughtSpot CS Toolsのuser-managementについてご紹介します
ThoughtSpot CS Toolsの概要のご紹介のページはこちらとなります。
ThoughtSpotのCS Toolsは以下の機能があります。今回はこのうち「user-management」についてご説明します。
- archiver ・・・ プラットフォーム内の古い回答とライブボードを管理する
- bulk-deleter ・・・ プラットフォームからメタデータオブジェクトを一括削除する
- bulk-sharing ・・・ ブラウザ内でテーブルおよび列レベルのセキュリティをスケーラブルに管理する
- extractor ・・・ ワークシート、ビュー、またはテーブルからデータを抽出する
- git ・・・ 開発者にとって使いやすい方法でvsc/git APIエンドポイントを使用する
- scriptability ・・・ ThoughtSpot環境間でTMLをメンテナンスする
- searchable ・・・ ThoughtSpotでThoughtSpotメタデータを探索する
- usermanagement ・・・ ユーザーを一括管理する(現在ユーザー削除と所有オブジェクトの移転のみが行えます)
CS Tools「user-management」とは?
CS Toolsのuser-management機能は、ユーザの管理をする機能ではありますが、ユーザー所有のコンテンツを他のユーザーに移す機能と一括削除の2つの機能で構成されており、残念ながら一括登録はできません。一括登録は、APIを使って別途プログラミングをするしかありません。
全体(機能問わず)で共通のオプション
以下は、各機能共通のオプションになります(すべての機能で有効になるわけではないのでご注意ください)。
--config:コマンドの対象となるThoughtSpotのクラスタの接続先の設定ファイルを指定します。ほぼすべてのコマンドで必須です。
--temp-dir:一時ファイルが作成されるフォルダを指定します
--verbose:「cs_tools logs report」で出力することのできるログファイルについて、このオプションを設定するとより詳しいログを得ることが可能になります。
user-managementについて
user-managementは、あるユーザーの持つオブジェクトを他のユーザーに移す機能(transfer)と、一括削除の2つの機能で構成されています。transferは、ユーザー削除前に持っているオブジェクトを移したい人が決まっている場合には有用です。それをせずにユーザーを削除すると、基本的に管理者の所有物となってしまいます。
そして、冒頭にも記載した通り、残念ながらユーザーの一括登録機能はありません(過去あったのですが、現在は削除されています)。一括での登録は、APIを使ってプログラミングするしかないのが現状です。
transferオプション
本オプションは、オブジェクトを指定のユーザーに移す機能です。ユーザーがいなくなったときなどに該当ユーザーをそのまま消すと、所有していたコンテンツは管理者にひも付きますが、本機能であらかじめ移しておけば管理も容易です。移設元としては、ユーザーも選べますが、tagやguidなども移設元に指定できます。移設元を複数条件にすると、AND条件となります。
オプション
--to:移設先のユーザーを指定します。必須項目です。
--from:移設元のユーザーを指定します。
--contents:移設対象のコンテンツを指定します。CONNECTION、TABLE、VIEW、SQL_VIEW、MODEL、LIVEBOARD、ANSWERを指定可能です。
--tags:ここで指定したタグのオブジェクトが移設対象となります。
--guids:ここで指定したオブジェクトのguidが移設対象になります。
--org:対象となるOrgを指定可能です。
本機能は、DRY-RUNなどなく、いきなり実行されてしまうのでご注意ください。
使用例:
以下は、ts_userというユーザーの持つANSWERをすべてtestuserというユーザーに移設するコマンドとなります。
cs_tools tools user-management transfer --to testuser --from ts_user --content ANSWER --config mysetting
以下のように対象となるオブジェクトの数を表示後、移設が行われます。

スクリーンショットの通り、途中で本当に実行してよいか?という問い合わせがないのでご注意ください。
deleteオプション
リストに基づいて一括でユーザーを削除するオプションです。リストはSyncerで指定し、削除リストに含める項目は、「user_guid」と「username」である必要があります。
ところで、ユーザーのリストはどこから取得すれば良いでしょうか?user_guidをどのようにして知ることができるのでしょうか?一番手っ取り早いのは、APIのSearch Usersを使うことになります。これでJSON形式で取得することが可能です。
オプション
--no-prompt:このオプションを使うと、問い合わせなく削除されてしまいます。
--deletion:Syncerに保存されている削除リストの名称です。
使用例:
以下のサンプルでは、CSVファイルに削除対象のuser_guidとusernameを記載したリストを作成し、Syncerのファイルの指定保存場所にdelete_listとして保存しています。
cs_tools tools user-management delete --syncer "csv://directory=.&delimiter=," --deletion delete_list --config mysetting
これを実行すると、以下のように実行されます。途中で削除してもよいかどうかプロンプトが表示されるようになっているのでご安心ください。ここでYと打ち込むと実際にユーザーが削除されます。

※CS_TOOLS ver1.6.5、ThoughtSpot 10.15.0.cl-96時点の情報です(2025/12/19)
運営会社

