mcpField
K
keeper-admin

keeper-admin

github.com/keeper-securityセキュリティ12107 回インストール20 週間前に更新
リポジトリ

keeper-admin について

keeper-admin は Keeper Commander CLI を操作するスキルで、Keeper の利用者や企業管理者を対象としています。インタラクティブなセッション、REST API サービス、バッチコマンドによる保管庫、企業、PAM の操作と、認証情報の安全な扱いを説明します。

主な機能

  1. 01保管庫レコードの閲覧、検索、管理
  2. 02企業ユーザー、チーム、ロールの管理
  3. 03KSM アプリケーションとクライアントデバイスの管理
  4. 04リモートセッションの開始とローテーション管理
  5. 05監査・コンプライアンスレポートの作成
  6. 06REST API またはバッチモードでの実行

活用シーン

  1. 01Keeper ユーザーと権限の管理
  2. 02保管庫レコードの検索や共有
  3. 03KSM アプリケーションとクライアントデバイスの設定
  4. 04PAM セッションとパスワードローテーションの運用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/keeper-security/keeper-agent-kit --skill keeper-admin

インストール後、Claude Code で/keeper-adminを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
commander-commands.md
endpoint-privilege-management.md
enterprise-mgmt.md
msp-management.md
nested-sub-folders.md
pam-commands.md
rotation-commands.md

詳細

Keeper Commander CLI (keeper)

Commander は、Keeper のすべての機能を備えた管理者向け CLI およびターミナル UI です。Keeper Vault UI と Admin Console で利用できるすべての操作を、Commander から実行できます。ユーザーとして認証し(マシンアプリケーションとしてではなく)、Vault、エンタープライズ、PAM のあらゆる操作を提供します。

公式ドキュメント

  • Commander CLI - 概要、インストール、シェルの使用方法
  • Secrets Manager (KSM) - ksm が使用する KSM アプリケーションとクライアントデバイスの作成。実行時のシークレット注入については keeper-secrets スキルを参照してください

Commander と KSM の使い分け

必要な操作ツール
エンタープライズ管理(ユーザー、チーム、ロール、ノード)keeper
KSM アプリケーションとクライアントデバイスの作成keeper
パスワードローテーションの設定・管理keeper
リモートセッション(SSH、RDP、DB)の開始keeper
Vault データのインポート・エクスポートkeeper
Vault の対話型ブラウジングkeeper
REST API サービスとしての実行keeper
コンプライアンスレポートと監査keeper
アプリの実行時にシークレットを取得ksm を使用 - keeper-secrets スキルを参照
環境変数/設定ファイルへのシークレット注入ksm を使用 - keeper-secrets スキルを参照

前提条件

  1. Python 3.10+
  2. インストール:pip install keepercommander
  3. 適切な管理者権限を持つ Keeper アカウント
  4. Tmux

インストールを確認します:keeper version

ワークフロー

  1. Keeper commander を操作するには references/commander-commands.md を使用し、コマンドの詳細を確認するには --help を使用します。
  2. 対話型 tmux セッションが開始されていることを確認します。
  3. 関連する Python 環境で使用可能なバイナリを確認します:
  • keeper --help
  • ksm --help
  1. シークレットを読み取る前に、セッションまたは認証の状態を確認します。
  2. whoami を使用してログイン状態を確認します。ログインしていない場合は、ログインを完了してから残りの手順を続行します。
  3. 必須フィールドへの入力は必ずユーザーに確認してください。必須フィールドを推測してはいけません。
  4. レコードの管理操作または共有操作を行う場合は、対象のレコードが Classic レコードタイプか New レコードタイプかを必ず確認します。
  5. レコードまたはフォルダーの種類が NEW または Nested Sub Folder の場合は、nsf コマンドを使用します。nsf コマンドについては references/nested-sub-folders.md を参照してください。
  6. まずメタデータを検索または確認してから、要求されたフィールドのみを取得します。機密データを公開しないでください。
  7. シークレットをディスクに書き込むより、シークレット注入または単一コマンドでの環境スコープ設定を優先します。
  8. 構文が想定と異なる場合は、すぐに --help と Keeper のドキュメントを確認してください。
  9. 削除操作を行う場合は、必ずユーザーに確認してください。

