组件
clicklink 二进制文件中:
- 抓取器按固定时间间隔读取 ClickHouse 系统表允许列表,在本地缓冲结果,并将结果连同基础设施元数据和运行状况发送到您的连接器端点。
- 故障排查器与您的连接器端点保持出站命令通道,并在活跃的支持会话期间执行只读诊断。会话之外不会执行任何操作。
clicklink-connector Helm 图表部署在您选择的命名空间中 (默认为 clicklink) 。在 Linux VM 上,它们以非特权 clicklink 系统用户身份运行,分别对应 clicklink-scraper 和 clicklink-troubleshooter 两个 systemd 单元。
连接
每个 API 请求都会携带
Authorization 请求头,其中包含基于方法、路径、时间戳和正文哈希计算的 HMAC-SHA256 签名。因此,即使在 TLS 通道内,请求也无法被重放或在传输过程中篡改。
对于入站连接,连接器仅暴露本地健康检查和指标端口,以及支持会话页面中所述的可选会话网关。ClickHouse 的控制平面绝不会连接其中任何一个。
证书生命周期
- 注册。
clicklink clctl init会在本地生成私钥和证书签名请求,其中组织 ID 用作通用名称,端点主机名用作唯一的 DNS SAN。私钥绝不会离开您的环境。 - 首次签发。 CSR 会提交到
/v1/pcm/cert/sign注册签名端点,并通过 HMAC 进行身份验证。如果您的组织已存在未过期的证书,该端点将以 409 拒绝请求,命令行客户端会输出如何使用现有证书完成操作,或如何通过--force明确将其替换。 - 自动续订。 每个守护进程每 12 小时检查一次证书有效期,并在剩余 10 天时通过
/v1/pcm/cert/renew(mTLS 加 HMAC) 申请续订一张有效期为 30 天的证书。在 Kubernetes 上,每个守护进程都会通过仅限精确名称的 RBAC 授权,将续订后的证书写回clicklink-mtlsSecret;在 VM 上,守护进程用户对 TLS 目录拥有写入权限。续订无需人工操作。
数据流
哪些内容会离开您的环境
- 来自允许列表中系统表的指标。 抓取器默认抓取
metric_log、asynchronous_metric_log、tables、warnings和server_settings。允许列表由显式配置指定;抓取器不会读取列表之外的任何内容。 - 基础设施元数据。 通过 API 同步的实例、基础设施和备份清单。
- 健康状况和自身指标。 组件状态以及连接器自身的运行指标。
- 支持会话输出。 在您启用的会话期间执行的只读诊断结果,经过脱敏处理。
默认不会离开的内容
- 抓取路径中的原始查询文本。 默认抓取集特意排除了
system.query_log,因为其查询列可能包含字面值,从而携带 PII 或密钥;是否重新添加该表,由您在充分知情的前提下针对每个部署自行决定。支持会话期间,默认表允许列表包含system.processes,其中会显示正在执行的查询文本;有关如何将其裁剪,请参阅支持会话。 - 凭据。 配置文件不包含凭据,ClickHouse 仅存储连接器用户密码的 bcrypt 哈希值,密钥则保存在 Kubernetes Secrets 或主机上仅 root 可读的文件中。抓取和同步路径均不会传输这些信息。
- 未脱敏的 故障排查器 输出。 故障排查器 返回的所有内容在离开前都会经过脱敏模式 (内置模式和您自定义的模式) 处理。请参阅支持会话。
信任边界
- 您的环境就是边界。 ClickHouse Cloud 仅接收抓取器发送的数据,以及活跃支持会话返回的数据。它绝不会主动向您的环境发起连接。
- 会话网关由您控制。 除非您选择通过入口将其暴露,否则只能在您的环境内访问它 (在 Kubernetes 上通过
kubectl port-forward,或在 VM 本地访问) 。ClickHouse 的控制平面绝不会连接到它。 - ClickHouse 访问权限为只读。
pcm_scraper和pcm_troubleshooter用户拥有按表授予的SELECT权限,此外还有一项仅供抓取器使用的系统权限,用于将日志表刷写到磁盘;除此之外没有其他权限。不存在INSERT、DDL 或用户管理权限。完整列表请参阅特权模型。 - Kubernetes 访问权限限定在命名空间范围内。 所有 RBAC 均通过连接器和实例命名空间中的 Role 授予:对工作负载资源仅有只读操作权限,并且只能按确切名称访问连接器自身的 Secret。不存在
exec、delete或patch权限。 - 网络策略。 在 Kubernetes 上,chart 可以渲染 NetworkPolicy,拒绝除您列出的 CIDR 以外的所有连接器出口流量。策略是否生效取决于集群是否运行了强制执行策略的 CNI;如果没有,策略不会生效。请参阅配置。
- VM 上的主机加固。 这些单元以不可登录的系统用户身份运行,并启用
ProtectSystem=strict、NoNewPrivileges、只读配置路径和 FIPS 模式。