SPIFFE¶
使用 SPIFFE 保护后端连接。
SPIFFE(Secure Production Identity Framework For Everyone,面向所有人的安全生产身份框架) 通过专门构造的 X.509 证书, 为环境中的每个工作负载提供安全身份。
Traefik 可以连接 Workload API,获取 X509-SVID,用于保护与启用了 SPIFFE 的后端之间的连接。
SPIFFE 可能导致 Traefik 停滞
使用 SPIFFE 时, Traefik 会等待收到第一个 SVID 后再启动。 如果 Traefik 在等待 SPIFFE 交付 SVID 时卡住, 请仔细检查它是否已在 SPIFFE 基础设施中正确注册为工作负载。
Workload API¶
要全局启用 SPIFFE,需要设置静态配置。workloadAPIAddr 选项指定 SPIFFE Workload API 的地址。
## Static configuration.
spiffe:
workloadAPIAddr: localhost## Static configuration
[spiffe]
workloadAPIAddr = "localhost"## Static configuration.
--spiffe.workloadAPIAddr=localhostServersTransport¶
启用 SPIFFE 并不意味着后端连接会自动使用它。 每个需要使用 SPIFFE 保护的 ServersTransport 或 TCPServersTransport,都必须显式启用此功能(参阅 ServersTransport 中的 SPIFFE 或 TCPServersTransport 中的 SPIFFE)。
配置示例¶
serversTransport:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2
trustDomain: "spiffe://trust-domain" [serversTransport.spiffe]
ids = [ "spiffe://trust-domain/id1", "spiffe://trust-domain/id2" ]
trustDomain = "spiffe://trust-domain"apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: mytransport
namespace: default
spec:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2