Skip to content

Traefik SPIFFE 文档

SPIFFE

使用 SPIFFE 保护后端连接。

SPIFFE(Secure Production Identity Framework For Everyone,安全生产身份框架)为环境中的每个工作负载提供以特殊制作的 X.509 证书形式的安全身份。

Traefik 能够连接到 Workload API 以获取用于保护与启用 SPIFFE 的后端之间连接的 X509-SVID。

SPIFFE 可能导致 Traefik 阻塞

使用 SPIFFE 时,Traefik 将等待第一个 SVID 传递后再启动。如果 Traefik 在等待 SPIFFE SVID 传递时挂起,请仔细检查它是否已正确注册为 SPIFFE 基础设施中的工作负载。

Workload API

要全局启用 SPIFFE,你需要设置静态配置workloadAPIAddr 选项指定 SPIFFE Workload API 的地址。

File (YAML)

yaml
## 静态配置
spiffe:
    workloadAPIAddr: localhost

File (TOML)

toml
## 静态配置
[spiffe]
    workloadAPIAddr = "localhost"

CLI

bash
## 静态配置
--spiffe.workloadAPIAddr=localhost

ServersTransport

启用 SPIFFE 并不表示后端连接会自动使用它。打算使用 SPIFFE 保护的每个 ServersTransportTCPServersTransport 都必须显式启用它(参见 SPIFFE 与 ServersTransportSPIFFE 与 TCPServersTransport)。

配置示例

File (YAML)

yaml
serversTransport:
  spiffe:
    ids:
    - spiffe://trust-domain/id1
    - spiffe://trust-domain/id2
    trustDomain: "spiffe://trust-domain"

File (TOML)

toml
[serversTransport.spiffe]
  ids = [ "spiffe://trust-domain/id1", "spiffe://trust-domain/id2" ]
  trustDomain = "spiffe://trust-domain"

Kubernetes

yaml
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
  name: mytransport
  namespace: default

spec:
    spiffe:
      ids:
        - spiffe://trust-domain/id1
        - spiffe://trust-domain/id2

在生产环境使用 Traefik OSS?

如果你在工作中使用 Traefik,可以考虑为其添加企业级 API 网关能力或获取 Traefik OSS 的商业支持。

基于 MIT 协议发布