위키득계정 ↗
기술

Sealed Secrets

Sealed Secrets기술
로컬 도구
kubeseal
클러스터 구성
복호화 컨트롤러
저장 리소스
SealedSecret
암호화 방식
비대칭 암호화
Sealed Secrets는 Kubernetes Secret을 암호화된 리소스로 관리하는 도구다. 로컬의 kubeseal로 암호화하고 클러스터 컨트롤러가 이를 복호화해 일반 Secret을 생성한다.

암호화된 정의와 실행용 Secret

배포 구성을 저장소에서 관리하더라도 비밀값을 같은 방식으로 다루기는 어렵다. Sealed Secrets는 비밀값을 암호화한 SealedSecret 리소스를 저장하고 대상 클러스터에서 사용할 Secret으로 바꾸는 구조다. 암호화된 배포 정의와 애플리케이션이 사용하는 실행용 객체가 구분된다.

클라이언트와 컨트롤러

kubeseal은 비대칭 암호화로 비밀값을 암호문으로 만든다. 클러스터 컨트롤러는 해당 암호문을 복호화하고 일반 Kubernetes Secret을 생성한다. 생성된 객체는 다른 Secret과 같은 방식으로 워크로드에서 참조할 수 있다. 암호화된 파일만 보유한 것과 복호화에 필요한 키를 보유한 것은 다른 상태다.

키와 접근 권한의 관리

암호화된 정의를 사용한다고 모든 비밀 관리 문제가 사라지는 것은 아니다. 복구에는 복호화 키가 관련되며 생성된 일반 Secret의 접근 권한도 중요하다. 암호문을 보관하는 저장소와 컨트롤러의 키, 클러스터 안에서 비밀값을 읽는 권한을 각각 관리해야 한다.

관련 문서

External Secrets Operator / SOPS / age 암호화