mcpField
K
keeper-admin

keeper-admin

github.com/keeper-security安全12107 次安装20 周前更新
代码仓库

关于 keeper-admin

keeper-admin 是用于 Keeper Commander CLI 的管理技能,供 Keeper 用户和企业管理员执行保险库、企业及 PAM 操作。它涵盖交互式终端、REST API 和批处理,并要求谨慎处理凭据与敏感数据。

主要功能

  1. 01浏览、搜索和管理保险库记录
  2. 02管理企业用户、团队和角色
  3. 03管理 KSM 应用和客户端设备
  4. 04启动远程会话并管理密码轮换
  5. 05生成审计与合规报告
  6. 06以 REST API 或批处理运行

适用场景

  1. 01管理企业 Keeper 用户和权限
  2. 02查找或共享保险库记录
  3. 03配置 KSM 应用与客户端设备
  4. 04执行 PAM 会话和密码轮换管理

安装

复制下面的命令,在终端中运行。

$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 - 概览、安装和 Shell 用法
  • Secrets Manager (KSM) - 创建 ksm 使用的 KSM 应用程序和客户端设备;运行时注入密钥请参阅 keeper-secrets 技能

何时使用 Commander,何时使用 KSM

需求工具
企业管理(用户、团队、角色、节点)keeper
创建 KSM 应用程序和客户端设备keeper
密码轮换设置/管理keeper
启动远程会话(SSH、RDP、DB)keeper
导入/导出 Vault 数据keeper
交互式浏览 Vaultkeeper
作为 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. 使用 references/commander-commands.md 与 Keeper Commander 交互;使用 --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 会话

Shell 工具会为每条命令创建一个新的 TTY。为保留 Keeper 交互上下文、身份验证状态和 MFA 提示,请在专用 tmux 会话中运行交互式 Keeper 命令或 Secrets Manager 命令。

示例模式:

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

任务完成后,请结束 tmux 会话,除非用户希望保留 Keeper Shell。

身份验证

# 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

不要在命令行(例如 --password)、URL 或生成的脚本中传递主密码、API 令牌或 Vault 字段值——这些内容会出现在进程列表和 Shell 历史记录中。对于自动化,请先进行一次交互式设置,在适当情况下启用持久设备登录,或遵循官方 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 应用和客户端设备,KSM CLI 通过这些应用和设备进行连接。

# 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]

参考资料

  • 使用 references/endpoint-privilege-management.md 查阅 kepm、epm、pedm 等端点权限管理命令。
  • 使用 references/enterprise-mgmt.md 查阅企业管理场景和命令。
  • 使用 references/pam-commands.md 查阅特权访问管理或 KeeperPAM 功能。
  • 使用 references/msp-management.md 查阅 Managed Service Provider(MSP)租户专用命令。

安全准则

  • 绝不要在日志、聊天或代码中泄露用户的主密码。
  • 除非用户明确要求用于特定调试目的,否则绝不要在聊天中打印机密字段值;并且要事先警告用户。
  • 对于破坏性操作(删除用户、删除记录、修改角色强制策略),执行前始终向用户确认。
  • 如果用户需要为应用注入运行时机密信息,请引导其使用 keeper-secrets 技能和 KSM CLI。
  • Commander 需要用户完整登录;如果未配置持久登录,则无法在无头环境中使用。
  • 对于任何 DELETE 操作,始终向用户确认。

详细命令参考请阅读 references/commander-commands.md。关于 keeper:// URI 和 ksm exec / ksm interpolate,请参阅 Keeper 表示法和 keeper-secrets 技能。

评论

支持 Markdown