用途:回答“谁可以访问 X”“Y 能访问什么”,并判断访问是否被真正使用。命令 tctl access-review 接收 SELECT … FROM access_path 查询,按(身份,资源)返回解析后的访问级别、支撑该级别的授权、授权路径计数,以及在时间窗口内的使用次数与最后使用时间。
前置条件:需要 Teleport Identity Security 与 Access Graph;活动相关列(默认显示 24 小时窗口,可用 --from/--to 调整,或 --no-activity 跳过)还需 Identity Activity Center;用户需有查询 Access Graph 的权限。
使用方式:先定位 tctl 与 tsh 可执行文件(which tctl / which tsh,常见于 /usr/local/bin、/opt/homebrew/bin、~/go/bin),设置 TCTL、TSH 路径,并用 $TCTL access-review --help 验证。通过 $TSH status 确认目标集群,凭据不得为 [EXPIRED],多 profile 时须与用户确认审查哪个集群。示例:$TCTL access-review --from 90d --query "SELECT * FROM access_path WHERE resource ILIKE 'prod-db%'" --format json。
结果解读:每行一个(身份,资源),级别由高到低为 denied > standing > impersonate > request,尾随 * 表示临时访问。空行表示“该查询范围内无访问”,不代表集群内无任何访问。级别只是授权,不代表可连接——Access Graph 当前不解析 traits。结果受查询范围限制,活动则是路径无关的总使用量;unused 不等于可安全移除,需跨路径枚举全部授权后再下结论。输出可能被截断,勿从原始输出推导总数或唯一性,应缩小查询并用只读 jq 取计数或小样本。运行前应阅读 SECURITY.md、QUERY.md、EXPERIENCE.md、SCHEMA.md。完整参数见 $TCTL access-review --help。