dv <子命令组> <操作> [参数] [选项]
根帮助页当前展示的子命令组:
auth:用户认证domain:安全域管理instance:安全域实例管理audit:审核管理message:消息中心根帮助页当前列出的全局选项如下:
-h, --help:显示帮助信息-v, --version:显示版本信息--format <table|json>:输出格式,默认 table--no-color:禁用彩色输出-q, --quiet:静默模式--debug:调试模式补充说明:
--force 不是根帮助页列出的通用选项;当前实现只在需要确认交互的具体命令中使用,例如 dv domain close、dv instance delete、dv message delete。--format json 主要对列表类和表格类输出生效,是否使用该选项以具体动作帮助和实现为准。dv auth ... 外,其余命令默认要求已登录。auth_user_id 为准;用户展示名优先取本地缓存中的 auth_user_name。dv domain show 对非安全域创建者会强制退化为 info 视图;只有创建者才能查看实例、白名单、导出等扩展信息。dv auth)dv auth login
参数说明:
必要说明:
auth_user_id 打开对应的用户数据库,并把 auth_user_id 写入 ~/.dv/session。示例:
dv auth login
dv auth logout
参数说明:
必要说明:
示例:
dv auth logout
dv auth whoami
参数说明:
必要说明:
dv auth login 登录。示例:
dv auth whoami
dv domain)dv domain create -n <名称> --payer <创建者|使用者> [--desc <描述>] [--users <u1,u2>]
参数说明:
-n, --name <名称>:安全域名称,必填,长度 2 到 32,仅支持中文、英文、数字、_、---payer <创建者|使用者>:费用承担方,必填--desc <描述>:安全域描述,可选,最多 500 个字符--description <描述>:--desc 的别名--users <u1,u2>:可见用户列表,逗号分隔必要说明:
示例:
dv domain create -n "研发数据域" --payer 创建者 --desc "研发敏感数据" --users alice,bob
dv domain list [--status <running|closed>] [--format <table|json>]
参数说明:
--status <running|closed>:按状态筛选--format <table|json>:输出格式必要说明:
示例:
dv domain list --status running
dv domain show <安全域名称|安全域编号|公钥> [--section <info|users|instances|whitelist|exports|all>]
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--section <info|users|instances|whitelist|exports|all>:仅显示指定部分,默认 all必要说明:
info:基本信息users:可见用户列表instances:安全域实例列表whitelist:应用白名单申请列表exports:文件导出申请列表info 视图示例:
dv domain show "研发数据域" --section whitelist
dv domain update <安全域名称|安全域编号|公钥> --desc <描述>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--desc <描述>:安全域描述,必填,最多 500 个字符--description <描述>:--desc 的别名必要说明:
示例:
dv domain update "研发数据域" --desc "更新后的描述"
dv domain close <安全域名称|安全域编号|公钥> [--force]
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--force:跳过确认提示必要说明:
--force 时直接执行。示例:
dv domain close "研发数据域" --force
dv domain add-user <安全域名称|安全域编号|公钥> -u <用户账号>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填-u, --user <用户账号>:要添加的用户账号,必填必要说明:
示例:
dv domain add-user "研发数据域" -u alice
dv domain remove-user <安全域名称|安全域编号|公钥> -u <用户账号>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填-u, --user <用户账号>:要移除的用户账号,必填必要说明:
示例:
dv domain remove-user "研发数据域" -u alice
dv domain encrypt <安全域名称|安全域编号|公钥> -f <文件路径> [-o <输出路径>]
参数说明:
<安全域名称|安全域编号|公钥>:目标安全域标识,必填-f, --file <文件路径>:要加密的文件路径,必填-o, --output <输出路径>:输出路径,默认 <原文件名>.sealed必要说明:
.sealed 文件。示例:
dv domain encrypt "研发数据域" -f /data/report.xlsx -o /data/report.xlsx.sealed
dv instance)dv instance create -d <安全域名称|安全域编号|公钥> -n <实例名称> --disk <磁盘路径> [--whitelist <路径>]
参数说明:
-d, --domain <安全域>:所属安全域,必填-n, --name <名称>:实例名称,必填--disk <路径>:磁盘分区路径,必填--whitelist <路径>:应用白名单主程序路径,可选必要说明:
--whitelist 当前只支持一个主程序路径;若主程序存在依赖,创建流程会自动生成附带的白名单申请文件列表。示例:
dv instance create -d "研发数据域" -n "开发实例1" --disk /data/safebox --whitelist /usr/bin/ls
dv instance list [-d <安全域>] [--status <pending|authorized|rejected|running|expired|closed>] [--format <table|json>]
参数说明:
-d, --domain <安全域>:按安全域筛选--status <pending|authorized|rejected|running|expired|closed>:按实例状态筛选--format <table|json>:输出格式必要说明:
running/closed/pending 这几个常用状态;实现里实际还支持 authorized、rejected、expired。示例:
dv instance list --status authorized
dv instance show <实例名称或编号> [--section <info|whitelist|exports|all>]
参数说明:
<实例名称或编号>:实例标识,必填--section <info|whitelist|exports|all>:只显示指定部分,默认 all必要说明:
whitelist 显示应用白名单申请记录。exports 显示文件导出申请记录。示例:
dv instance show "开发实例1" --section exports
dv instance start <实例名称或编号> [--domain-key <base64>] [--force]
参数说明:
<实例名称或编号>:实例标识,必填--domain-key <base64>:保存到实例 extra.forwarded_skey 的 base64 字符串--force:跳过确认提示必要说明:
--force 时跳过确认。--domain-key 仅保存密文,启动时解密到内存中使用。trammel 内核模块,并调用后端 /api/instance/run。示例:
dv instance start "开发实例1" --domain-key "BASE64_SKEY" --force
dv instance delete <实例名称或编号> [--force]
参数说明:
<实例名称或编号>:实例标识,必填--force:跳过确认提示必要说明:
示例:
dv instance delete "开发实例1" --force
dv instance add-whitelist <实例名称或编号> -p <应用路径> [--reason <申请原因>]
参数说明:
<实例名称或编号>:实例标识,必填-p, --path <应用路径>:要添加的应用路径,必填--reason <申请原因>:申请原因,可选,最多 500 个字符必要说明:
示例:
dv instance add-whitelist "开发实例1" --path /usr/bin/python3 --reason "研发脚本执行"
dv instance remove-whitelist <实例名称或编号> -p <应用路径或名称>
参数说明:
<实例名称或编号>:实例标识,必填-p, --path <应用路径或名称>:要移除的应用路径或名称,必填必要说明:
示例:
dv instance remove-whitelist "开发实例1" --path python3
dv instance import <实例名称或编号> -f <文件路径>
参数说明:
<实例名称或编号>:实例标识,必填-f, --file <文件路径>:要导入的文件路径,必填必要说明:
.sealed 结尾,会先解密再导入;否则直接复制到实例路径。-f 示例,但当前实现实际只读取一个 -f/--file 值;请一次导入一个文件。示例:
dv instance import "开发实例1" -f /tmp/report.xlsx.sealed
dv instance export <实例名称或编号> -f <文件路径列表> [--reason <导出原因>]
参数说明:
<实例名称或编号>:实例标识,必填-f <文件路径列表>:要导出的文件列表,必填--files <文件路径列表>:-f 的长选项形式--reason <导出原因>:导出原因,可选,最多 500 个字符必要说明:
-f "/a,/b" 或 --files "/a,/b"。-f。示例:
dv instance export "开发实例1" --files "/data/report.pdf,/data/result.csv" --reason "项目汇报"
dv instance submit <实例编号> --apply-code <申请编号>
参数说明:
<实例编号>:实例编号,必填--apply-code <申请编号>:授权申请编号,必填,支持应用白名单申请和文件导出申请必要说明:
approve_sig。示例:
dv instance submit I17736332200549411 --apply-code A17736445887554824
dv audit)dv audit list [--type <instance|whitelist|export|all>] [--domain <安全域>]
参数说明:
--type <instance|whitelist|export|all>:审核类型,默认 all--domain <安全域>:按安全域筛选必要说明:
instance:实例化申请whitelist:应用白名单申请export:文件导出申请示例:
dv audit list --type whitelist
dv audit instance-detail <实例编号>
示例:
dv audit instance-detail I17726096359687372
dv audit instance <实例编号> --action <approve|reject>
参数说明:
--action <approve|reject>:审核动作,必填示例:
dv audit instance I17726096359687372 --action approve
dv audit whitelist-detail <申请编号>
示例:
dv audit whitelist-detail A17736720770637258
dv audit whitelist <申请编号> --action <approve|reject>
示例:
dv audit whitelist A17736720770637258 --action reject
dv audit export-detail <申请编号> --file-code <文件编号>
参数说明:
--file-code <文件编号>:指定要查看的文件编号,必填示例:
dv audit export-detail A17735869339174558 --file-code F17735869339170001
dv audit export <申请编号> --file-code <文件编号> --action <approve|reject>
参数说明:
--file-code <文件编号>:指定要审核的文件编号,必填--action <approve|reject>:审核动作,必填示例:
dv audit export A17735869339174558 --file-code F17735869339170001 --action approve
dv message)dv message list [--filter <all|unread>] [--page <页码>] [--size <每页数量>] [--format <table|json>]
参数说明:
--filter <all|unread>:过滤条件,默认 all--page <页码>:页码,默认 1--size <每页数量>:每页数量,默认 10--format <table|json>:输出格式必要说明:
unread 仅显示未读消息。示例:
dv message list --filter unread --format json
dv message show <消息编号>
必要说明:
MSG_CREATE_INSTANCE_PASS 时,会额外显示“转发私钥”字段。示例:
dv message show M17726119432052285
dv message read <消息编号>
示例:
dv message read M17726119432052285
dv message read-all
示例:
dv message read-all
dv message delete <消息编号> [--force]
参数说明:
--force:跳过确认提示必要说明:
--force 时直接删除。示例:
dv message delete M17726119432052285 --force
0:成功1:一般错误、后端错误或数据库错误2:参数错误或输入校验失败3:未登录4:权限不足5:资源不存在6:资源冲突或已存在7:当前状态不允许执行该操作9:文件相关错误