Secret(시크릿, 민감정보 관리 객체)
비밀번호, API 키, 인증서처럼 유출되면 안 되는 민감한 정보를 컨테이너 이미지나 코드에 그대로 노출하지 않고, 쿠버네티스가 별도로 안전하게 보관하다가 실행 시점에 필요한 컨테이너에만 주입해주는 객체입니다.
한눈에 보는 정의
Secret(시크릿, 민감정보 관리 객체)은 비밀번호, API 키, 인증서처럼 민감한 정보를 컨테이너 이미지에 노출하지 않고, 쿠버네티스가 안전하게 관리하다가 필요할 때 주입해주는 객체입니다.
자세히 알아보기
- 예문: "데이터베이스 비밀번호를 코드에 직접 적어두는 대신, Secret으로 등록해 컨테이너 실행 시점에 안전하게 전달받도록 했다."
- 환경설정 값을 다루는 ConfigMap(컨피그맵) (ConfigMap)과 구조는 비슷하지만, Secret은 값이 평문 그대로 노출되지 않도록 별도로 다뤄지고 접근 권한도 더 엄격하게 통제됩니다.
- 애플리케이션 코드나 이미지 안에 비밀번호를 직접 적어두면 소스 코드 유출 시 그대로 노출되지만, Secret으로 분리해두면 이런 위험을 크게 줄일 수 있습니다.
- 이렇게 관리되는 인증 정보가 실제로 안전하게 사용되려면, 애플리케이션 간 통신 구간 자체를 암호화하는 TLS(전송 계층 보안) (TLS) 같은 보안 조치도 함께 갖춰야 합니다.