Netflix 公开了他们在 Amazon EMR 上做工作负载认证的设计。这个问题很典型:一个 Spark 任务会有几千个执行器,如果每个都要单独向 AWS 认证一次,成本与故障率都不可接受。
他们的做法
控制平面签发负载元数据,结合 AWS STS 验证 IAM 身份,最后签发内部的 Metatron 短效证书。驱动节点做一次性认证,再通过加密 RPC 把凭据分发给执行器。
三个关键点
一是根身份落在工作负载,不是人。人只在提交任务时出现一次,之后整条链用的是「这个任务的身份」,权限按任务而非按人授予。
二是短效证书。长期 AK 是最大的泄漏面,短效证书让泄漏的窗口从「永久」缩到「几小时」。
三是分发走加密 RPC,不走环境变量或文件。环境变量会被日志打印、会被子进程继承,是最容易被忽视的泄漏路径。
为什么值得抄
零信任落地最难的从来不是理念,是「机器怎么认证机器」。人的认证有密码、有 MFA、有 SSO;工作负载的认证往往退化成「给个长期密钥塞进配置」。
Netflix 这套给出的是一个可复制的骨架:控制平面签发元数据,云厂商 STS 做背书,内部 CA 发短效证书,节点级一次性认证加加密分发。
实施顺序建议
先做「消除长期密钥」,把所有静态 AK 换成角色或联合身份。再做「工作负载身份」,给每个任务一个可验证的身份。最后做「短效证书与自动轮换」。
一句提醒
这套设计的前提是有可信的控制平面。控制平面被攻破,整条信任链就没了。所以控制平面的权限、审计、网络隔离,优先级要排在前面。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。