Keeper Securityのロック中ユーザーを324人分一括移管した話【Keeper Commander活用】
この記事でわかること
  • Keeper Commanderを使ってロック中ユーザーを一括移管する方法
  • SSO環境でのKeeper Commanderログイン手順
  • ハマりやすいポイント2つとその対処法

先日、社内のKeeper Securityで退職者等のロック中ユーザーのアカウント移管(Transfer Account)をまとめてやる必要があった。

先に結論から言うと、Keeper CommanderというCLIツールを使って、300人超のロック中ユーザーを一括でIT管理者アカウントに移管することができた。セットアップ含めて約1時間で完了した。

同様の作業が発生している情シス担当者向けに、背景と具体的な進め方をまとめる。

▼背景・やりたかったこと

Keeper Admin Consoleを開くと、退職者等のロック中ユーザーが大量に存在していた。これらのユーザーに対してやりたかったことは以下の3ステップだ。

  • ▶ ロック中のユーザーを特定する
  • ▶ 各ユーザーのアカウント移管(Transfer Account)を実行する
  • ▶ 移管先としてIT管理者アカウントを指定する

GUIでやろうとすると1人ずつポチポチする必要があり、300人超は現実的じゃない。なので自動化を検討した。

▼Claude in ChromeじゃなくてKeeper Commanderを選んだ理由

最初はClaude in Chromeで同じ操作をやっていた。ブラウザを操作させてAdmin Consoleを読み取り、1人ずつ移管する、という流れだ。

ただ、これが使用量を爆発的に圧迫した。Claude in Chromeはページの読み取り・クリック・確認を1アクションごとにトークンを消費する。1人を移管するだけでも相当な量になるため、300人超を処理しようとすると使用量が一気に飛んでしまった。

これをCLIでできないか?と思って調べたところ、Keeper Commanderという公式CLIツールの存在にたどり着いた。

Claude in ChromeはGUIをそのまま操作する感じだが、Keeper CommanderはAPIレベルで操作できるので安定性・速度・再現性の面で断然こちらが優れている。同じ作業を繰り返し実行する可能性があるなら、CLIで仕組み化する方が絶対にいい。

💡 Claude in Chromeが向いているケース・向いていないケース
向いている:数件程度の単発操作、CLIやAPIが存在しないツールの操作、手順確認・下調べ
向いていない:大量の繰り返し処理(今回のような数百件規模)、定期的に実行したい定型作業
大量処理はCLI・API一択。Claude in Chromeで始めて使用量が爆発してから気づくのが一番もったいない。

▼Keeper Commanderのセットアップ

MacにHomebrewが入っていれば簡単だ。

# Pythonインストール brew install python # Keeper Commanderインストール pip3 install keepercommander

インストール後、PATHが通っていない場合は以下を実行する。

export PATH=”/Users/ユーザー名/Library/Python/3.9/bin:$PATH”

▼ログイン(SSO認証)

SSOでKeeperにログインしている環境では、通常のメアド+パスワードではなくSSOフローになる。手順は以下の通りだ。

keeper shell

でインタラクティブシェルを起動後:

  • 1. login メールアドレス を実行
  • 2. SSO認証の選択肢が出るので c(ブラウザでSSO URLを開く)を選択
  • 3. ブラウザでSSOログイン → 「Copy login token」ボタンをクリック
  • 4. ターミナルに戻って p(Paste SSO Token)を選択
  • 5. デバイス承認が求められるので 2(Admin Approval)を選択、管理者側で承認
  • 6. r(Resume)で認証完了

「Successfully authenticated with SSO Login」が出ればOK。

▼ロック中ユーザーの一覧取得

user-report –format table

これで全ユーザーのステータス一覧が取れる。LockedとActiveが混在しているので、Lockedの人だけ手元でリスト化する。

▼一括移管の実行

transfer-user コマンドが移管の本体だ。

transfer-user –target-user sysadmin@example.com 対象ユーザーのメアド

ファイルで渡す場合は @ファイルパス で指定できるが、フォーマットが from -> to のマッピング形式である必要があるため注意(後述)。

今回はロックユーザーのメールリストを ~/locked_users.txt に作成し、以下で一括実行した。

keeper transfer-user -f –target-user sysadmin@example.com $(cat ~/locked_users.txt | tr ‘\n’ ‘ ‘)

-f は確認スキップ(force)オプションだ。

▼ハマりポイント2つ

① 「Can Be Transferred」ロール設定がないと移管できない

一部ユーザーで以下のエラーが出た。

Failed to transfer xxxxxx@example.com: This user is not in a role that has the ‘Can Be Transferred’ enforcement turned on.

Keeperのロール設定で「アカウント転送を許可する」が有効になっていないユーザーは、Commanderからも移管できない。該当ユーザーは別途ロール設定を変更した上で再実行する必要がある。

⚠️ 移管前にロール設定を確認しておくこと
一部ユーザーだけこのエラーが出ると、後から個別対応が発生して手間になる。事前にAdmin Consoleで全ロールの「アカウント転送を許可する」設定を確認・統一しておくのがベター。

② @ファイル指定のフォーマットに注意

transfer-user @ファイル名 で一括指定できるが、ファイルの中身は from_account -> to_account 形式でないと invalid mapping エラーになる。メールアドレスだけのリストでは動かないので注意。

# NG(メアドだけのリスト) user1@example.com user2@example.com # OK(from -> to 形式) user1@example.com -> sysadmin@example.com user2@example.com -> sysadmin@example.com

今回は全員同じ移管先なので、コマンドライン引数で直接渡す方が楽だった。

▼まとめ

項目 内容
使用ツール Keeper Commander(公式CLI)
対象ユーザー数 300人超
所要時間 セットアップ含め約1時間

GUIで1人ずつやっていたら数時間かかっていたはずの作業が、CLIで一括処理できた。Keeper Securityを使っている情シスの方で同様の作業がある場合、ぜひKeeper Commanderを試してほしい。公式ドキュメントも充実しているので、他にもできることが多い。

💡 情シスこそCLIツールを覚えておく価値がある
GUIで1つずつやることに慣れていると、大量処理が発生したときに詰む。CLIで処理できると、同じ作業の繰り返しが圧倒的に速くなる。今回のKeeper Commanderのように、主要なSaaSには公式CLIが用意されていることが多い。

📩 SaaS運用・アカウント管理の効率化でお困りの方へ

「退職者対応が属人化している」「大量のアカウント整理をどうすればいいか」という相談にも対応しています。顧問プラン(月6万円〜)から対応可能です。

無料相談・お問い合わせはこちら →