| 说明 | 移除网络规则 |
| 用法 | sbx policy rm network [--sandbox SANDBOX] [flags] |
描述
按规则 ID、资源或两者移除网络规则。
--id 接受 "sbx policy ls --wide" 和 "sbx policy inspect" 显示的 RULE_ID 值, 即规则的标识符,而不是它的名称。传入规则名称会报错,错误信息会给出实际的规则 ID, 对于可移除的规则还会给出修正后的完整命令。
默认从全局策略中移除该规则。使用 --sandbox 则从限定到单个沙箱的 "local" 策略中移除。
用 "sbx policy ls --wide" 可查看生效的规则 ID 和资源,用 "sbx policy ls --json" 可获取经过筛选的规则;网络相关取值会按 CLI 可以重新接受的 形式打印。
使用 --method 可添加 HTTP 规则。--method 接受逗号分隔的 HTTP 方法或 ANY;--path 默认为 /**。重复使用 --query name=value 可要求 查询参数。
HTTP 路径、查询参数名和查询值的匹配不区分 ASCII 字母大小写。 例如 /API/** 匹配 /api/items,Tag=PROD 匹配 tag=prod。
使用 --cloud: 按模式移除云端网络规则。
云端规则没有 ID:--resource 会从允许列表和拒绝列表中移除该模式, 输出会说明它是从哪个列表中移除的。默认该规则会从账号策略中移除;使用 --sandbox 可把移除范围限定到单个沙箱。用 "sbx --cloud policy ls" 可查看当前规则。
选项
| 选项 | 默认值 | 说明 |
|---|---|---|
-f, --force | 跳过确认提示 | |
--id | 按规则 ID 移除 | |
--method | 把规则限定到指定的 HTTP 方法(逗号分隔);用 ANY 匹配所有方法 | |
--path | 把规则限定到指定的 HTTP 路径通配符(例如 /repos/);默认为 / | |
--query | 要求带某个 HTTP 查询参数(name=value 形式);可重复传入 | |
--resource | 按资源值移除,多个值用逗号分隔 | |
--sandbox | 把移除范围限定到指定沙箱(默认:全局策略) |
全局选项
| 选项 | 默认值 | 说明 |
|---|---|---|
--cloud | 改为调用 Docker Cloud Sandboxes API,而不是本地 sandboxd(支持的动词正在逐步增加,运行 sbx --cloud --help 查看当前列表) | |
-D, --debug | 启用调试日志 | |
--no-input | 从不提示;需要应答的命令会直接失败,并给出应当运行的命令 |
示例
console
# 列出规则以找到要移除的 ID 或资源
sbx policy ls --wide
# 按资源移除全局规则
sbx policy rm network --resource api.example.com
# 按 ID 移除全局规则
sbx policy rm network --id 2d3c1f0e-4a73-4e05-bc9d-f2f9a4b50d67
# 按资源移除限定沙箱范围的规则
sbx policy rm network --sandbox my-sandbox --resource api.example.com
# 按资源、方法和路径移除 HTTP 规则
sbx policy rm network --resource api.example.com --method GET --path '/v1/**'
# 从 allow 或 deny 列表中按模式移除云端规则
sbx --cloud policy rm network --resource api.example.com
# 从某个云端沙箱的规则中移除一个模式
sbx --cloud policy rm network --sandbox my-sandbox --resource api.example.com参见
sbx policy rm— 移除策略规则