必須の tmux セッション

シェルツールはコマンドごとに新しい TTY を使用します。Keeper の対話型コンテキスト、認証状態、MFA プロンプトを維持するには、対話型の Keeper コマンドまたは Secrets Manager コマンドを専用の tmux セッション内で実行してください。

実行例:

SOCKET_DIR="${TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/keeper-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/keeper-commander.sock"
SESSION="keeper-auth-$(date +%Y%m%d-%H%M%S)"

tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "keeper shell || keeper-commander shell || bash" Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -120

その後、セッションを慎重に操作します:

tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -l -- "whoami"
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -120

ユーザーが Keeper シェルの継続利用を希望しない場合は、タスクの完了後に tmux セッションを終了します。

認証

# Interactive login (preferred — credentials are not passed as CLI arguments)
keeper shell
# Prompts for email + master password + 2FA

# Persistent login (recommended for ongoing CLI use)
keeper shell
My Vault> this-device register
My Vault> this-device persistent-login ON

# Biometric authentication (supported platforms)
My Vault> biometric register

マスターパスワード、API トークン、Vault のフィールド値をコマンドライン(例:--password)、URL、または生成されたスクリプトに渡さないでください。これらはプロセス一覧やシェル履歴に表示されます。自動化では、最初に対話形式でセットアップするか、適切な場合はデバイスログインの永続化を有効にするか、サポートされている非対話型の方法について公式の Commander CLI ドキュメントに従ってください。

Vault の操作

閲覧と検索
My Vault> list                    # List records in current folder
My Vault> ls -l                   # Detailed listing with UIDs
My Vault> search "database"       # Search across all records
My Vault> tree                    # Show folder tree
My Vault> cd "Shared Folder"      # Navigate to folder
My Vault> get <RECORD_UID>        # Show full record details
レコードの管理
  1. 新しいレコードを作成する際は、必ずユーザーに「Classic Permission Model を使用しますか?」と確認してください。
  2. ユーザーが「はい」と答えた場合は classic コマンドを使用し、それ以外の場合は nsf または Nested sub folder コマンドを使用します。
  3. Classic ワークフローでは record-add コマンドがサポートされ、新しいワークフローでは Nested Sub Folder コマンドがサポートされます。

Classic コマンド

My Vault> record-add --record-type login --title "New Record" \
  --field login=admin
# Set passwords and other sensitive fields via interactive prompts, or supply values only from the user’s secure input—never embed sample secrets in commands.

My Vault> record-update -r <RECORD_UID>
# Or non-interactive field updates for non-secret fields only, e.g. --field login=newuser

My Vault> rm <RECORD_UID>

My Vault> record-history <RECORD_UID>

共有ワークフロー

  1. 必ずレコードの詳細を取得し、レコードまたはフォルダーの種類が Classic か、ネストされたサブフォルダーの種類かを確認します。
  2. レコードまたはフォルダーの種類がネストされたサブフォルダーの場合は、リファレンスに記載されている nsf コマンドを使用します。それ以外の場合は、Classic コマンドを使用します。
  3. 指定されたレコードまたはフォルダーの種類が PamUser か、PamUser タイプのレコードを保存する PAM フォルダーかを必ず確認します。該当する場合は、一定時間経過後、または指定されたアクセス時間が過ぎた後にパスワードを自動ローテーションするかどうかをユーザーに確認します。
  4. レコードまたはフォルダーを共有する際は、必ず有効期限を設定するかユーザーに確認します。
  5. 対応するフラグを確認するには、-h フラグを使用します。
  6. 権限フラグについては、必ずユーザーに入力を求めます。確認が取れてからレコードを共有します。確認がない場合は、先に進まないでください。

Classic コマンド

My Vault> share-record -e [email protected] -a grant -u <RECORD_UID>
My Vault> share-folder -e [email protected] -a grant -u <FOLDER_UID>
インポート/エクスポート
My Vault> import --format json records.json
My Vault> export --format json --output vault_export.json

