我正在审查移动到服务网格的过程中。虽然Istio
和Consul Connect
肯定还在使用中,但我倾向于使用Linkerd
和SPIFFE/SPIRE
从一个较低的级别开始构建。
我想构建一个'hello world‘网格来测试这个架构。在这个hello world网格中,我希望能够从SPIFFE/SPIRE
颁发编码某种角色的证书。如你所知,我对网格服务是个新手。我该如何实现角色?有没有什么指南可以帮我入门?
发布于 2021-09-24 00:45:09
如果你想从头开始构建,你可能希望从特使开始,而不是LinkerD。Envoy and SPIRE之间的集成要紧密得多,当然,您必须自带控制平面。
SPIFFE坚持身份验证而不是授权。一旦验证了发送工作负载的ID,就由接收SPIFFE标识的连接或消息的工作负载来应用授权逻辑。ID应表示工作负载的逻辑标识,而不是其角色或授权。
也就是说,对于如何构造SPIFFE ID没有太多限制,并且ID可以以一种使后续授权更简单的方式进行构造。例如,您的SPIFFE ID可能如下所示:
spiffe://prod.acme.com/<group>/<application>/<service>
对于接收工作负载,如果要应用授权规则“允许来自支付组中任何服务的连接”,您只需允许任何匹配的连接即可:
spiffe://prod.acme.com/payments/.*
发布于 2021-09-23 16:25:03
所以没有任何与Linkerd和SPIFFE/SPIRE的集成。到目前为止,还没有任何特定的集成计划,但您可以查看existing issue以了解更多详细信息。Linkerd的下一个版本,2.11,将包括创建服务器端策略的能力,但当前版本不强制任何类型的策略设置。
https://stackoverflow.com/questions/69291974
复制相似问题