spiffe
weight: 47 title: SPIFFE date: ‘2022-05-21T00:00:00+08:00’ type: book
SPIFFE,即普适安全生产身份框架(Secure Production Identity Framework for Everyone
工作负载
工作负载是个单一的软件,以特定的配置部署,用于单一目的;它可能包括软件的多个运行实例,所有这些实例执行相同的任务。工作负载这个术语可以包含一系列不同的软件系统定义,包括:
- 一个运行
Python 网络应用程序的网络服务器,在一个虚拟机集群上运行,前面有一个负载均衡器。 - 一个
MySQL 数据库的实例。 - 一个处理队列中项目的
worker 程序。 - 独立部署的系统的集合,它们一起工作,例如一个使用数据库服务的网络应用程序。网络应用程序和数据库也可以单独被视为工作负载。
就
就
虽然工作负载的粒度会因环境而异,但就
SPIFFE ID
spiffe://acme.com/billing/payments
是一个有效的
spiffe://信任域/工作负载标识符
。
工作负载标识符是一个信任域内的特定工作负载的唯一标识。
信任域
信任域对应于系统的信任根。信任域可以代表个人、组织、环境或部门,运行他们自己独立的
通常建议将处于不同物理位置(如不同的数据中心或云区域)或应用不同安全实践的环境(如与生产环境相比的暂存或实验环境)的工作负载放在不同的信任域中。
SPIFFE 可验证的身份文件(SVID)
SVID(SPIFFE Verifiable Identity Document) 是工作负载向资源或调用者证明其身份的文件。如果
由于令牌容易受到重放攻击(replay attackX.509-SVID
。然而,在某些情况下,
关于
SPIFFE 工作负载API
工作负载
对于X.509
格式的身份文件(X.509-SVID
):
- 其身份,描述为
SPIFFE ID 。 - 一个与该
ID 绑定的私钥,可用于代表工作负载签署数据。一个相应的短期X.509 证书也将被创建,即X509-SVID
。这可以用来建立TLS 或以其他方式对其他工作负载进行认证。 - 一组证书——被称为信任包。一个工作负载用来验证另一个工作负载提出的
X.509-SVID
。
对于
- 其身份,描述为
SPIFFE ID JWT 令牌- 一组证书——被称为信任包,一个工作负载用来验证其他工作负载的身份。
与
然而,与这些其他
为了最大限度地减少密钥泄露的风险,所有私钥(和相应的证书)都是短期的,经常自动轮换。工作负载可以在相应的密钥过期前从工作负载
信任包
当使用 X.509-SVID
时,目标工作负载使用信任包(Trust Bundle)来验证源工作负载的身份。信任包是一个或多个证书机构(CA)根证书的集合,工作负载认为这些证书是可信的。信任包包含
用来验证