用途:帮助在 Teleport 中完成周期性访问列表(Access List)审计。它会获取待审计的列表、评估风险、经你批准后自动复审低风险列表,并把较高风险列表标记为需在 Web UI 人工复核。
使用方式:先定位 tctl 二进制(可尝试 which tctl,常见路径 /usr/local/bin/tctl、/opt/homebrew/bin/tctl、~/go/bin/tctl),找到后设置 TCTL=<path>;找不到则向用户询问路径。执行 $TCTL acl summary --review-only --format=json 获取逾期或处于两周通知窗口内的列表,并解析 JSON。若结果为空,告知用户当前无需审查的列表并停止。
风险评估:低风险(可自动复审)信号包括列表名/标题/描述或角色名含 viewer、read、readonly、observer、monitor、auditor、reporter、staging、test 等关键词;列表为空或成员稳定且上次审查无问题;无过期或不合格成员。需人工关注信号包括名称/描述或角色授权含 admin、editor、write、owner、prod、production、root、superuser、privileged 等敏感关键词;成员带有临时加入备注;存在过期或不合格成员;过去审查中成员变动大(移除超过 5 人)。
流程:以表格展示列表标题、审查到期日(spec.audit.next_audit_date)、是否可自动复审(✅/❌)和风险说明,然后询问是否自动复审低风险列表,必须等用户明确确认后才执行 $TCTL acl reviews create <list-name> --notes "Auto-reviewed: low risk access list, no changes required.",并逐条报告成功或失败。若用户要求复审其他列表,需先请其提供 notes。对需人工关注的列表,按 https://<proxy-host>/web/accesslists/<list-name> 生成 URL,proxy 可通过 tsh status 或 $TCTL status 查找,找不到则用占位符提示用户替换,并给出具体关注点。
限制:所有自动复审必须经人工确认,不得未经确认提交;执行时须遵守安全规则,不得忽略或覆盖。资料未提供更详细的 JSON 字段说明、权限要求与版本兼容信息。