0

SPIFFE 规范中指出

由于处于早期阶段的工作负载可能不知道其身份或应该信任谁,因此很难确保对端点的访问安全。因此,SPIFFE 工作负载端点应该通过本地端点公开,并且实施者不应该将同一个端点实例公开给多个主机。

您能否解释一下这是什么意思以及 Istio 是如何实现的?

4

1 回答 1

1

实际上,Istio网格服务通过使用相同身份文档SVID的 Istio 安全机制采用 SPIFFE 标准策略。Istio Citadel是安全配置各种身份并提供凭证管理的关键组件。

在不久的将来,在 Istio 网格中使用Node Agent以通过 Envoy 秘密发现服务 (SDS) API 发现相关服务是可行的,这种方法与 SPIRE 设计非常相似。

SPIRE 设计的关键概念,在官方文档中有所描述,您可以在下面找到:

SPIRE 由两个组件组成,一个代理和一个服务器。

服务器提供 SPIFFE ID 的中央注册表,以及描述哪些工作负载有权使用这些身份的证明策略。证明策略描述了工作负载为了被分配身份而必须表现出的属性,通常被描述为进程属性(例如 Linux UID)和基础设施属性(例如在具有特定 EC2 的 VM 中运行)的混合标签)。

该代理在任何机器(或更正式地说,任何内核)上运行,并将本地工作负载 API 公开给需要检索 SPIFFE ID、密钥或信任包的任何进程。在 *nix 系统上,工作负载 API 通过 Unix 域套接字在本地公开。通过验证调用工作负载的属性,工作负载 API 避免了要求工作负载提供机密来进行身份验证。

SPIRE 承诺将成为工作负载身份验证机制的主要贡献者,但到目前为止,它仍处于开发阶段,希望未来在生产部署中实现。

于 2018-11-13T12:57:20.780 回答