エンタープライズ管理

これらのコマンドを実行するには、エンタープライズ管理者権限が必要です。

ユーザー管理
My Vault> enterprise-user --add [email protected]
My Vault> enterprise-user --invite [email protected]
My Vault> enterprise-user --delete [email protected]
My Vault> enterprise-user --lock [email protected]
My Vault> enterprise-user --unlock [email protected]
チームとロールの管理
My Vault> enterprise-team --add "Engineering Team"
My Vault> enterprise-role --add-user [email protected] --role "Admin Role"
My Vault> enterprise-role --enforcement MASTER_PASSWORD_MINIMUM_LENGTH:12
デバイス承認
My Vault> device-approve             # List pending approvals
My Vault> device-approve --approve <DEVICE_ID>
My Vault> device-approve --deny <DEVICE_ID>
レポート
My Vault> audit-report --format csv --output audit.csv
My Vault> compliance-report

Secrets Manager の管理

Commander は、KSM CLI の接続に使用する KSM アプリケーションとクライアントデバイスの作成および管理に使用します。

# Create an Application
My Vault> secrets-manager app create --name "Production App" \
  --shared-folder <FOLDER_UID>

# List Applications
My Vault> secrets-manager app list

# Add a Client Device (generates One-Time Access Token)
My Vault> secrets-manager client add --app <APP_UID> \
  --name "Web Server 1" --unlock-ip

# Remove a Client Device
My Vault> secrets-manager client remove --app <APP_UID> \
  --client "Web Server 1"

# Share Application with another user
My Vault> secrets-manager share --app <APP_UID> --email [email protected]

client add の出力に含まれるワンタイムアクセストークンは、対象マシン上で keeper-setup スキルを使用して設定します(KSM_CLI_TOKEN またはその他のサポートされている安全な方法で設定してください。共有するサンプルやチャットで、--token 引数にリテラル値として指定しないでください)。

KeeperPAM の操作

# List PAM resources (gateways, connections)
My Vault> pam gateway list
My Vault> pam configuration list

# Launch SSH session
My Vault> connect <RECORD_UID>

# Manage password rotation
My Vault> pam rotation list
My Vault> pam rotation start --record <RECORD_UID>

サービスモード(REST API)

Commander は、自動化のためにヘッドレス REST API として実行できます。

keeper --batch-mode api-server --port 8089

自動化(バッチコマンド)

# Run commands from a file
keeper --batch-mode --commands-file commands.txt

# Pipe commands
echo "list" | keeper --batch-mode --user [email protected]

リファレンス

  • kepm、epm、pedm などのエンドポイント権限管理コマンドについては、references/endpoint-privilege-management.md を使用します。
  • エンタープライズ管理のシナリオとコマンドについては、references/enterprise-mgmt.md を使用します。
  • 特権アクセス管理または KeeperPAM の機能については、references/pam-commands.md を使用します。
  • Managed Service Provider(MSP)テナント固有のコマンドについては、references/msp-management.md を使用します。

ガードレール

  • ユーザーのマスターパスワードをログ、チャット、コードに絶対に出力しないでください。
  • 特定のデバッグ目的で明示的に求められた場合を除き、シークレットフィールドの値をチャットに絶対に出力しないでください。出力する前に、必ずユーザーに警告してください。
  • 破壊的な操作(ユーザーの削除、レコードの削除、ロールの強制設定の変更)を実行する前に、必ずユーザーに確認してください。
  • アプリケーションで実行時のシークレット注入が必要な場合は、keeper-secrets スキルと KSM CLI を案内してください。
  • Commander の使用には、ユーザーとして完全なログインが必要です。ログイン状態が永続化されていないヘッドレス環境では使用できません。
  • DELETE 操作を行う際は、必ずユーザーに確認してください。

コマンドの詳細なリファレンスについては、references/commander-commands.md を参照してください。keeper:// URI と ksm exec/ksm interpolate については、Keeper の表記および keeper-secrets スキルを参照してください。

コメント