1

我正在审查转向服务网格的过程。虽然Istio并且Consul Connect肯定仍然存在,但我倾向于使用Linkerd和从较低的级别进行构建SPIFFE/SPIRE

我想构建一个“hello world”网格来测试这个架构。在这个 hello world 网格中,我希望能够从SPIFFE/SPIRE该编码某种角色中颁发证书。正如您可能知道的那样,我是服务网格的新手。我将如何实现角色?是否有任何指南可以帮助我入门?

4

2 回答 2

2

所以没有任何与 Linkerd 和 SPIFFE/SPIRE 的集成。截至目前,没有任何特定的集成计划,但您可以查看现有问题以获取更多详细信息。Linkerd 的下一个版本 2.11 将包括创建服务器端策略的能力,但当前版本不强制执行任何类型的策略设置。

于 2021-09-23T16:25:02.667 回答
1

如果您希望从头开始构建,您可能希望从 Envoy 而不是 LinkerD 开始。Envoy 和 SPIRE之间的集成更加紧密,当然您必须带上自己的控制平面。

SPIFFE 固执己见是关于身份验证而不是授权。一旦您对发送工作负载的 ID 进行了身份验证,就取决于工作负载接收 SPIFFE 识别的连接或消息来应用授权逻辑。ID 应该表示工作负载的逻辑身份,而不是其角色或权利。

也就是说,对于如何构建 SPIFFE ID 并没有太多限制,并且可以以一种使后续授权更简单的方式来构建 ID。例如,您可能有一个 SPIFFE ID,例如:

spiffe://prod.acme.com/<group>/<application>/<service>

对于接收工作负载可能会应用“允许来自支付组中的任何服务的连接”的授权规则,您只需允许任何匹配的连接:

spiffe://prod.acme.com/payments/.*
于 2021-09-24T00:45:09.460 回答