Traefik SPIFFE 문서
본문
SPIFFE
SPIFFE로 백엔드 연결을 보호해요.
SPIFFE (Secure Production Identity Framework For Everyone)는 환경 안의 모든 워크로드에 특별히 제작된 X.509 인증서 형태의 보안 신원(identity)을 제공해요.
Traefik은 Workload API에 연결해 X509-SVID를 획득하고, 이를 사용해 SPIFFE가 활성화된 백엔드와의 연결을 보호할 수 있어요.
SPIFFE가 Traefik을 멈추게 할 수 있어요
SPIFFE를 사용할 때 Traefik은 첫 SVID가 전달될 때까지 기다린 후 시작돼요. 만약 Traefik이 SPIFFE SVID 전달을 기다리면서 멈춰 있다면, 해당 인스턴스가 SPIFFE 인프라에 워크로드로 올바르게 등록되어 있는지 다시 한번 확인해 보세요.
Workload API
SPIFFE를 전역적으로 활성화하려면 정적 구성을 설정해야 해요. workloadAPIAddr 옵션은 SPIFFE Workload API의 주소를 지정해요.
파일 (YAML)
## 정적 구성.
spiffe:
workloadAPIAddr: localhost
파일 (TOML)
## 정적 구성
[spiffe]
workloadAPIAddr = "localhost"
CLI
## 정적 구성.
--spiffe.workloadAPIAddr=localhost
ServersTransport
SPIFFE를 활성화한다고 해서 백엔드 연결이 자동으로 이를 사용하는 것은 아니에요. SPIFFE로 보호하려는 각 ServersTransport 또는 TCPServersTransport는 명시적으로 활성화해야 해요 (SPIFFE with ServersTransport 또는 SPIFFE with TCPServersTransport 참고).
설정 예시
파일 (YAML)
serversTransport:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2
trustDomain: "spiffe://trust-domain"
파일 (TOML)
[serversTransport.spiffe]
ids = [ "spiffe://trust-domain/id1", "spiffe://trust-domain/id2" ]
trustDomain = "spiffe://trust-domain"
Kubernetes
apiVersion: traefik.io/v1alpha1
kind: ServersTransportTCP
metadata:
name: mytransport
namespace: default
spec:
spiffe:
ids:
- spiffe://trust-domain/id1
- spiffe://trust-domain/id2