마이크로서비스 네트워크 내부에서는 단지 "내부"라는 이유로 네트워크를 신뢰할 수 없습니다. **zero-trust(제로 트러스트)**는 네트워크가 적대적이라고 가정하므로, 모든 호출이 인증되고 인가되며 트래픽은 mTLS로 암호화됩니다.
Mutual TLS(mTLS)
일반 TLS와 달리 양쪽 모두 인증서를 제시합니다. 각 서비스가 자신의 신원을 증명하고, 트래픽은 전송 중 암호화됩니다.
text
Service A ──cert──▶ Service B
Service A ◀─cert── Service B (양쪽이 서로의 신원을 검증)
→ 호출자가 인증되고 데이터가 암호화됨
service mesh는 앱 코드 변경 없이 mTLS를 자동으로 제공할 수 있습니다.
서비스 간 인가
신원(누가 호출하는가)과 정책(무엇을 할 수 있는가)을 결합합니다. 토큰(JWT)이나 SPIFFE 신원이 호출자의 신원을 전달합니다.
yaml
{ }
{ , }
